java使用Jacob笔记
因為項目需求,需要將word格式的文件轉為pdf或者圖片格式。在網上搜索后發現jacob相關的資料比較豐富,于是開始著手寫demo。
后來了解到Jacob只能在windows中調用,但是目前項目基本都在Linux運行,所以最終還是需要用其它的方法來實現。
記錄下本地搭建demo時遇到的一些異常。
1.java.lang.UnsatisfiedLinkError: E:\ajava\jdk1.7.0.25\bin\jacob.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
這個異常是因為Jacob.dll只支持在32位的jdk運行(貌似是),但是我本地jdk版本是64位,改用32位jdk后解決。
2.java.lang.UnsatisfiedLinkError: com.jacob.com.Dispatch.createInstanceNative
這個異常是因為jdk版本和jacob的jar版本有沖突導致的,改用最新的jacob后解決。正常調用。
另外,調用jacob的某些異常用Throwable才能獲取到。關于Throwable和exception之間的區別,不明白的可以百度。
最后選用了OpenOffice,可以跨平臺調用,而且生成的PDF也比Jacob要更為清晰,但是這個要基于OpenOffice插件,必需要裝并且啟動OpenOffice才能調用。跟跨平臺相比,這些應該都不是問題。
官網下載完之后安裝,運行快捷方式后發現和想象中的有區別。于是百度之,得知需要單獨啟動服務。命令如下:
????????soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;"-nofirststartwizard
但是在安裝目錄沒有發現PROGRAM文件夾,并且運行命令時提示異常,后來得知需要進入C盤的固定文件夾目錄下啟動(真的雞賊),cd C:\Program Files\OpenOffice.org3\program 。
正常啟動調用,結束。
總結
以上是生活随笔為你收集整理的java使用Jacob笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何对钓鱼邮件安全意识淡薄的员工进行教育
- 下一篇: 使用-完美者U盘维护系统V8