2016-02-09 191 views
0

我正在CSharp上編寫一個簡單的程序。它的作用是,你寫一個文本(在一個richTextBox中),並將它的內容保存在特定路徑的.pdf中。現在,我希望用戶定位特定的單詞/短語,並且通過單擊按鈕,特定的單詞/短語將變爲粗體。這可能嗎 ??如果是的話,怎麼樣?iTextSharp上的粗體字

+0

你見過這個嗎? http://stackoverflow.com/questions/3497124/itextsharp-textfield-setting-the-font-to-bold看起來像改變字體名稱可能會幫助 –

+0

我不想讓所有的粗體字。我希望用戶能夠指定哪些詞將變爲粗體。 – blacklister

回答

1

首先,檢查了這一點:http://www.mikesdotnetting.com/article/81/itextsharp-working-with-fonts

基本上你需要做的是調用SetFieldProperty功能 你把你的舊PDF,編輯並提出了一個新的PDF用粗體文本框。

MemoryStream stream = new MemoryStream(); //Memory stream to with new pdf with changed bold text 
PdfReader pdfReader = new PdfReader("file.pdf"); //The original PDF 
PdfStamper stamper = new PdfStamper(pdfReader, stream); //A stamper to create the pdf 

SetFieldProperty("fieldName","textfont",BaseFont.COURIER_BOLD,null); //Change textbox properties 

SetField("fieldName","TEXT"); //Change field text 

stamper.Close(); //Save and close 
byte[] newFile = stream.ToArray(); //Here you have your new file with the bolded text 

此代碼會給你用黑體字

+0

我得到了這個錯誤:http://prntscr.com/a12psw – blacklister

+0

我展開我的安裝程序 – misha130

+0

您可能想要了解基礎知識並閱讀以下內容:http://developers.itextpdf.com/examples/itext-action-第二版/章節-8- – misha130

0

一個新的文件,我認爲你可以輸入一個HTML到iTextSharp的。這樣你可以使用html控制許多樣式屬性。例如:這是黑體文字。可以輸入爲:

This is <b>bold</b> text.

還可以使用HTML來定製這樣的文本樣式和顏色。雖然我沒有嘗試過使用itextsharp使用外部樣式表,但內聯樣式工作正常。