将pdf合并为一个pdf

时间:2016-08-18 20:51:52

标签: java pdf bytearray

我有一个网络应用程序,我正在更改为使用EMC2中的xPressions。有一点,xPressions在java servlet中返回一个pdf文档。在我们添加xPressions之前,我们会将其中几个pdf合并为一个大型pdf并将其发送回用户/屏幕。但xPressions一次只能处理一个pdf。它将pdf作为byte []数组返回。所以我试图找到一种方法来获取byte []数组并将它们组合成一个大的pdf以发送回用户/屏幕。在我们使用xPressions之前,我们使用旧版本的Big Faceless(bfo.com)将各个pdf合并到servlet中的一个pdf中。我无法使用旧的bfo.com软件将byte []数组转换为有效的pdf。我已经在Google上搜索了这里的堆栈溢出以寻找另一种技术。我发现答案很接近,但大多数都是使用Linux或c#。此外,这些pdf是在java servlet中创建的,并且不存在于我可以读取它们并转换它们的硬盘驱动器上。我必须使用byte []数组并使用它。那么,有没有人对我有任何想法?提前谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用PDFBox合并您的pdf文件。 PDFMergerUtility类有一个方法addSource,它接收一个输入流,你可以将字节数组转换为输入流并将其作为源添加。

PDFMergerUtility merger = new PDFMergerUtility();
merger.addSource(...);
merger.addSource(...);
merger.setDestinationFileName(...);
merger.mergeDocuments();