2013-04-18 119 views
1

我已經使用'open office writer'創建了一個pdf模板並填充了iText的字段。在這樣的僞代碼中:如何使用iText格式化pdf模板中的文本

PdfReader reader = new PdfReader("C:/temp/Template.pdf"); 
FileOutputStream fileOutputStream = new FileOutputStream("C:/temp/TemplateTest.pdf"); 
PdfStamper stamper = new PdfStamper(reader, fileOutputStream); 
stamper.setFormFlattening(true); 
stamper.getAcroFields().setField("description", "This is a important description."); 

stamper.close(); 

現在我只想在'description'文本中加'bold'這個詞。我該如何處理?是否可以使用iText和子字符串更改pdf模板中的給定格式?

回答

1

您已經定義了PDF文本字段以及應該用於該文本字段的字體,例如,黑體。在這種情況下,您只能使用該字體。您不能引入其他字體,如Helvetica-Bold。

您正在尋找的不是一個文本字段,而是一個富文本字段。在這種情況下,您可以設置一個Rich Text值。此Rich Text值看起來非常像HTML,但略有不同。您可以參考ISO-32000-1瞭解它的不同之處。

你可以用iText填寫一個Rich Text字段,但是......只有當你不把表格弄平。因爲如果你想iText渲染特殊風格的HTML,你需要代碼來解析HTML。實際上:這就是我們在XFA Worker中所做的,但是這對你沒有幫助,因爲你沒有XFA表單,你有一個AcroForm。長篇故事:閱讀我的書的第8章,你會發現一個例子,我使用ColumnText和字段位置填寫字段。如果你沒有這本書,請看MovieAds的例子。

相關問題