使用OpenPDF合并Java中的PDF
时间:2020-01-09 10:35:34 来源:igfitidea点击:
在这篇文章中,我们将看到一个使用OpenPDF库合并PDF的Java程序。
OpenPDF是具有LGPL和MPL许可证的开源软件。要了解有关OpenPDF库和PDF示例的更多信息,请查看此文章。使用OpenPDF教程在Java中生成PDF。
使用OpenPDF合并PDF
- 要合并文档,我们需要使用PDFCopy类来复制PDF文档。
- 使用PDFReader打开源PDF,并使用PDFCopy类的getImportedPage()方法从PDF获取页面。
以下Java程序显示了如何使用OpenPDF合并两个PDF文档。
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.pdf.PdfCopy;
import com.lowagie.text.pdf.PdfImportedPage;
import com.lowagie.text.pdf.PdfReader;
public class PDFMerge {
public static final String MERGED_PDF = "F://theitroad//result//OpenPDF//Merged.pdf";
public static void main(String[] args) {
try {
// Source PDFs as a list
List<String> fileList = Arrays.asList("F://theitroad//PDF1.pdf", "F://theitroad//PDF2.pdf");
Document doc = new Document();
// Output stream to target PDF document
PdfCopy copy = new PdfCopy(doc, new FileOutputStream(MERGED_PDF));
doc.open();
// Iterate through PDF files.
for(String filePath : fileList) {
PdfReader pdfreader = new PdfReader(filePath);
int n = pdfreader.getNumberOfPages();
PdfImportedPage page;
// go through pages of PDF to copy
// all the pages to the target PDF
for (int i = 1; i <= n; i++) {
// grab page from input document
page = copy.getImportedPage(pdfreader, i);
// add content to target PDF
copy.addPage(page);
}
copy.freeReader(pdfreader);
}
doc.close();
copy.close();
} catch (DocumentException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

