JACOB实现docx转pdf Can't co-create object
word转pdf
这个有什么种方案:
比如:poi docx4j还有一些有限页免费导出
测试了几个后,发现这里面都会涉及到字体的问题,而且有些样式也会改变。
但是通过wps、word测试以后,你会发现,他们转了pdf,会跟以前的word是一致。
也就是说效果很好。
那么有没有什么好方法呢?
当然是有的,有几种方法,这里我测试了jacob这个还不错。
网上最新的是jacob-1.19
这个最新,这个要求jdk1.8版本,否则会报错。
至于咱个转,网上一堆。
来个兄弟的网址:
https://www.cnblogs.com/mh-study/p/10342246.html
其实远比这个要简单:
0、装个wps或者word
1、下载jacob-1.19(jdk1.8), 如果是低于这个那就找个低版本的。https://sourceforge.net/projects/jacob-project/
2、将目录中的jacob-1.19-x64.dll拷到jdk/bin目录
3、将上面代码测试通过。
以上本机测试通过,机上装有wps,word。
前段时间因为写别的需求,所以把这个布署的事给耽搁了。
最近又要用到这个pdf,来处理一些查询方面的功能。
所以没有办法,一定要处理了。
一开始,在服务器上访问,通过tomcat访问,直接就报Can't co-create object
网上查了一下,这个情况还真是多,有的说把jacob.jar x64.dll放到tomcat lib
还要把它放到jdk bin lib jre bin lib下。
测试了以后,其实访问的是jre/bin下的dll
分析:
1、在本地测试是好的,本地安排winword,wps都可以
2、删除winword也是可以
3、那么以上说明什么wps也是可以的。
也有 Word.Application,也有说KWPS.Application
也有WPS.Application,都测试了,好像都不行。这个肯定是跟wps有关系了。
4、那么wps也可以的,就只要装wps在服务器上就OK了,毕竟 个人版的是免费的,而且ms office比较大,而且下载了一个
安装到服务器上,各种报错,这年头咱这么南了。
5、那么究竟是什么原因导致,本地可以,到了服务器就不行,本地是main中测试的,那么我到服务器上测试下看。
6、在服务器上下了个eclipse,建了一个工程,在main下面测试了,一切正常,虽然中文是乱码也不影响。
7、说明main下面是好,可以这样说,jdk什么的 .java源程序什么的都是好的。
8、只有通过tomcat访问不行,是不是没有权限,那么是不是dcom的问题,网上也有,看到dcom就有一种喜爱感,哈哈。
这个兄弟的写的不错,也帮了些同学解决了问题,我转一下:
https://blog.csdn.net/qq_33265520/article/details/79911381
确实我看了,有Microsoft Word6.0-7.0文档,只不过,服务器上是Document,哈哈。
好,那么确认了是有Word.Application这个可用的。
按上面的图,设置了,一定用处都没有,在tomcat下访问,确认没有用。一切照旧。
那会不会是tomcat访问不了呢?没有权限呢,要不要加一个用户呢,跟上面的图一样呢?
哈哈,通过tomcat访问了一下, 终于没有报错。但是目标地址咱没有文件呢。
奇怪了,查询了一下,这个转换要加个文件名,我没有写只写了一个目标地址,如果是通过soffice的话,
可以只写一个目录,自动会按源文件名,转成相应的pdf。
到目前为止,算是解决了。