用的是jodconverter-core-3.0-beta-4-dist里的jar包;
OpenOffice 用的4.1.1的版本;
调用代码书写如下:
public static boolean startService(String wordFile,String pdfFile,String fileswf){
boolean flag = false;
DefaultOfficeManagerConfiguration config = new DefaultOfficeManagerConfiguration();
try{
File inputFile = new File(wordFile);
if (inputFile.exists()){
int ports[] = {Integer.parseInt(CommUtil.getPort_Str())};
config.setOfficeHome( new File(CommUtil.getOpenOffice_HOME()));
config.setPortNumbers(ports);
config.setTaskExecutionTimeout(1000 * 60 * 5L);// 设置任务执行超时为5分钟
config.setTaskQueueTimeout(1000 * 60 * 60 * 24L);// 设置任务队列超时为24小时
officeManager = config.buildOfficeManager();
officeManager.start();// 启动服务
OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager);
// 如果目标路径不存在, 则新建该路径
File outputFile = new File(pdfFile);
if (!outputFile.getParentFile().exists()) outputFile.getParentFile().mkdirs();
File fileswfo = new File(fileswf);
if (!fileswfo.exists()) fileswfo.mkdirs();
converter.convert(inputFile, outputFile);
if(officeManager != null) officeManager.stop();
flag = true;
} else flag = false;
}catch (Exception ce) {
System.out.println("office转换服务启动失败!详细信息:" + ce);
ce.printStackTrace();
}
return flag;
}
转换doc、xls、ppt、pptx都没有问题,可唯独docx、xlsx转换不了,看网上有人说能转换,是不是代码写的有问题呢,望有大神能帮忙解决问题啊,小弟不胜感激!
后台报错如下:
office转换服务启动失败!详细信息:org.artofsolving.jodconverter.office.OfficeException: could not load document: 1433490929760工作安排.xlsx
org.artofsolving.jodconverter.office.OfficeException: could not load document: 1433490929760工作安排.xlsx
at org.artofsolving.jodconverter.AbstractConversionTask.loadDocument(AbstractConversionTask.java:92)
at org.artofsolving.jodconverter.AbstractConversionTask.execute(AbstractConversionTask.java:59)
at org.artofsolving.jodconverter.office.PooledOfficeManager$2.run(PooledOfficeManager.java:80)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: com.sun.star.lang.IllegalArgumentException: URL seems to be an unsupported one.
at com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:177)
at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:143)
at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:335)
at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:304)
at com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:91)
at com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:639)
at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:151)
at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:133)
at com.sun.proxy.$Proxy35.loadComponentFromURL(Unknown Source)
at org.artofsolving.jodconverter.AbstractConversionTask.loadDocument(AbstractConversionTask.java:90)
... 8 more