乐趣区

关于pdf:SpringBoot集成LibreOfficejodconverter做文件预览office转pdf

简介

LibreOffice 是一款凋谢源代码的自在收费全能办公软件,可运行于 Microsoft Windows, GNU/Linux 以及 macOS 等操作系统上。它蕴含了 Writer, Calc, Impress, Draw, Math 以及 Base 等组件,可别离用于文本文档、电子表格、幻灯片演示文稿、绘图文档、数学公式编辑、数据库治理等工作。

LibreOffice 采纳对企业和个人用户均收费的 MPL 2.0 受权协定。您能够自在散发该软件,无需领取受权费用(但您依然能够付费取得经认证的业余反对)。它的源代码齐全公开,任何人都能够参加软件的开发和保护。

jodconverter 概述

JODConverter 是 Java OpenDocument 转换器,可在不同办公格局之间转换文档。它利用 Apache OpenOffice 或 LibreOffice,它们为当今可用的 OpenDocument 和 Microsoft Office 格局提供能够说是最好的收费导入 / 导出过滤器。

JODConverter 主动执行 OpenOffice/LibreOffice 反对的所有转换。反对的转换包含(但不限于。您的 OOo 装置反对的所有转换都由 JODConverter 反对):

文件类型 输出格局 输入格局
文本 DOC、DOCX、ODT、OTT、RTF、文本等。DOC、DOCX、HTML、JPG、ODT、OTT、FODT、PDF、PNG、RTF、TXT 等。
电子表格 CSV、ODS、OTS、TSV、XLS、XLSX 等。CSV、HTML、JPG、ODS、OTS、FODS、PDF、PNG、TSV、XLS、XLSX 等。
介绍 ODP、OTP、PPT、PPTX 等 GIF、HTML、JPG、ODP、OTP、FODP、PDF、PNG、PPT、PPTX、BMP 等。
画画 ODG、OTG 等 GIF、JPG、ODG、OTG、FODG、PDF、PNG、SVG、TIF、VSD、BMP 等。
其余 HTML DOC、DOCX、HTML、JPG、ODT、OTT、FODT、PDF、PNG、RTF、TXT 等。
JODConverter 能够以多种不同的形式应用:

指标

1. 实现 office 文档 ->pdf

入门案例

装置 libreoffice

libreoffice 官网下载地址

下载能够抉择 windows/linux 或其余操作系统
本节依照 windows 进行测试

新建 springboot 我的项目,引入以下依赖。

        <!-- 转换工具 -->
        <dependency>
            <groupId>org.jodconverter</groupId>
            <artifactId>jodconverter-spring-boot-starter</artifactId>
            <version>4.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.jodconverter</groupId>
            <artifactId>jodconverter-local</artifactId>
            <version>4.4.2</version>
        </dependency>
        <dependency>
            <groupId>org.jodconverter</groupId>
            <artifactId>jodconverter-core</artifactId>
            <version>4.4.2</version>
        </dependency>

配置文件

jodconverter:
  local:
    enabled: true
    # libreOffice 根目录
    officeHome: src/main/resources/office-plugin
    # 工作执行的超时工夫
    taskExecutionTimeout: 86400000
    # 工作队列的超时工夫
    taskQueueTimeout: 86400000
    # 端口(线程)portNumbers: [2001,2002,2003]
    # 一个过程的超时工夫
    processTimeout: 86400000

以上配置文件是基于本地的 libreoffice 服务进行配置,更多配置能够查看主动拆卸类 JodConverterLocalProperties

测试代码

    /**
     * 注入文档转换接口,* springboot 主动拆卸时会在容器中增加一个 bean 对象,* 也就是其实现类 LocalConverter
     */
    @Resource
    private DocumentConverter documentConverter;

    @Test
    public void convert() {File source = new File("D:\\document\\ 测试 \\ 测试.docx");
        File target = new File("D:\\document\\ 测试 \\ 测试.pdf");
        // convert 办法指定源文件对象 / 输出流
        // to 办法指定指标文件对象 / 输入流(源文件能够不存在,如果不存在则会创立)
        // todo: 指标文件的后缀要和行将转换的文件类型统一,否则会造成文件损坏
        // todo: as 办法承受的时 DocumentFormat 对象,咱们能够应用默认注册完的 DocumentFormat 对象,// execute 办法是执行转换的办法,办法没有返回值,是同步执行
        try {documentConverter.convert(source).to(target).as(DefaultDocumentFormatRegistry.PDF).execute();} catch (OfficeException e) {log.error("文档转换异样:{}", e.getMessage());
        }
    }

程序运行后果及效果图

运行后果

成果

jodconverter 官网:https://github.com/sbraconnie…

退出移动版