OFD是Open Fixed-layout Documents的简称,它由中国电子技术标准化研究院(CESI)主导制定,旨在解决当前电子文档格式众多、互不兼容的问题。

        在部分面对政务服务的项目中,即有对OFD文件处理的功能。目前,OFD的支持还是相对局限的,今天我们来分享一下基于java的OFD文件转换PDF文件格式的代码,下面直接上代码:

一、依赖

<dependency>
    <groupId>org.ofdrw</groupId>
    <artifactId>ofdrw-converter</artifactId>
    <version>2.0.2</version>
</dependency>
<dependency>
    <groupId>ofdrw-reader</groupId>
    <artifactId>ofdrw-reader</artifactId>
    <version>1.17.18</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/ofdrw-reader-1.17.18.jar</systemPath>
</dependency>

注意:这里的ofdrw-reader-1.17.18.jar属于第三方jar包,还未收录到Maven仓库中,因此需要拿到源包进行手动配置依赖。

二、实现方法

public static String ofdToPdf(String originPath, String pdfPath) {
        // 1. 文件输入路径
        Path src = Paths.get(originPath);
        // 2. 转换后文件输出位置
        Path dst = Paths.get(pdfPath);
        try {
            // 3. OFD转换PDF
            ConvertHelper.toPdf(src, dst);
            System.out.println("生成文档位置: " + dst.toAbsolutePath());
            return String.valueOf(dst.toAbsolutePath());
        } catch (GeneralConvertException e) {
            // pom引入相关模块GeneralConvertException 类型错误表明转换过程中发生异常
            e.printStackTrace();
            return "";
        }
}

三、测试效果

需要转换的ofd文件

 public static void main(String[] args) throws IOException {
        System.out.println(OfdUtil.ofdToPdf("d:/test/11.ofd", "D:/test/22.pdf"));
 }

转换结果:

测试结果正常,通过。

ofdrw-reader-1.17.18.jar的下载地址:

https://download.csdn.net/download/ts977/89654173

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐