Java代码如何合并PDF文件呢?
下文笔者讲述java代码合并PDF文件的方法分享,如下所示
合并PDF的实现思路
1.引入相应的MAVEN依赖 2.使用PdfCopy相关方法即可实现pdf合并例
maven 依赖 <!-- https://mvnrepository.com/artifact/com.lowagie/itext --> <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>4.2.2</version> </dependency> package com.java265.Controller; import java.io.FileOutputStream; import com.itextpdf.text.Document; import com.itextpdf.text.pdf.PdfCopy; import com.itextpdf.text.pdf.PdfImportedPage; import com.itextpdf.text.pdf.PdfReader; public class MergeFile { public static void main(String[] args) { String[] files = { "D:\\1.pdf", "D:\\2.pdf" , "D:\\3.pdf"}; String savepath = "D:\\temp\\tempNew.pdf"; Boolean bool = mergePdfFiles(files, savepath); System.out.println(bool); } /* * 合并pdf文件 * @param files 要合并文件数组(绝对路径如{ "D:\\1.pdf", "D:\\2.pdf" , * "D:\\3.pdf"}),合并的顺序按照数组中的先后顺序,如2.pdf合并在1.pdf后。 * @param newfile 合并后新产生的文件绝对路径,如 D:\\temp\\tempNew.pdf, * @return boolean 合并成功返回true;否则,返回false * */ public static boolean mergePdfFiles(String[] files, String newfile) { boolean retValue = false; Document document = null; try { document = new Document(new PdfReader(files[0]).getPageSize(1)); PdfCopy copy = new PdfCopy(document, new FileOutputStream(newfile)); document.open(); for (int i = 0; i < files.length; i++) { PdfReader reader = new PdfReader(files[i]); int n = reader.getNumberOfPages(); for (int j = 1; j <= n; j++) { document.newPage(); PdfImportedPage page = copy.getImportedPage(reader, j); copy.addPage(page); } } retValue = true; } catch (Exception e) { System.out.println(e); } finally { System.out.println("执行结束"); document.close(); } return retValue; } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。