代码:
connection.connect();
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(wordFile, pdfFile); //进行转换
主要的转换代码就是这三句
可以生成pdf,并且格式都是正确的,但是我的docx里面是有图片的,生成的pdf里面没有图片,这是什么原因呢?
希望有大家可以解答一下。
或者是有没有什么其它的方法可以让docx转为pdf
jacob这个我也用了的,但是因为一直在报错,解决了两天都没有解决,就放弃了,改用“openoffice”,现在就只差图片不能显示这个问题了。
31 个解决方案
#1
自己顶上去~~
求解答啊~搜了很多,都不知道是什么问题,快郁闷死了
求解答啊~搜了很多,都不知道是什么问题,快郁闷死了
#2
直接用软件转,看看有问题没。
#3
测试了的,我先测试的是直接将我的docx输出为pdf格式,图片是存在的,然后我去搜了一下,发现了“LibreOffice”,它是在“openoffice”基础上的升级【暂时这么理解】,然后不通过程序,直接用“LibreOffice”它将docx转为pdf,图片是在的,然后我就把程序里面的“Openoffice”改成了“LibreOffice”,转出的pdf格式还是木有图片。。。。木有图片。。。
这是怎么一回事。。。。。还是说我要先把“openoffice”给卸载了?
#4
去官网下载最新版本的试试。我之前用老版本的,遇到开启服务的问题,后来改用新版的就ok了,不过没有遇到图片丢失问题。
#5
下载最新版的“Openoffice”?我去试试。
#6
试了,最新版本的“Openoffice”,转成pdf,图片还是木有出来。啊啊啊~~~
#7
明天给你恢复吧,相关资料在家呢,单位没有例子。
#8
去官网下载最新版本的试试。我之前用老版本的,遇到开启服务的问题,后来改用新版的就ok了,不过没有遇到图片丢失问题。
试了,最新版本的“Openoffice”,转成pdf,图片还是木有出来。啊啊啊~~~
明天给你恢复吧,相关资料在家呢,单位没有例子。
恩恩。谢谢~~~~
#9
#10
据我观察,你用的还是老版本的openoffice 新版本的写法不是你这样写的
#11
据我观察,你用的还是老版本的openoffice 新版本的写法不是你这样写的
新版本应该怎么写?我那个是在网上搜出来的。。好像用“openoffice”的人很少,好多都是用的“jacob”。
#12
http://download.csdn.net/detail/yangqiu0928/6411119
#13
http://download.csdn.net/detail/yangqiu0928/6411119
你按照你的代码写,转换成pdf的时候图片不会丢失?还是会显示出来?
#14
http://download.csdn.net/detail/yangqiu0928/6411119
你按照你的代码写,转换成pdf的时候图片不会丢失?还是会显示出来?
我是这样写的,一切都很正常。
#15
为什么我的有了,你确定你那word中是图片嘛,换换试试。不行的话你生成html看有没有图片
#16
http://download.csdn.net/detail/yangqiu0928/6411119
你按照你的代码写,转换成pdf的时候图片不会丢失?还是会显示出来?
我是这样写的,一切都很正常。
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没?
#17
为什么我的有了,你确定你那word中是图片嘛,换换试试。不行的话你生成html看有没有图片
我试一下呢。插入到word中的图片,用不用放入到项目中?
#18
为什么我的有了,你确定你那word中是图片嘛,换换试试。不行的话你生成html看有没有图片
我试一下呢。插入到word中的图片,用不用放入到项目中?
#19
为什么我的有了,你确定你那word中是图片嘛,换换试试。不行的话你生成html看有没有图片
你的word中的图片是怎么放进去的?
是“插入-图片-来自文件”吗?
我生成的html好像也没有图片,,这是怎么一回事啊。。。。。
#20
嗯我的可以,我给你看看,我生成的是html
#21
第二个图是word中的,第一个是生成的html中展示的
#22
如果楼主想要高效的其它方式 可以试试直接调用Office自带的COM来转
#23
呼~经过反复实践,终于可以了。虽然具体原因不是很清楚,但是应该是和我建立的word文档有关系。
我先测试了我要转换的docx文档,图片是不能生成的,
然后我又新建了一个doc,测试新建的那个是图片可以显示的。
因为我的电脑上不能新建docx,我就将doc的后缀改成了docx,测试后,图片可以显示。
我又让别人发了一个在她电脑上新建的docx,测试发现图片是可以出来。
接着我修改了一下别人发过来的docx,再次进行测试,神奇的事情就发生了。。。。居然没有图片!!
按照这个逻辑来看,我不能在我的电脑上修改不是在我电脑上新建的文档,否则图片就显示不出来。
这是为什么。。太奇怪了。不过至少可以解决我现在的问题了。
我先测试了我要转换的docx文档,图片是不能生成的,
然后我又新建了一个doc,测试新建的那个是图片可以显示的。
因为我的电脑上不能新建docx,我就将doc的后缀改成了docx,测试后,图片可以显示。
我又让别人发了一个在她电脑上新建的docx,测试发现图片是可以出来。
接着我修改了一下别人发过来的docx,再次进行测试,神奇的事情就发生了。。。。居然没有图片!!
按照这个逻辑来看,我不能在我的电脑上修改不是在我电脑上新建的文档,否则图片就显示不出来。
这是为什么。。太奇怪了。不过至少可以解决我现在的问题了。
#24
http://download.csdn.net/detail/yangqiu0928/6411119
你按照你的代码写,转换成pdf的时候图片不会丢失?还是会显示出来?
我是这样写的,一切都很正常。
谢谢你的代码~~~~是我文档建立的问题~~再一次感谢~~~~
#25
http://download.csdn.net/detail/yangqiu0928/6411119
有个额外的问题,docx转doc的时候,我的docx中有表格,但是转出的doc,表格错位了。。。这是怎么回事呢?
#26
这个问题我也遇到过,我是要自己生成一个复杂的docx包括图片、图表、目录等,在linux平台下完成的。你是怎么解决的,我的判断是openoffice不兼容word的2007格式即docx,图片和chart等2007格式下都是超链接,丢失图片的原因正是因为如此。
我现在想的的解决方法就是将生成的docx转换为doc 因为docx4j 操作docx ,
ps 有什么好的解决方法可以分享一下哈。
我现在想的的解决方法就是将生成的docx转换为doc 因为docx4j 操作docx ,
ps 有什么好的解决方法可以分享一下哈。
#27
lz我的为什么转换docx就不行呢 lz你用的jodconverter jar包是哪个版本的?
#28
lz我的为什么转换docx就不行呢 lz你用的jodconverter jar包是哪个版本的?
我没有用JODC的方法。我用的是openoffice,将docx转换成pdf,我的模板文件是docx~~~
#29
lz你的代码调用的是jocd jar的方法啊
#30
我的真的跟你的情况一模一样,一点不差!就是不能修改非本机创建的docx文件,本机创建的修改也没关系。你是怎么解决的?
#31
楼主:yp_1234 您好,我也有个需求word转pdf,调用openoffice服务不太稳定、突然说不能连接,折腾了好久,可以共享下的案例吗?或者留个联系方式沟通向你学些,谢谢。
#1
自己顶上去~~
求解答啊~搜了很多,都不知道是什么问题,快郁闷死了
求解答啊~搜了很多,都不知道是什么问题,快郁闷死了
#2
直接用软件转,看看有问题没。
#3
直接用软件转,看看有问题没。
测试了的,我先测试的是直接将我的docx输出为pdf格式,图片是存在的,然后我去搜了一下,发现了“LibreOffice”,它是在“openoffice”基础上的升级【暂时这么理解】,然后不通过程序,直接用“LibreOffice”它将docx转为pdf,图片是在的,然后我就把程序里面的“Openoffice”改成了“LibreOffice”,转出的pdf格式还是木有图片。。。。木有图片。。。
这是怎么一回事。。。。。还是说我要先把“openoffice”给卸载了?
#4
去官网下载最新版本的试试。我之前用老版本的,遇到开启服务的问题,后来改用新版的就ok了,不过没有遇到图片丢失问题。
#5
去官网下载最新版本的试试。我之前用老版本的,遇到开启服务的问题,后来改用新版的就ok了,不过没有遇到图片丢失问题。
下载最新版的“Openoffice”?我去试试。
#6
去官网下载最新版本的试试。我之前用老版本的,遇到开启服务的问题,后来改用新版的就ok了,不过没有遇到图片丢失问题。
试了,最新版本的“Openoffice”,转成pdf,图片还是木有出来。啊啊啊~~~
#7
去官网下载最新版本的试试。我之前用老版本的,遇到开启服务的问题,后来改用新版的就ok了,不过没有遇到图片丢失问题。
试了,最新版本的“Openoffice”,转成pdf,图片还是木有出来。啊啊啊~~~
明天给你恢复吧,相关资料在家呢,单位没有例子。
#8
去官网下载最新版本的试试。我之前用老版本的,遇到开启服务的问题,后来改用新版的就ok了,不过没有遇到图片丢失问题。
试了,最新版本的“Openoffice”,转成pdf,图片还是木有出来。啊啊啊~~~
明天给你恢复吧,相关资料在家呢,单位没有例子。
恩恩。谢谢~~~~
#9
#10
据我观察,你用的还是老版本的openoffice 新版本的写法不是你这样写的
#11
据我观察,你用的还是老版本的openoffice 新版本的写法不是你这样写的
新版本应该怎么写?我那个是在网上搜出来的。。好像用“openoffice”的人很少,好多都是用的“jacob”。
#12
http://download.csdn.net/detail/yangqiu0928/6411119
#13
http://download.csdn.net/detail/yangqiu0928/6411119
你按照你的代码写,转换成pdf的时候图片不会丢失?还是会显示出来?
#14
http://download.csdn.net/detail/yangqiu0928/6411119
你按照你的代码写,转换成pdf的时候图片不会丢失?还是会显示出来?
我是这样写的,一切都很正常。
#15
为什么我的有了,你确定你那word中是图片嘛,换换试试。不行的话你生成html看有没有图片
#16
http://download.csdn.net/detail/yangqiu0928/6411119
你按照你的代码写,转换成pdf的时候图片不会丢失?还是会显示出来?
我是这样写的,一切都很正常。
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没?
#17
为什么我的有了,你确定你那word中是图片嘛,换换试试。不行的话你生成html看有没有图片
我试一下呢。插入到word中的图片,用不用放入到项目中?
#18
为什么我的有了,你确定你那word中是图片嘛,换换试试。不行的话你生成html看有没有图片
我试一下呢。插入到word中的图片,用不用放入到项目中?
#19
为什么我的有了,你确定你那word中是图片嘛,换换试试。不行的话你生成html看有没有图片
你的word中的图片是怎么放进去的?
是“插入-图片-来自文件”吗?
我生成的html好像也没有图片,,这是怎么一回事啊。。。。。
#20
嗯我的可以,我给你看看,我生成的是html
#21
第二个图是word中的,第一个是生成的html中展示的
#22
如果楼主想要高效的其它方式 可以试试直接调用Office自带的COM来转
#23
呼~经过反复实践,终于可以了。虽然具体原因不是很清楚,但是应该是和我建立的word文档有关系。
我先测试了我要转换的docx文档,图片是不能生成的,
然后我又新建了一个doc,测试新建的那个是图片可以显示的。
因为我的电脑上不能新建docx,我就将doc的后缀改成了docx,测试后,图片可以显示。
我又让别人发了一个在她电脑上新建的docx,测试发现图片是可以出来。
接着我修改了一下别人发过来的docx,再次进行测试,神奇的事情就发生了。。。。居然没有图片!!
按照这个逻辑来看,我不能在我的电脑上修改不是在我电脑上新建的文档,否则图片就显示不出来。
这是为什么。。太奇怪了。不过至少可以解决我现在的问题了。
我先测试了我要转换的docx文档,图片是不能生成的,
然后我又新建了一个doc,测试新建的那个是图片可以显示的。
因为我的电脑上不能新建docx,我就将doc的后缀改成了docx,测试后,图片可以显示。
我又让别人发了一个在她电脑上新建的docx,测试发现图片是可以出来。
接着我修改了一下别人发过来的docx,再次进行测试,神奇的事情就发生了。。。。居然没有图片!!
按照这个逻辑来看,我不能在我的电脑上修改不是在我电脑上新建的文档,否则图片就显示不出来。
这是为什么。。太奇怪了。不过至少可以解决我现在的问题了。
#24
http://download.csdn.net/detail/yangqiu0928/6411119
你按照你的代码写,转换成pdf的时候图片不会丢失?还是会显示出来?
我是这样写的,一切都很正常。
谢谢你的代码~~~~是我文档建立的问题~~再一次感谢~~~~
#25
http://download.csdn.net/detail/yangqiu0928/6411119
有个额外的问题,docx转doc的时候,我的docx中有表格,但是转出的doc,表格错位了。。。这是怎么回事呢?
#26
这个问题我也遇到过,我是要自己生成一个复杂的docx包括图片、图表、目录等,在linux平台下完成的。你是怎么解决的,我的判断是openoffice不兼容word的2007格式即docx,图片和chart等2007格式下都是超链接,丢失图片的原因正是因为如此。
我现在想的的解决方法就是将生成的docx转换为doc 因为docx4j 操作docx ,
ps 有什么好的解决方法可以分享一下哈。
我现在想的的解决方法就是将生成的docx转换为doc 因为docx4j 操作docx ,
ps 有什么好的解决方法可以分享一下哈。
#27
lz我的为什么转换docx就不行呢 lz你用的jodconverter jar包是哪个版本的?
#28
lz我的为什么转换docx就不行呢 lz你用的jodconverter jar包是哪个版本的?
我没有用JODC的方法。我用的是openoffice,将docx转换成pdf,我的模板文件是docx~~~
#29
lz你的代码调用的是jocd jar的方法啊
#30
我的真的跟你的情况一模一样,一点不差!就是不能修改非本机创建的docx文件,本机创建的修改也没关系。你是怎么解决的?
#31
楼主:yp_1234 您好,我也有个需求word转pdf,调用openoffice服务不太稳定、突然说不能连接,折腾了好久,可以共享下的案例吗?或者留个联系方式沟通向你学些,谢谢。