iText - вставка наложенного текста поверх всех элементов - PullRequest
2 голосов
/ 11 июня 2009

Используя библиотеку iText PDF , можно свободно (например, "position: absolute" в CSS) вставлять наложенный текст или другие элементы на страницу, чтобы она отображалась поверх всех существующих элементов

Спасибо за всю помощь и советы заранее.

Ответы [ 2 ]

4 голосов
/ 02 ноября 2010

Да, абсолютно . Все должно быть абсолютно позиционировано в PDF, поэтому выполнение потока текста, выравнивание и т. Д. Требует больше работы. iText делает все это за вас, если вы спросите, но это еще больше работы.

Как указал Сувеш, PdfStamper отлично работает для внесения изменений в существующий PDF. Добавить абсолютно позиционированный текст довольно просто.

Также можно размещать текст абсолютно в PDF-файле, который вы создаете с нуля в iText.

В любом случае вам нужно получить PdfContentByte. В PdfStamper вы звоните getOverContent(pageNum) или getUnderContent(pageNum). С PdfWriter вы просто звоните getOverContent() или getUnderContent().

С помощью PdfWriter вам нужно только один раз получить значение over или under PdfContentByte. Каждый раз, когда он запускает новую страницу, он высасывает весь контент и сбрасывает объект, готовый к следующей странице.

OTOH, он не начинает строить страницы, пока вы не позвоните doc.close(), поэтому вам нужно использовать PdfPageEvent (я рекомендую наследовать от PdfPageEventHelper) для записи на страницах по мере их создания ... с PdfStamper проблем не возникнет.

4 голосов
/ 11 июня 2009

Проверьте PDFStamper. Это может быть именно то, что вы ищете.

Вот учебник. http://itextdocs.lowagie.com/tutorial/general/copystamp/#pdfstamper

...