Word轉PDF,PNG,HTML神器XDOC

前言
在不少的項目中都會遇到操做Word文件的需求,特別是To B的這種項目。像一些招聘網站最多見的一個功能那就是導出簡歷啦,能夠導出doc,pdf,html等格式。
需求:
• 用戶上傳Word模板,須要將數據替換到Word模板中,而後輸出PDF文件。
• 上傳的模板須要在網頁中顯示,也就是輸出的PDF文件是什麼樣子,網頁中也要顯示什麼樣子。
基於上面的需求,最基本的功能仍是得修改Word文件,修改完成以後而後再轉PDF, 如何在網頁中顯示呢?好比說咱們能夠生成html格式,嵌入到網頁中,生成圖片也是能夠的。
最多見的操做框架有POI, OpenOffice也挺強大,能夠直接經過命令的方式轉換格式。上面的需求你用其餘的框架確定能實現,可能會比較麻煩,今天給你們推薦一個很是好用的神器XDOC。
我之因此稱爲神器,緣由是確實很是好用,主要是簡單,不須要任何jar包依賴,不須要安裝任務軟件,直接有云服務支持,而且是免費的。
官網地址:http://www.xdocin.com/
使用
使用有下面幾種方式:
• 直接調用接口
• 採用封裝好的jar
爲了簡單咱們直接使用封裝好的,要麼引入jar,要麼複製XDocService.java
XDocService用於在java應用中和操做系統命令行中調用xdoc服務。
程序庫 :
http://www.xdocin.com/XDocService.ja
源代碼 :
http://www.xdocin.com/XDocService.java
首先咱們先來簡單的對一個word文件轉pdf操做, 在E:\test目錄下建立一個test.docx文件,以下圖:
Word轉PDF,PNG,HTML神器XDOC
image.png
文件中有文字,字體設置,有圖片,接下來開始編寫轉換代碼:html

XDocService service = new XDocService();
try {
    service.to("E:\\test\\test.docx", new File("E:\\test\\test.pdf"));
} catch (IOException e) {
    e.printStackTrace();
}

只須要2行代碼,咱們就能夠實現word轉pdf的操做,是否是很簡單。
Word轉PDF,PNG,HTML神器XDOC
image.png
接下來實現一個稍微複雜點的需求,在將word轉pdf的時候,動態去修改word中的內容,咱們修改下docx文件,將標題變成動態的,使用${文字}格式編寫。
Word轉PDF,PNG,HTML神器XDOC
image.png
也就是說這個模板是固定的,可是咱們能夠在生成的時候去設置這個標題的文字,看代碼:java

XDocService service = new XDocService();
try {
    Map<String, Object> param = new HashMap<String, Object>();
    param.put("標題", "微服務");
    service.run("E:\\test\\test.docx", param, new File("E:\\test\\test.pdf"));
} catch (IOException e) {
    e.printStackTrace();
}

涉及到參數的傳遞咱們用run方法,效果以下:
Word轉PDF,PNG,HTML神器XDOC
image.png
最後再講一個點,將docx中的圖片也能動態替換,一樣的修改模板,改爲佔位符就能夠了。
Word轉PDF,PNG,HTML神器XDOC
image.png
代碼須要將圖片做爲參數傳入,有2種方式,一種是傳遞圖片的地址,須要是http://xx.png,可以經過網絡訪問,還有一種就是本地圖片,本地圖片須要轉成DataURI方式傳入。網絡

XDocService service = new XDocService();
try {
    Map<String, Object> param = new HashMap<String, Object>();
    param.put("標題", "微服務");
    param.put("圖片", "http://cxytiandi.com/images/gongzhonghao.jpg");
    service.run("E:\\test\\test.docx", param, new File("E:\\test\\test.pdf"));
} catch (IOException e) {
    e.printStackTrace();
}

Word轉PDF,PNG,HTML神器XDOC
image.png
就寫這麼多吧,更多的使用方式,請自行去官網查看文檔。總之就是一句話,很好用。
Word轉PDF,PNG,HTML神器XDOC框架

尹吉歡
我不差錢啊
喜歡做者ide

相關文章
相關標籤/搜索