使用iText PDF library,是否可以自由地(如CSS中的“position:absolute”)在页面上插入叠加文本或其他元素,以便它在所有现有元素之上呈现?
提前感谢所有帮助和提示。
答案 0 :(得分:4)
查看PDFStamper。它可能正是您正在寻找的。 p>
这是教程。 http://itextdocs.lowagie.com/tutorial/general/copystamp/#pdfstamper
答案 1 :(得分:4)
是的,绝对。一切都必须绝对定位于PDF,因此进行文本流,对齐等需要更多的工作。如果你问的话,iText会为你做所有这些,但它还有更多工作要做。
正如Suvesh指出的那样,PdfStamper
非常适合对现有PDF进行更改。添加绝对定位的文本非常简单。
也可以在iText中从头开始构建PDF格式的文本。
在任何一种情况下,您都需要获得PdfContentByte
。在PdfStamper
,您可以致电getOverContent(pageNum)
或getUnderContent(pageNum)
。使用PdfWriter,您只需拨打getOverContent()
或getUnderContent()
即可。
使用PdfWriter,您只需要获得一次或多于PdfContentByte。每次启动一个新页面时,它都会将所有内容都删除并重置该对象,为下一页做好准备。
OTOH,在您致电doc.close()
之前,它不会开始构建页面,因此您需要使用PdfPageEvent
(我建议从PdfPageEventHelper
派生)来在页面上书写'生成......不是你用PdfStamper会遇到的问题。