我不確定這是否可能,但我認爲這值得提問。我已經想出瞭如何使用pdfstamper和acrofields方法來設置表單字體,但是我真的希望能夠在同一個字段中設置文本不同部分的字體。下面是我如何設置表單域的當前字體:使用iTextSharp設置表單字段的不同部分以使其具有不同的字體
// Use iTextSharp PDF Reader, to get the fields and send to the
//Stamper to set the fields in the document
PdfReader pdfReader = new PdfReader(fileName);
// Initialize Stamper (ms is a MemoryStream object)
PdfStamper pdfStamper = new PdfStamper(pdfReader, ms);
// Get Reference to PDF Document Fields
AcroFields pdfFormFields = pdfStamper.AcroFields;
//create a bold font
iTextSharp.text.Font bold = FontFactory.GetFont(FontFactory.COURIER, 8f, iTextSharp.text.Font.BOLD);
//set the field to bold
pdfFormFields.SetFieldProperty(nameOfField, "textfont", bold.BaseFont, null);
//set the text of the form field
pdfFormFields.SetField(nameOfField, "This: Will Be Displayed In The Field");
// Set the flattening flag to false, so the document can continue to be edited
pdfStamper.FormFlattening = true;
// close the pdf stamper
pdfStamper.Close();
我想什麼可以做,我設置文本上方設置了「這樣的:」大膽,離開「將在現場顯示「非粗體。我不確定這實際上是否可行,但我認爲這值得提問,因爲這對我目前的工作非常有幫助。
提前致謝!
它在哪裏區分字段形式的文本?它是如何知道將這個設置爲不同的字體? – Jake 2015-08-11 15:37:28
@Jake如果您在我的答案第12.7.4.3節中查看鏈接的PDF參考資料,您會看到完整的描述。它基本上是HTML的一個子集。 – 2015-09-28 18:18:57