使用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(); } } }