[Java]利用itextpdf将多个多页的PDF合并为一个

2021-01-22 2686点热度 1人点赞 0条评论

在前一篇文章,介绍了如何将图片(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/

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论