PDF合并

118 阅读1分钟

1、添加依赖

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext7-core</artifactId>
    <version>7.2.2</version>
    <type>pom</type>
</dependency>

2、Java代码

import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.utils.PdfMerger;
import lombok.extern.slf4j.Slf4j;

import java.io.IOException;

/**
 * 双层PDF处理工具类
 */
@Slf4j
public class PdfMergerUtil {
    /**
     * 合并PDF
     *
     * @param srcPdf 源文件
     * @param outPdf 合并后文件
     */
    public static String pdfMerger(String[] srcPdf, String outPdf) {
        try (PdfDocument pdf = new PdfDocument(new PdfWriter(outPdf))) {
            PdfMerger merger = new PdfMerger(pdf);

            for (String file : srcPdf) {
                PdfDocument sourcePdf = new PdfDocument(new PdfReader(file));
                merger.merge(sourcePdf, 1, sourcePdf.getNumberOfPages());
                sourcePdf.close();
            }
        } catch (IOException ioe) {
            log.error("PDF合并异常:{}", ioe.getMessage());
            return null;
        }
        return outPdf;
    }


}