Itext7-合并PDF而没有分页符

时间:2018-07-09 10:27:51

标签: itext7

是否可以将多个pdf文件合并为一个pdf而无需分页符? 例如-合并1.pdf(包含2页,但内容仅散布在1个半页面上)和2.pdf(包含3页)。合并的文档应确保第一个pdf的内容一结束,第二个pdf的内容就应开始。它不应该从下一页开始。

我正在使用的当前代码是-

File mergedDoc = new File("MergedResponse.pdf");
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(mergedDoc));
Document document = new Document(pdfDoc);

Map<Integer, PdfDocument> filesToMerge = new TreeMap<Integer, PdfDocument>();

//String[] files - contains the location and name of files to be merged 
for (int i = 0; i < files.length; i++) {
        filesToMerge.put(i, new PdfDocument(new PdfReader(files[i])));
}

for (Map.Entry<Integer, PdfDocument> entry : filesToMerge.entrySet()) {
int n = entry.getValue().getNumberOfPages();
for (int i = 1; i <= n; i++) {
        entry.getValue().copyPagesTo(i, i, pdfDoc);
}
}

我还尝试使用以下代码进行合并-

File mergedDoc = new File("MergedResponse.pdf");
PdfDocument pdf = new PdfDocument(new PdfWriter(mergedDoc));
PdfMerger merger = new PdfMerger(pdf);

PdfDocument firstSourcePdf = new PdfDocument(new PdfReader(files[0]));
        merger.merge(firstSourcePdf, 1, firstSourcePdf.getNumberOfPages());

//Add pages from the second pdf document
PdfDocument secondSourcePdf = new PdfDocument(new PdfReader(files[1]));
merger.merge(secondSourcePdf, 1, secondSourcePdf.getNumberOfPages());

firstSourcePdf.close();
secondSourcePdf.close();

但是这两个代码都会生成合并pdf,其中第二个文档从新页面开始,而不仅仅是紧随第一个文档的结尾。

感谢您的帮助。

0 个答案:

没有答案