使用openOffice转换pdf报错org.jodconverter.core.office.OfficeException: An error prevents us to start a pro

最近项目中需要用到转换pdf功能,查询资料后选择了openOffice服务。

在调试过程中遇到如标题描述的问题,各种查询后无法解决,卡壳数日后终于解决,记录一下。

废话不多说,以下是调试过程。

导入jar包:

implementation 'org.jodconverter:jodconverter-local:4.3.0'
implementation 'org.jodconverter:jodconverter-core:4.3.0'

启动服务:

LocalOfficeManager manager = LocalOfficeManager.builder()
				        .officeHome("D:\\openoffice4\\OpenOffice4").portNumbers(8001).install().build();
manager.start();

问题出现:

org.jodconverter.core.office.OfficeException: An error prevents us to start a process with --accept 'socket,host=127.0.0.1,port=8001,tcpNoDelay=1;urp;StarOffice.ServiceManager'
	at org.jodconverter.local.office.OfficeProcess.start(OfficeProcess.java:442)
	at org.jodconverter.local.office.OfficeProcessManager.doStartProcessAndConnect(OfficeProcessManager.java:145)
	at org.jodconverter.local.office.OfficeProcessManager.lambda$startAndWait$3(OfficeProcessManager.java:287)
	at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.jodconverter.core.office.RetryTimeoutException
	at org.jodconverter.core.office.AbstractRetryable.execute(AbstractRetryable.java:81)
	at org.jodconverter.core.office.AbstractRetryable.execute(AbstractRetryable.java:52)
	at org.jodconverter.local.office.OfficeProcess.start(OfficeProcess.java:430)
	... 7 more

能查询到的资料很少,大多都是home路径存在中文,显然我的路径是不包含中文的。

咋办咋办咋办???

以下是debug参数,我寻思是否这个workingDir中包含中文也会影响openOffice运行?

于是我增加了指定workingDir不包含中文的路径

LocalOfficeManager manager = LocalOfficeManager.builder().officeHome("D:\\openoffice4\\OpenOffice4")
                .workingDir("D:\\openoffice4").portNumbers(8001).install().build();
        manager.start();

果然

2023-09-28 09:34:57.913 | INFO | [jodconverter-officeprocess-0] 
Starting process with --accept 'socket,host=127.0.0.1,port=8001,tcpNoDelay=1;urp;StarOffice.ServiceManager' and profileDir 'D:\openoffice4\.jodconverter_socket_host-127.0.0.1_port-8001_tcpNoDelay-1' 

2023-09-28 09:34:58.137 | INFO | [jodconverter-officeprocess-0] 
Started process; pid: 17464 

2023-09-28 09:34:58.452 | INFO | [jodconverter-officeprocess-0] 
Connected: 'socket,host=127.0.0.1,port=8001,tcpNoDelay=1' 

问题解决

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值