java利用jacob將word轉(zhuǎn)pdf
本文實(shí)例為大家分享了java開(kāi)發(fā)利用jacob將word轉(zhuǎn)pdf的具體代碼,供大家參考,具體內(nèi)容如下
jacob 缺點(diǎn):需要 window 環(huán)境,而且速度是最慢的需要安裝 msofficeWord 以及 SaveAsPDFandXPS.exe ( word 的一個(gè)插件,用來(lái)把 word 轉(zhuǎn)化為 pdf )
開(kāi)發(fā)流程:
SaveAsPDFandXPS 下載地址
jacob 包下載地址:
1、先安裝SaveAsPDFandXPS
2、下載 jacob 解壓后存放路徑:
jacob.jar 放在 C:\Program Files\Java\jdk1.8.0_171\jre\lib\ext目錄下
jacob.dll 放在 C:\Program Files\Java\jdk1.8.0_171\jre\bin 目錄下
實(shí)現(xiàn)代碼如下:
package com.casf.hn.core.util; import java.io.File; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.ComThread; import com.jacob.com.Dispatch; import com.jacob.com.Variant; /** * 效果最好的一種方法,但是需要 window 環(huán)境,而且速度是最慢的需要安裝 msofficeWord 以及 SaveAsPDFandXPS.exe ( * word 的一個(gè)插件,用來(lái)把 word 轉(zhuǎn)化為 pdf,可以不用安裝,本次未安裝測(cè)試通過(guò) ) * * * */ public class WordToPdf { private static final int wdFormatPDF = 17; // PDF 格式 public void wordToPDF(String sfileName, String toFileName) { System.out.println("啟動(dòng) Word..."); long start = System.currentTimeMillis(); ActiveXComponent app = null; Dispatch doc = null; try { app = new ActiveXComponent("Word.Application"); app.setProperty("Visible", new Variant(false)); Dispatch docs = app.getProperty("Documents").toDispatch(); doc = Dispatch.call(docs, "Open", sfileName).toDispatch(); System.out.println("打開(kāi)文檔..." + sfileName); System.out.println("轉(zhuǎn)換文檔到 PDF..." + toFileName); File tofile = new File(toFileName); if (tofile.exists()) { tofile.delete(); } Dispatch.call(doc, "SaveAs", toFileName, // FileName wdFormatPDF); long end = System.currentTimeMillis(); System.out.println("轉(zhuǎn)換完成..用時(shí):" + (end - start) + "ms."); } catch (Exception e) { System.out.println("========Error:文檔轉(zhuǎn)換失?。? + e.getMessage()); } finally { Dispatch.call(doc, "Close", false); System.out.println("關(guān)閉文檔"); if (app != null) app.invoke("Quit", new Variant[] {}); } // 如果沒(méi)有這句話,winword.exe進(jìn)程將不會(huì)關(guān)閉 ComThread.Release(); } public static void main(String[] args) { WordToPdf d = new WordToPdf(); d.wordToPDF("D:\\cssj\\xxxx.doc", "D:\\cssj\\xxxx.pdf"); } }
運(yùn)行結(jié)果:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java 實(shí)現(xiàn)word模板轉(zhuǎn)為pdf
- Java將Word轉(zhuǎn)換成PDF的常用用法
- Java將word文件轉(zhuǎn)成pdf文件的操作方法
- java使用jacob實(shí)現(xiàn)word轉(zhuǎn)pdf
- Java實(shí)現(xiàn)無(wú)損Word轉(zhuǎn)PDF的示例代碼
- Java實(shí)現(xiàn)word/pdf轉(zhuǎn)html并在線預(yù)覽
- Java實(shí)現(xiàn)PDF轉(zhuǎn)為Word文檔的示例代碼
- Java將Word文檔轉(zhuǎn)換為PDF文件的幾種常用方法總結(jié)
相關(guān)文章
mybatis insert foreach循環(huán)插入方式
這篇文章主要介紹了mybatis insert foreach循環(huán)插入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Mybatis-Plus集成Sharding-JDBC與Flyway實(shí)現(xiàn)多租戶分庫(kù)分表實(shí)戰(zhàn)
這篇文章主要為大家介紹了Mybatis-Plus集成Sharding-JDBC與Flyway實(shí)現(xiàn)多租戶分庫(kù)分表實(shí)戰(zhàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Spring Cloud下基于OAUTH2認(rèn)證授權(quán)的實(shí)現(xiàn)示例
這篇文章主要介紹了Spring Cloud下基于OAUTH2認(rèn)證授權(quán)的實(shí)現(xiàn)示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03SpringBoot安全認(rèn)證Security的實(shí)現(xiàn)方法
這篇文章主要介紹了SpringBoot安全認(rèn)證Security的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05SpringMVC之簡(jiǎn)單的增刪改查示例(SSM整合)
本篇文章主要介紹了SpringMVC之簡(jiǎn)單的增刪改查示例(SSM整合),這個(gè)例子是基于SpringMVC+Spring+Mybatis實(shí)現(xiàn)的。有興趣的可以了解一下。2017-03-03一文帶你學(xué)會(huì)Java網(wǎng)絡(luò)編程
網(wǎng)絡(luò)編程是指編寫運(yùn)行在多個(gè)設(shè)備(計(jì)算機(jī))的程序,這些設(shè)備都通過(guò)網(wǎng)絡(luò)連接起來(lái)。這篇文章將帶大家深入了解一下Java的網(wǎng)絡(luò)編程,需要的可以了解一下2022-08-08