Dust_seal-初殇 2015-06-30 07:09 采纳率: 0%
浏览 11576
已结题

利用jodconverter+openoffice转换docx、xlsx不成功!求大神帮忙!跪谢啦!

用的是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

  • 写回答

5条回答 默认 最新

  • save4me 2015-07-04 11:51
    关注
    1. 你输出一下你需要转换的源文件的路径和文件名看一下,是不是因为路径和文件名里面的空格或者中文字符导致的。
    2. 你的excel xlsx是office哪个版本的?

    参考
    Java跨平台将word转为pdf(结合Jodconverter 和OpenOffice.org)
    office文档转换为pdf文档

    评论

报告相同问题?

悬赏问题

  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用