2013-04-18 3 views
1

Я создал шаблон в формате pdf с открытым текстом и заполнил поля iText. В псевдокоде, как это:Как форматировать текст в формате pdf с помощью iText

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(); 

Теперь я просто хочу слово «важный» в «описании» текст жирным. Как я могу справиться с этим? Можно ли изменить данный формат в pdf-шаблоне с iText и подстроками?

ответ

1

Вы определили текстовое поле в формате PDF вместе с шрифтом, который должен использоваться для этого текстового поля, например. Helvetica. В этом случае вы можете использовать только этот шрифт. Вы не можете ввести другой шрифт, например, Helvetica-Bold.

Что вы ищете, это не текстовое поле, а поле с большим текстом. В этом случае вы устанавливаете значение Rich Text. Это значение Rich Text очень похоже на HTML, но немного отличается. Вы можете проконсультироваться с ISO-32000-1, чтобы узнать, что с ним связано.

Вы можете заполнить поле Rich Text с помощью iText, но ... только если вы не сгладите форму. потому что если вы хотите, чтобы iText отображал специальный HTML-код, вам нужен код для анализа этого HTML-кода. На самом деле: это то, что мы делаем в XFA Worker, но это не поможет вам, потому что у вас нет формы XFA, у вас есть AcroForm.

Короткий рассказ: прочитайте главу 8 моей книги, и вы найдете пример, где я заполняю поля, используя ColumnText и позиции поля. Если у вас нет книги, взгляните на пример MovieAds.

Смежные вопросы