gpt4 book ai didi

java - 将完整的 PDF 文件附加到 FOP PDF

转载 作者:行者123 更新时间:2023-12-02 07:36:50 26 4
gpt4 key购买 nike

我已经创建了一个 xml 文件,并将其呈现为通过 servlet 发送的 PDF:

TraxInputHandler input = new TraxInputHandler(
new File(XML_LOCATION+xmlFile+".xml"),
new File(XSLT_LOCATION)
);
ByteArrayOutputStream out = new ByteArrayOutputStream();

//driver is just `new Driver()`
synchronized (driver) {
driver.reset();
driver.setRenderer(Driver.RENDER_PDF);
driver.setOutputStream(out);
input.run(driver);
}

//response is HttpServletResponse
byte[] content = out.toByteArray();
response.setContentType("application/pdf");
response.setContentLength(content.length);
response.getOutputStream().write(content);
response.getOutputStream().flush();

这一切都工作得很好。

但是,我现在有另一个 PDF 文件需要包含在输出中。这只是给我的一个完全独立的 .pdf 文件。有什么方法可以将此文件附加到响应、驱动程序、out 或其他任何内容中,以将其包含在对客户端的响应中?这还能用吗?或者我还需要做些什么吗?

最佳答案

我们还使用 FOP 生成一些文档,并接受上传的文档,最终将所有这些文档合并为一个 PDF。

您不能只是按顺序将它们发送出流,因为组合结果需要正确的 PDF 文件头、元数据等。

我们使用 iText library合并文件,从

开始
PdfReader reader = new PdfReader(/*String*/fileName);
reader.consolidateNamedDestinations();

我们稍后会循环将每个 pdf 中的页面添加到新的组合目标 pdf 中,同时调整书签/页码。

据我所知,FOP 不提供此类功能。

关于java - 将完整的 PDF 文件附加到 FOP PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12101407/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com