jodconvert 配置

版本: 4.2.0

端口 和 管道

文档转换使用TCP端口或者管道 . 管道比TCP更快, 但是需要为jvm指定本地库, 因此默认使用TCP端口模式.

要为jvm配置本地库, 即配置 java.library.path 系统属性.

On Linux it's e.g.: java -Djava.library.path=/opt/openoffice.org/ure/lib
On Windows it's e.g.: java "-Djava.library.path=C:\Program Files (x86)\OpenOffice 4\program"

默认的TCP端口是2002 :

OfficeManager officeManager =
    LocalOfficeManager.builder()
        .portNumbers(2002, 2003, 2004, 2005)
        .build();

上面的代码指定了4个端口, 因此在OfficeManager启动时, 将启动4个office进程来进行处理转换.

officeHome

该属性是office的安装目录 .

// This example will force JODConverter to use the OpenOffice 4
// installation that can be found using the specified path.
// 示例设置officeHome 
OfficeManager officeManager =
    LocalOfficeManager.builder()
        .officeHome("D:\\Program Files (x86)\\OpenOffice 4")
        .build();

processManager

当jodconvert需要工作时, 需要一个processManager , 用于在需要时关闭进程.

默认情况下: 会根据os寻找最佳的processManager . 也可以自己实现ProcessManager接口来改变之.

// This example will create an instance of the com.example.foo.CustomProcessManager
// class that will be used by the created OfficeManager.
OfficeManager officeManager =
    LocalOfficeManager.builder()
        .processManager("com.example.foo.CustomProcessManager")
        .build();

workingDir

当每个office进程启动时都会创建一个临时目录. 临时目录创建在workingDir中. 该目录也用来存放转换的中间结果.

默认使用: java.io.tmpdir 目录

templateProfileDir

每个LocalOfficeManager都会创建一个临时文件夹来存放当前进程属性, 从而可以避免多个进程间的相互干扰. 通过该属性可以提供一个属性模板来定制属性. OfficeManager 将从模板拷贝属性到临时文件夹中, 这样进程间使用相同的设置的同时避免相互干扰.

这些设置可以是 Tools>Options菜单中的 .
如:

  • Load/Save > General: 可以禁用保存互联网url
  • Load/Save > Microsoft Office : 这个可以避免文档中的excel被丢失.

默认: 创建时使用新的, 受 -nofirststartwizard命令影响.

killExistingProcess

在新进程启动时是否杀死已存在进程.
默认 : true

processTimeout

处理超时时间, 单位毫秒 .
默认 : 120000 (2分钟)

processRetryInterval

重试执行的时间间隔, 毫秒.

默认: 250

taskExecutionTimeout

允许进程执行一个task的最大时间 . 超时将终止, 然后处理下一个task.

默认 : 120000(2分钟)

maxTasksPerProcess

每个office进程可执行的最大task数, 超过将重启.
默认: 200

disableOpengl

设置当前office进程启动时是否需要禁用opengl ( 仅 libreOffice) . 若opengl已禁止则不会进行任何处理 . 当该属性改变时, office必须重启. 若你遇到LO挂掉, 可以测试该属性.

默认: false

taskQueueTimeout

设置task在队列的最大存活时间 , 超时将被从队列移除 并抛出 OiffceException .

默认: 30000(30分钟)

你可能感兴趣的:(jodconvert 配置)