FlyingSaucer 调用 setDocumentFromString(html) 后合并 PDF 文档

问题描述 投票:0回答:1

我正在使用 FlyingSaucer 从 HTML 创建 PDF。它运行良好,但我想将另一个 PDF 附件作为单独的页面(或多个页面)附加(合并)到其中。 附件将是 PDF。

我现有的代码:

org.xhtmlrenderer.pdf.ITextRenderer render = new org.xhtmlrenderer.pdf.ITextRenderer();
render.setDocumentFromString("<!--?xml version='1.0' encoding='utf-8'?--><html><body>Some text</body></html>");
render.layout();
ByteArrayOutputStream out = new ByteArrayOutputStream();
render.createPDF(out);

附件应位于新的 PDF 页面上。

查看 Flying Saucer 的示例,似乎我应该能够做这样的事情:

final File outputFile = File.createTempFile("FlyingSaucer.PDFRenderToMultiplePages", ".pdf");
try (OutputStream os = newOutputStream(outputFile.toPath())) {

    ITextRenderer renderer = new ITextRenderer();

    // we need to create the target PDF
    // we'll create a page with HTML input string
    renderer.setDocumentFromString(htmlStr);
    renderer.layout();
    renderer.createPDF(os, false);

    // now append the existing PDF
    renderer.setDocument...? // how to read and add the PDF file here
    renderer.layout();
    renderer.writeNextDocument();
}

// complete the PDF
renderer.finishPDF();
itext flying-saucer
1个回答
0
投票

在 FlyingSaucer 的 Github 存储库的示例文件夹中,有一个针对此用例的 Flying Saucer 示例。

参见:

© www.soinside.com 2019 - 2024. All rights reserved.