jobconverter文档详解

版本: 4.2.0
https://github.com/sbraconnier/jodconverter/wiki/Getting-Started

概览

Jodconvert , 是一个java的文档转换器, 利用 openoffice 或 libreOffice 来进行文档格式转换.

其支持的格式如下:

对于html格式的特殊注意:

  • HTML可以用作输入格式,但您不应期望OOo像Chrome或IE那样正确地呈现复杂的网页。 仅适用于简单和“打印机友好”的网页。
  • HTML可以用作输出格式,但是所有其他格式总是生成单个输出文件,HTML可以生成多个文件。 实际上,除了HTML文件之外,输入文档中包含的任何图像也将保存在同一目录中。 这需要您的代码格外小心,特别是在Web环境中。

应用场景

  • 作为java类库使用
  • 作为命令行工具使用
  • 作为web应用使用

添加依赖

Maven

<properties>
    <jodconverter.version>4.1.1</jodconverter.version>
</properties>
<dependencies>
   <dependency>
      <groupId>org.jodconverter</groupId>
      <artifactId>jodconverter-local</artifactId>
      <version>${jodconverter.version}</version>
   </dependency>
</dependencies>

Gradle

ext {
    jodconverterVersion = 4.2.0
}
compile "org.jodconverter:jodconverter-local:$jodconverterVersion"

使用要求

  • java 1.7 及以上
  • openoffice 或 libreOffice 的稳定版本

参数配置

workingDir
该属性用来设置office临时文件配置目录。每个office进程启动时,一个文件配置目录将会被创建。当使用InputStream/OutputStream来转换时,这个目录也会被创建。默认由指定的路径为java.io.tmpdir

templateProfileDir
为了避免进程被中断或者用户使用了另一个OOo实例,LocalOfficeManager会为OOo进程创建一个临时配置文件目录。使用这个属性,你可以提供一个包含个性化设置的临时配置文件目录。OfficeManager会将以其为模板,来生成临时配置文件目录。所以当我们创建新的OOo实例时,都会使用相同的配置。默认情况虾,这个临时的配置文件由OOo使用默认配置来创建,并且其依赖于 -nofirststartwizard这个命令选项。

killExistingProcess
该属性能够指定,当一个包含相同connection string的office进程启动,是否杀死一个已经存在的office进程。默认为true.

processTimeout
当尝试调用一个office进程时(开始/中止),该属性可以设置超时时间,单位为毫秒。默认为120000(2 minutes)

processRetryInterval
每当尝试调用一个office进程时(开始/中止)的间隙,可用该属性设置延迟,单位为毫秒。默认为250(0.25 seconds)

taskExecutionTimeout
该属性设置执行一个任务的最大时间,若超过这个时间任务仍未执行,则当前任务被中止且执行下个任务。默认为12000(两分钟)

maxTasksPerProcess
该属性设置一个office进程在重启之前所能执行的最大任务数。默认为200个。

disableOpengl
当启动一个新的office进程时(在LibreOffice的情况下),该属性能够指定是否禁止OpenGL。如果OpenGL已经根据office进程使用的用户配置禁用,那么将不会执行任何操作。如果该属性改变,那么office进程必须重启。如果LO进程奔溃,那么你可以尝试测试该属性。默认为false

taskQueueTimeout
该属性用来设置一个任务在转换队列中的最大生存时间。如果等待时间超过最大生存时间或者有OfficeException异常抛出,则任务将会从队列中移除。默认为30000(30 seconds)