您的位置 首页 java

Java 创建、检测和提取PDF文件包(Portfolio)

PDF文件包(Portfolio)的作用类似于zip压缩文件格式,可以将Word,Excel,PDF,PowerPoint等多种文档格式的文件或文件夹添加到其中,方便分类储存。本文将通过调用Java代码的方式对其进行相关操作,包括:创建PDF文件包(Portfolio)并添加文件或文件夹、检测PDF文档是否为PDF文件包(Portfolio)、提取PDF文件包(Portfolio)中的文件。

使用工具 Spire.PDF for Java (可在 E-iceblue中文官网 上获取)

代码运行环境 :JDK 1.8.0、Intellij IDEA 2019

Jar包导入 :创建好运行环境后,需将工具里的Jar包导入IDEA。导入方式有两种:其一、在E-iceblue中文官网上获取产品包后,找到lib文件夹里的Spire.Pdf.jar,接着手动导入即可;其二、不用下载产品包,直接在IDEA中创建Maven项目,然后在pom.xml中键入以下代码,最后点击“Import Change”即可。

 <repositories>
        <repository>
            <id>com.e-iceblue</id>
            <url>
        </repository>
    </repositories>
<dependencies>
    <dependency>
        <groupId> e-iceblue </groupId>
        <artifactId>spire.pdf</artifactId>
        <version>4.4.5</version>
    </dependency>
</dependencies>  

代码示例一 创建PDF文件包(Portfolio)并添加文件

 import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;

public class CreatePDFPortfolioWithFiles {
    public static void main(String[] args) {
        String[] files = new String[] { "C:\Users\Test1\Desktop\Sample.docx", "C:\Users\Test1\Desktop\Sample.xlsx",
                "C:\Users\Test1\Desktop\Sample.pdf","C:\Users\Test1\Desktop\Sample.pptx","C:\Users\Test1\Desktop\logo.png" };

        //创建PdfDocument实例
        PdfDocument pdf = new PdfDocument();

        for (int i = 0; i < files.length; i++)
        {
            //创建PDF文件包并添加文件
            pdf.getCollection().addFile(files[i]);
        }

        //保存文档
        pdf.saveToFile("output/PortfolioWithFiles.pdf", FileFormat.PDF);
        pdf.dispose();
    }
}  

添加效果

代码示例二 创建PDF文件包(Portfolio)并添加文件夹

 import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.collections.PdfFolder;

public class CreatePDFPortfolioWithFolders {
    public static void main(String[] args) {
        String[] files = new String[] {  "C:\Users\Test1\Desktop\Sample.docx", "C:\Users\Test1\Desktop\Sample.xlsx",
                "C:\Users\Test1\Desktop\Sample.pdf","C:\Users\Test1\Desktop\Sample.pptx","C:\Users\Test1\Desktop\logo.png"};

        //创建PdfDocument实例
        PdfDocument pdf = new PdfDocument();

        for (int i = 0; i < files.length; i++)
        {
            //创建PDF文件包并添加文件夹
            PdfFolder folder = pdf.getCollection().getFolders().createSubfolder("folder" + i);
            folder.addFile(files[i]);
        }

        //保存文档
        pdf.saveToFile("output/PortfolioWithFolders.pdf", FileFormat.PDF);
        pdf.dispose();
    }
}  

添加效果

代码示例三 检测PDF文档是否为PDF文件包(Portfolio)

 import com.spire.pdf.PdfDocument;
public class DetectPortfolio {
    public static void main(String[] args) {
        //创建PdfDocument实例
        PdfDocument doc = new PdfDocument();
        //加载PDF文档
        doc.loadFromFile("PortfolioWithFiles.pdf");

        //判断该PDF是否为PDF文件包
        boolean value = doc.isPortfolio();
        if (value)
        {
            System.out.println("此文档是PDF文件包");
        }
        else
        {
            System.out.println("此文档不是PDF文件包");
        }
    }
}  

检测结果

代码示例四 提取PDF文件包(Portfolio)中的文件

 import com.spire.pdf.PdfDocument;
import com.spire.pdf.attachments.PdfAttachment;
import java.io.*;

public class ExtractFilesFromPDFPortfolio {
    public static void main(String[] args) throws IOException {
        //创建PdfDocument实例
        PdfDocument pdf = new PdfDocument();
        //加载PDF文档
        pdf.loadFromFile("PortfolioWithFiles.pdf");

        //遍历文档中的附件
        for(PdfAttachment attachment : (Iterable<PdfAttachment>)pdf.getAttachments()){
            //提取附件
            String fileName = attachment.getFileName();
            OutputStream fos = new FileOutputStream("extract/" + fileName);
            fos.write(attachment.getData());
        }
        pdf.dispose();
    }
}  

提取效果

文章来源:智云一二三科技

文章标题:Java 创建、检测和提取PDF文件包(Portfolio)

文章地址:https://www.zhihuclub.com/175718.shtml

关于作者: 智云科技

热门文章

网站地图