我正在创建一个系统,使用 ByteArrayOutputStream 和 PdfWriter 在servlet中使用iText for Java动态创建PDF,以防止文件系统使用 .
一旦动态内容完成,我希望能够将一些现有的PDF文件页面附加到动态创建的PDF的末尾 .
我查看了使用iText连接PDF的示例代码,他们使用 PdfCopy 来完成此任务 . PdfCopy 的一个重要假设是所有连接的文件都存在于文件系统中 .
是否可以将现有文件连接到内存PDF的末尾,以 ByteArrayOutputStream 形式存在?
在此期间,我使用了临时文件作为初始动态文档,但是如果可能的话,我想删除该依赖项 .
谢谢,
艾伦
2 回答
您假设您只能使用文件路径创建
PdfReader
实例 . 这个假设是错误的 . 见the API documentation . 如果baos
是您的ByteArrayOutputStream
,您可以轻松地创建您的阅读器实例,如下所示:有一个
InputStream
(不同的文档)列表,你可以用这种方式将它们附加到OutputStream
中(基于this):