1、下载 Spire.Pdf.jar 包,引入到项目中。 提取码: dc95

2、拷贝jar包到项目中的lib目录下(没有就按照图片新建目录 )

3、pom.xml中引入

<dependency>
    <groupId>e-iceblue</groupId>
    <artifactId>spire.pdf.free</artifactId>
    <version>5.1.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/resources/lib/Spire.Pdf.jar</systemPath>
</dependency>

4、具体实现

 PdfDocument pdf = new PdfDocument();
 pdf.loadFromFile("c:\\user\\xxxx.pdf");
 pdf.saveToFile("c:\\user\\xxxx.ofd", FileFormat.OFD);

扩展

如果想pdf二进制文件转ofd、或者转成输出流、输入流等,可用下面的工具类

import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
/**
 * PDF转ofd工具类
 */
public class PdfToOfdUtil {


    /**
     * pdf转ofd
     * @param resourceFilePath PDF源文件地址
     * @param targetFilePath 需要输出ofd的目标地址
     */
    public static void pdfToOfd(String resourceFilePath, String targetFilePath){
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile(resourceFilePath);
        pdf.saveToFile(targetFilePath, FileFormat.OFD);
    }

    /**
     * pdf转ofd
     * @param pdfFile pdf文件二进制数组
     * @return 返回输入流
     */
    public static InputStream pdfToOfd(byte[] pdfFile){
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromBytes(pdfFile);
        ByteArrayOutputStream[] byteArrayOutputStreams = pdf.saveToStream(FileFormat.OFD);
        if(byteArrayOutputStreams == null || byteArrayOutputStreams.length == 0){
           return null;
        }
        ByteArrayOutputStream byteArrayOutputStream = byteArrayOutputStreams[0];
        InputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
        return byteArrayInputStream;
    }

    /**
     * pdf转ofd
     * @param fileIns pdf文件输入流
     * @return 返回输入流
     */
    public static InputStream pdfToOfd(InputStream fileIns){
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromStream(fileIns);
        ByteArrayOutputStream[] byteArrayOutputStreams = pdf.saveToStream(FileFormat.OFD);
        if(byteArrayOutputStreams == null || byteArrayOutputStreams.length == 0){
           return null;
        }
        ByteArrayOutputStream byteArrayOutputStream = byteArrayOutputStreams[0];
        InputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
        return byteArrayInputStream;
    }

    /**
     * pdf转ofd
     * @param pdfFile pdf文件二进制数组
     * @return 返回二进制数组输出流
     */
    public static ByteArrayOutputStream pdfToOfdOus(byte[] pdfFile){
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromBytes(pdfFile);
        ByteArrayOutputStream[] byteArrayOutputStreams = pdf.saveToStream(FileFormat.OFD);
        if(byteArrayOutputStreams == null || byteArrayOutputStreams.length == 0){
           return null;
        }
        return  byteArrayOutputStreams[0];
    }

}

补充说明:

如果不想下载,可以用官方方式maven引入。

官网:通过 Maven 仓库安装 Spire 系列 Java 产品

找到免费版本free

 

引入后就直接用就可以了。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐