在前一篇文章,介绍了如何将图片(JPG,PNG,TIF多页文件)文件合并为一个PDF,并输出到web网页或文件。
本次介绍如何将多个PDF(包含多页)合并输出为一个PDF(输出为web网页也一样,只要把OutputStream改成ByteArrayOutputStream并返回bytes就可以了)
首先引入itextpdf依赖,编辑pom.xml,增加如下dependency
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.2</version>
</dependency>
下面直接上方法:
public static void mergePdf(File[] pdfFiles) throws Exception {
Document document = new Document();
document.setMargins(0, 0, 0, 0);
// ByteArrayOutputStream bos = new ByteArrayOutputStream();
OutputStream bos = new FileOutputStream("/path/to/dest_pdf_file.pdf");
PdfCopy copy = new PdfCopy(document, bos);
document.open();
for (File file : pdfFiles) {
PdfReader reader = new PdfReader(file.getAbsolutePath());
copy.addDocument(reader);
copy.freeReader(reader);
reader.close();
}
document.close();
}
如何将图片(JPG,PNG,TIF多页文件)文件合并为一个PDF,并输出到web网页或文件,请移步:https://blog.terrynow.com/2021/01/20/spring-springboot-output-pdf-from-jpg-png-tif-images/