• Java 中将多个 PDF 文件合并为一个 PDF


    一.前言

    我们将从以下两个方面向您展示如何将多个PDF文件合并为一个PDF:
    1. 将文件中的多个 PDF 合并为单个 PDF
    2. 将流中的多个 PDF 合并为单个 PDF

    1. 了解 Spire.PDF 库

    要在 Java 中合并 PDF 文件,我们将使用Spire.PDF 库。Spire.PDF for Java 是一个 PDF API,使 Java 应用程序能够在不使用 Adob​​e Acrobat 的情况下读取、写入和保存 PDF 文档。它提供了用于操作 PDF 文件的广泛功能,包括将多个 PDF 文件合并到单个文档中。

    在我们使用 Spire.PDF 合并 PDF 文件之前,我们需要将其依赖项添加到我们的 Java 项目中。我们可以通过向 Maven 项目添加以下依赖项来实现此目的:

    <repositories>
        <repository>
            <id>com.e-iceblueid>
            <name>e-icebluename>
            <url>https://repo.e-iceblue.com/nexus/content/groups/public/url>
        repository>
    repositories>
    
    <dependencies>
        <dependency>
            <groupId>e-icebluegroupId>
            <artifactId>spire.pdfartifactId>
            <version>9.5.6version>
        dependency>
    dependencies>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    2.将文件中的多个 PDF 合并为单个 PDF

    1. 获取要合并的文档的路径并将其存储在 String 数组中。
    2. 使用PdfDocument.mergeFiles()方法合并选定的 PDF 文件。
    3. 使用PdfDocumentBase.save()方法保存 PDF 文档。
    import com.spire.pdf.*;
    
    public class mergePDF {
    
        public static void main(String[] args) throws Exception {
    
            //Get the paths of the documents to be merged
            String[] files = new String[] {
                    "D:\\sample.pdf",
                    "D:\\sample1.pdf"};
    
            //Merge documents and return an object of PdfDocumentBase
            PdfDocumentBase pdf = PdfDocument.mergeFiles(files);
    
            //Save the result to a PDF file
            pdf.save("MergedPDF.pdf", FileFormat.PDF);
    
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    3.将流中的多个 PDF 合并为单个 PDF

    从流中加载 PDF 并将其合并为新的 PDF 是处理多个 PDF 文档而无需将它们保存到磁盘的便捷有效的方法。当处理您不想存储在本地驱动器上的大型或敏感文件时,此方法特别有用。Spire.PDF还支持从流中加载PDF,然后将它们组合成一个新的PDF文件。

    1. 获取 PDF 流的路径,然后将它们存储到FileInputStream数组中。
    2. 使用PdfDocument.mergeFiles()方法合并选定的 PDF 文件。
    3. 使用PdfDocumentBase.save()方法保存 PDF 文档。
    import com.spire.pdf.*;
    import java.io.*;
    
    public class mergePDFbyStream {
    
        public static void main(String[] args) throws Exception {
    
            FileInputStream stream1 = new FileInputStream(new File("sample.pdf"));
            FileInputStream stream2 = new FileInputStream(new File("sample1.pdf"));
    
            InputStream[] streams = new FileInputStream[]{stream1, stream2};
    
            //Merge these documents and return an object of PdfDocumentBase
            PdfDocumentBase pdf = PdfDocument.mergeFiles(streams);
    
            //Save the result to a PDF file
            pdf.save("MergedPDF.pdf", FileFormat.PDF);
    
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
  • 相关阅读:
    Cookie:实现网站十天内免密登录
    MySQL索引
    mysql里的主从复制
    SpringBoot:整合监听器/过滤器和拦截器
    DHCPsnooping 配置实验(1)
    创新案例 | 本地生活服务数字化,高德品牌升级的增长战略
    springboot基于Android的考试互助APP的设计与实现毕业设计源码250910
    【Fiddler】安卓7.0以上添加Fiddler/Charles证书到系统根证书(模拟器-雷电)
    java毕业设计基于的药品销售系统Mybatis+系统+数据库+调试部署
    JUC笔记(三) --- 线程的通信
  • 原文地址:https://blog.csdn.net/mcband/article/details/132896923