java - 继续表格到下一个 PDF 页,并打印中间的文本

标签 java pdf itext

我不知道我想做的事情是否可能,而且对于一些非常微不足道的事情来说,这可能是太多的工作。我有一个创建 PDF 的 servlet。我正在使用 iText 写入创建的 pdf,在我的 pdf 中我有一个可以更改文档大小的动态表。每当需要转到下一页时,我想在文档底部打印“下一页继续”。问题是我永远不会知道文档中分页符发生在哪里。

如果可能的话,我非常乐意为此添加代码。另外,如果不清楚,请随时提问,谢谢。

编辑:可能是在自言自语,但我认为这是可能的唯一方法是是否有一种方法可以意识到刚刚创建了一个新页面。

最佳答案

您可以尝试在 pdf 生成器类中应用此代码段:

private static final float FOOTER_MARGIN = 15;
private static final float PAGE_MARGIN_LEFT = 36;
private static final float PAGE_MARGIN_RIGHT = 36;
private static final float PAGE_MARGIN_BOTTOM = 36 + FOOTER_MARGIN;
private static final float PAGE_MARGIN_TOP = 36;
private static final Rectangle PAGE_SIZE = PageSize.A4;

//Put this in your generator method
//..
Document document = new Document(PAGE_SIZE, 
         PAGE_MARGIN_LEFT, PAGE_MARGIN_RIGHT, PAGE_MARGIN_BOTTOM, MARGIN_TOP); 
PdfWriter writer = PdfWriter.getInstance(document, OUTPUT_STREAM); 
writer.setPageEvent(new HeaderFooter()); 
//..

private class HeaderFooter extends PdfPageEventHelper {

    @Override
    public void onEndPage(PdfWriter writer, Document document) {
        Phrase footerText = new Phrase("Continued On Next Page");
        ColumnText.showTextAligned(
                writer.getDirectContent(),
                Element.ALIGN_LEFT, footerText,
                PAGE_MARGIN_LEFT, PAGE_MARGIN_BOTTOM - FOOTER_MARGIN, 0);
    }
}

仅供引用,有一堆iText examples ,在您的情况下搜索页脚。希望这会有所帮助。

关于java - 继续表格到下一个 PDF 页,并打印中间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8854849/

相关文章:

java - 什么是层次结构监听器?

c# - 获取 PDF 文件中的超链接列表

php - 如何使用 PHP 制作 pdf 文件

java - 保护从 iTextPdf 生成的 PDF

java - 我们可以使用 iText 压缩 PDF 文件大小吗?

java - 如何将应用程序构建为多个项目以及如何在 Java 中命名包?

java - 在浏览器中测量下载和上传速度

java - 我怎样才能将只有一个值的列表传递给另一种方法不那么冗长

c# itextsharp PDF 创建在每页上带有水印

java - 我们的加密 PDF 被黑了