itext pdf 标题
我正在使用 iText 5.0.5 创建一个 pdf 输出。
我正在从数据库中以字节形式读取数据,然后使用 HTMLWorker 将其添加到文档中以生成 pdf。
但我无法在该 pdf 文档的每个页面上添加页眉。
请帮忙。
i am creating one pdf output using iText 5.0.5.
I am reading the data in the form of bytes from database and then adding it to the document using HTMLWorker to generate pdf.
BUt i am not able to add header on each paage for that pdf document.
please help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
1)最新的iText是5.0.6。
2) 要创建页眉和页脚,您需要使用
PdfPageEvent
接口。这通常是通过派生自PdfPageEventHelper
,并仅覆盖您需要的方法。在
PdfPageEvent
中,您必须使用PdfContentByte
绘制到 PDF。好消息是,您可以使用 ColumnText 将对齐文本添加到给定的边界框中,并且它会为您处理换行符。如果您的 header & 则效果不太好。页脚是 HTML 格式的。为此,你必须进行一些迂回的黑客攻击。
1) 创建一个新的 Document/PdfWriter,其页边距与页眉的大小(高度和宽度)相匹配。
2) 将所有标题 HTML 渲染到该页面中。
3)保存pdf。
4)将该 PDF 页面导入到您的其他文档中,并如下绘制:
1) The latest iText is 5.0.6.
2) To create a page header and footer, you need to use the
PdfPageEvent
interface. This is generally done by deriving fromPdfPageEventHelper
, and overriding just the methods you need.In the
PdfPageEvent
, you must draw to the PDF using aPdfContentByte
. The good news is that you can use aColumnText
to add aligned text into a given bounding box, and it'll handle line breaks for you.This won't work so well if your header & footer are in HTML. For that you'll have to do some round-about hackery.
1) Create a new Document/PdfWriter with page margins matching the size (height & width) of your header.
2) Render all the header HTML into that page.
3) save the pdf.
4) Import that PDF page into your other document, and draw it thusly: