失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Java使用iText PDF合并PDF(将多个PDF合并成一个PDF)

Java使用iText PDF合并PDF(将多个PDF合并成一个PDF)

时间:2020-03-31 07:45:19

相关推荐

Java使用iText PDF合并PDF(将多个PDF合并成一个PDF)

1 配置pom文件

我用的是5.4.3的版本

<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.4.3</version></dependency>

2 合并PDF代码

/*** @author Reverse_XML* 将多个PDF合并成一个PDF* @param files 源PDF路径* @param outputPath 合并后输出的PDF路径* @param outputFileName 合并后输出的PDF文件名*/public static void mergePDF(String[] files, String outputPath, String outputFileName) {String sep = java.io.File.separator;Document document = null;PdfCopy copy = null;PdfReader reader = null;try {document = new Document(new PdfReader(files[0]).getPageSize(1));copy = new PdfCopy(document, new FileOutputStream(outputPath + sep +outputFileName));document.open();for (int i = 0; i < files.length; i++) {reader = new PdfReader(files[i]);int numberOfPages = reader.getNumberOfPages();for (int j = 1; j <= numberOfPages; j++) {document.newPage();PdfImportedPage page = copy.getImportedPage(reader, j);copy.addPage(page);}}} catch (IOException e) {log.error(e.getMessage(), e);} catch (DocumentException e) {log.error(e.getMessage(), e);} finally {if (document != null)document.close();if (reader != null)reader.close();if (copy != null)copy.close();}}

3 调用示例

将test1.pdf 和 test2.pdf 合并成一个merge.pdf

public static void main(String[] args) {String[] files = {"D:\\inputPath\\test1.pdf", "D:\\inputPath\\test2.pdf"};String outputPath= "D:\\outputPath";String outputFileName ="merge.pdf";try {PDFUtils.mergePDF(files,outputPath,outputFileName);} catch (Exception e) {log.error(e.getMessage(), e);}}

4 官网

如果觉得《Java使用iText PDF合并PDF(将多个PDF合并成一个PDF)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。