使用PDFBox合并Pdf文件

我必须使用Apache的PdfBox合并两个pdf文件。 我已经采用了物理pdf文件。 以下是代码:

PDFMergerUtility ut = new PDFMergerUtility(); ut.addSource(path1); ut.addSource(path2); ut.setDestinationFileName(path3); ut.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly()); 

文件合并完美但后面有一些约束如下:

  1. 我在代码本身创建第一个文件,所以它是PDDocument对象。
  2. 我必须与第一个文件合并的文件是字节数组格式。
  3. 我不需要保存合并的文件,但需要将其转换为字节数组。

请任何人帮助我达到这个要求。

调用PDFMergerUtility.appendDocument(PDDocument destination, PDDocument source)而不是合并。 要从字节数组加载,请调用PDDocument.load(array)

顺便说一句 :我不鼓励合并您自己创建的PDDocument对象,如果您有字体子集,则会失败(请参阅问题PDFBOX-3243 )。 更好地保存它们(例如在ByteArrayOutputStream )并重新加载然后合并。 要从ByteArrayOutputStream获取字节数组,请使用ByteArrayOutputStream.tobytearray()