freemarker生成word文档,通过libreoffice完美转为pdf文件排版不乱(包含调用浏览器打印pdf)
生活随笔
收集整理的這篇文章主要介紹了
freemarker生成word文档,通过libreoffice完美转为pdf文件排版不乱(包含调用浏览器打印pdf)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
了解libreoffice的朋友都知道,freemarker是用xml生成的word文檔,libreoffice打開這些文檔會不兼容,會直接顯示xml代碼或排版差別很大,尤其是文檔中包含一些復雜表格的時候
一開始的時候我用office的doc做模板,生成文件后轉pdf,版面差別太大,失敗~
后來覺得docx解壓后全是xml文件應該會完美兼容,索性將docx做模板,解壓替換文件后用java.util.zip重新壓縮,結果wps打開完美,office打開完美,可是libreoffice直接報錯打不開,研究后不得其解,失敗~
再后來我發現libreoffice中有個格式fodt,是xml文本文檔,果斷用它做模板,完美結合,成功~
生成pdf文件步驟:
- 使用libreoffice新建并做出符合需求的模板
- 保存為fodt格式文件
- 用freemarker語法去寫標簽
- 做好后保存為ftl格式
- 后臺獲取數據并生成fodt格式臨時文件
- 使用libreoffice轉化為pdf文件
pdf預覽并打印:
- 前端使用iframe標簽預覽
- 調用瀏覽器打印
ps:我是要通過libreoffice生成pdf文檔才使用的fodt格式文件做freemarker模板的,fodt文件wps和office是不支持的,如果你的需求只是生成word文檔則可直接使用offoce word做模板.當然啦,實現方法很多,以上只是其中一種,如有更好的方法請評論告知,謝謝~
總結
以上是生活随笔為你收集整理的freemarker生成word文档,通过libreoffice完美转为pdf文件排版不乱(包含调用浏览器打印pdf)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于 OpenSSL“心脏出血”漏洞的分
- 下一篇: 使用谷歌浏览器控制台提示[DOM] Pa