java 使用Openoffice 将docx转换为pdf,有点小问题,求解答

yp_xiaoliu 2013-10-16 04:43:54
我在java中,使用openoffice,将docx转换为pdf,是可以转换成功的,但是出了一些小问题。

代码:
connection.connect();
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(wordFile, pdfFile); //进行转换

主要的转换代码就是这三句
可以生成pdf,并且格式都是正确的,但是我的docx里面是有图片的,生成的pdf里面没有图片,这是什么原因呢?

希望有大家可以解答一下。
或者是有没有什么其它的方法可以让docx转为pdf

jacob这个我也用了的,但是因为一直在报错,解决了两天都没有解决,就放弃了,改用“openoffice”,现在就只差图片不能显示这个问题了。

...全文
3156 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangpingguitae 2015-09-18
  • 打赏
  • 举报
回复
楼主:yp_1234 您好,我也有个需求word转pdf,调用openoffice服务不太稳定、突然说不能连接,折腾了好久,可以共享下的案例吗?或者留个联系方式沟通向你学些,谢谢。
在下个路口 2015-07-22
  • 打赏
  • 举报
回复
我的真的跟你的情况一模一样,一点不差!就是不能修改非本机创建的docx文件,本机创建的修改也没关系。你是怎么解决的?
  • 打赏
  • 举报
回复
lz你的代码调用的是jocd jar的方法啊
yp_xiaoliu 2013-12-27
  • 打赏
  • 举报
回复
引用 27 楼 wkjames 的回复:
lz我的为什么转换docx就不行呢 lz你用的jodconverter jar包是哪个版本的?
我没有用JODC的方法。我用的是openoffice,将docx转换成pdf,我的模板文件是docx~~~
wakgo 2013-12-26
  • 打赏
  • 举报
回复
lz我的为什么转换docx就不行呢 lz你用的jodconverter jar包是哪个版本的?
lzulubin 2013-11-07
  • 打赏
  • 举报
回复
这个问题我也遇到过,我是要自己生成一个复杂的docx包括图片、图表、目录等,在linux平台下完成的。你是怎么解决的,我的判断是openoffice不兼容word的2007格式即docx,图片和chart等2007格式下都是超链接,丢失图片的原因正是因为如此。 我现在想的的解决方法就是将生成的docx转换为doc 因为docx4j 操作docx , ps 有什么好的解决方法可以分享一下哈。
yp_xiaoliu 2013-10-17
  • 打赏
  • 举报
回复
引用 15 楼 tlfu_12344 的回复:
为什么我的有了,你确定你那word中是图片嘛,换换试试。不行的话你生成html看有没有图片
你的word中的图片是怎么放进去的? 是“插入-图片-来自文件”吗? 我生成的html好像也没有图片,,这是怎么一回事啊。。。。。
花木兰1闪21A 2013-10-17
  • 打赏
  • 举报
回复
引用 17 楼 yp_1234 的回复:
[quote=引用 15 楼 tlfu_12344 的回复:] 为什么我的有了,你确定你那word中是图片嘛,换换试试。不行的话你生成html看有没有图片
我试一下呢。插入到word中的图片,用不用放入到项目中?[/quote]不会,他自己会生成
yp_xiaoliu 2013-10-17
  • 打赏
  • 举报
回复
引用 15 楼 tlfu_12344 的回复:
为什么我的有了,你确定你那word中是图片嘛,换换试试。不行的话你生成html看有没有图片
我试一下呢。插入到word中的图片,用不用放入到项目中?
yp_xiaoliu 2013-10-17
  • 打赏
  • 举报
回复
引用 14 楼 yangqiu0928 的回复:
[quote=引用 13 楼 yp_1234 的回复:] [quote=引用 12 楼 yangqiu0928 的回复:] http://download.csdn.net/detail/yangqiu0928/6411119
你按照你的代码写,转换成pdf的时候图片不会丢失?还是会显示出来?[/quote] 我是这样写的,一切都很正常。[/quote] OfficeManagerSingle officeManagerSingle = OfficeManagerSingle.getOfficeManagerSingle(); OfficeManager officeManager = officeManagerSingle.getOfficeManager(configuration); 这两句是什么意思?“OfficeManagerSingle”这个应该是你自己写的一个类吧?我这边要报错。 然后我就用的你注释掉的那两句话: OfficeManager officeManager = configuration.buildOfficeManager(); officeManager.start(); 最后写出来就是这样的: //准备启动服务.... configuration.setOfficeHome(OFFICE_HOME); //设置OpenOffice.org安装目录 configuration.setPortNumbers(port); //设置转换端口,默认为8100 //设置任务执行超时为5分钟 configuration.setTaskExecutionTimeout(1000 * 60 * 5L); //设置任务队列超时为24小时 configuration.setTaskQueueTimeout(1000 * 60 * 60 * 24L); OfficeManager officeManager = configuration.buildOfficeManager(); officeManager.start(); //启动服务 OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager); converter.convert(wordFile, pdfFile); //进行转换 然后我的“Openoffice”版本是:OpenOffice 4.0.1 安装文件的名字是:Apache_OpenOffice_4.0.1_Win_x86_install_zh-CN.exe 你用过jacob没?
花木兰1闪21A 2013-10-17
  • 打赏
  • 举报
回复
为什么我的有了,你确定你那word中是图片嘛,换换试试。不行的话你生成html看有没有图片
shayebuhui0 2013-10-17
  • 打赏
  • 举报
回复
引用 13 楼 yp_1234 的回复:
[quote=引用 12 楼 yangqiu0928 的回复:] http://download.csdn.net/detail/yangqiu0928/6411119
你按照你的代码写,转换成pdf的时候图片不会丢失?还是会显示出来?[/quote] 我是这样写的,一切都很正常。
yp_xiaoliu 2013-10-17
  • 打赏
  • 举报
回复
引用 12 楼 yangqiu0928 的回复:
http://download.csdn.net/detail/yangqiu0928/6411119
你按照你的代码写,转换成pdf的时候图片不会丢失?还是会显示出来?
shayebuhui0 2013-10-17
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/yangqiu0928/6411119
yp_xiaoliu 2013-10-17
  • 打赏
  • 举报
回复
引用 10 楼 yangqiu0928 的回复:
[quote=引用 9 楼 yp_1234 的回复:]
据我观察,你用的还是老版本的openoffice 新版本的写法不是你这样写的[/quote] 新版本应该怎么写?我那个是在网上搜出来的。。好像用“openoffice”的人很少,好多都是用的“jacob”。
shayebuhui0 2013-10-17
  • 打赏
  • 举报
回复
引用 9 楼 yp_1234 的回复:
据我观察,你用的还是老版本的openoffice 新版本的写法不是你这样写的
yp_xiaoliu 2013-10-17
  • 打赏
  • 举报
回复
yp_xiaoliu 2013-10-17
  • 打赏
  • 举报
回复
引用 12 楼 yangqiu0928 的回复:
http://download.csdn.net/detail/yangqiu0928/6411119
有个额外的问题,docx转doc的时候,我的docx中有表格,但是转出的doc,表格错位了。。。这是怎么回事呢?
yp_xiaoliu 2013-10-17
  • 打赏
  • 举报
回复
引用 14 楼 yangqiu0928 的回复:
[quote=引用 13 楼 yp_1234 的回复:] [quote=引用 12 楼 yangqiu0928 的回复:] http://download.csdn.net/detail/yangqiu0928/6411119
你按照你的代码写,转换成pdf的时候图片不会丢失?还是会显示出来?[/quote] 我是这样写的,一切都很正常。[/quote] 谢谢你的代码~~~~是我文档建立的问题~~再一次感谢~~~~
yp_xiaoliu 2013-10-17
  • 打赏
  • 举报
回复
呼~经过反复实践,终于可以了。虽然具体原因不是很清楚,但是应该是和我建立的word文档有关系。 我先测试了我要转换的docx文档,图片是不能生成的, 然后我又新建了一个doc,测试新建的那个是图片可以显示的。 因为我的电脑上不能新建docx,我就将doc的后缀改成了docx,测试后,图片可以显示。 我又让别人发了一个在她电脑上新建的docx,测试发现图片是可以出来。 接着我修改了一下别人发过来的docx,再次进行测试,神奇的事情就发生了。。。。居然没有图片!! 按照这个逻辑来看,我不能在我的电脑上修改不是在我电脑上新建的文档,否则图片就显示不出来。 这是为什么。。太奇怪了。不过至少可以解决我现在的问题了。
加载更多回复(11)

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧