- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 OpenPDF 生成 PDF 发票报告。在 PDF 上,我必须在每一页上为页眉/页脚设置一个矩形 block 。我已使用 HeaderFooter
类在每个页面上添加页眉/页脚,但这仅适用于 Phrase
。
HeaderFooter header = new HeaderFooter(new Phrase("This is a Header."), false);
有什么方法可以使用 HeaderFooter
类为页眉/页脚设置具有高度和宽度的矩形 block ?
这就是我在每个页面上所期望的:
最佳答案
您可以通过创建自定义 PdfPageEvent
来做到这一点,只要新页面完成(onEndPage 事件),您就可以在其中添加元素。最简单的方法是在独立类或匿名类中扩展 PdfPageEventHelper
。首先,定义和设置矩形的样式。其次,使用回调内的 PdfWriter
将它们添加到页面。
这是一个展示如何操作的演示:
Document document = new Document(PageSize.A4, 40, 40, 200, 200);
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("output.pdf"));
// footer
final Rectangle footer = new Rectangle(30, 30, PageSize.A4.getRight(30), 180);
footer.setBorder(Rectangle.BOX);
footer.setBorderColor(Color.BLACK);
footer.setBorderWidth(2);
// header
final Rectangle header = new Rectangle(footer);
header.setTop(PageSize.A4.getTop(30));
header.setBottom(PageSize.A4.getTop(180));
// content-box
final Rectangle box = new Rectangle(footer);
box.setTop(document.top());
box.setBottom(document.bottom());
// create and register page event to add the rectangles
writer.setPageEvent(new PdfPageEventHelper() {
@Override
public void onEndPage(PdfWriter writer, Document document) {
PdfContentByte cb = writer.getDirectContent();
cb.rectangle(header);
cb.rectangle(footer);
cb.rectangle(box);
}
});
document.open();
document.add(new Paragraph(LOREM_IPSUM)); // just some constant filler text
document.close();
结果如下所示:
关于pdf - 使用 OpenPDF 的 PDF 每页上的矩形页眉和页脚 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64980765/
当我将表格添加到页面的页脚时,页脚会调整到合适的大小,但是,表格不会保留在该页脚内,而是位于页面顶部。 我创建了一个测试场景来说明我的意思。 public class TestClass {
我一直在尝试在 Scala 中重新实现 OpenPDF 1.2.4 和 1.2.11 中的连接示例: def mergePdfs(docs: Seq[Array[Byte]]): Array[Byte
我正在使用 OpenPDF 生成 PDF 文档,并将页眉和页脚图像添加到 PDF 中。需要将一个段落添加到 PDF 的中心,其中一些文本内容是基于输入请求的动态内容,并且所有内容都需要用边框包围。我能
我的公司需要实现一种在官方 PDF 上加盖电子印章的方法,以确保其完整性。我听一些同事说已经用OpenPDF完成了,但我在网上搜索目前还没有找到任何结果。 仅使用 OpenPDF 是否可以有效地实现这
我正在开发一个工具,用于生成代表评估结果的 PDF 文档。这些文档的结构以及一些文本和图像是由非技术用户定义的(这就是为什么不选择 Apache FOP 和 XSL 的原因之一)。 OpenPDF 似
我一直在尝试从 iText v5.5.11(许可版本)库迁移到 OpenPDF v1.2.8(开源) 库。我认为两者具有相似的功能。但是,iText 库中的 renderImage 函数在 OpenP
我在 Java 中使用 OpenPDF 1.3.20,想更改表格单元格中文本/段落的对齐方式。到目前为止,无论我尝试了什么,都改变了文本在任何地方的定位。 我只了解到添加为 table.addCell
我正在使用 OpenPDF 生成 PDF 发票报告。在 PDF 上,我必须在每一页上为页眉/页脚设置一个矩形 block 。我已使用 HeaderFooter 类在每个页面上添加页眉/页脚,但这仅适用
如何使用 OpenPDF 将 HTML 转换为 PDF ? 据我所知,OpenPdf 是 Itext 4 的一个分支。不幸的是我找不到 Itext 4 文档。 最佳答案 好吧,看来你不能只用 Open
我似乎有一个我无法自己解决的问题。 我正在使用 flysaucer-9.1.20 和 openpdf-1.3.22 从 XHTML 源生成 PDF。 我客户的 CI 要求 Verdana 作为他们所有
我是一名优秀的程序员,十分优秀!