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)