[發明專利]一種基于freemarker生成docx格式文檔的方法及系統在審
| 申請號: | 202110697779.7 | 申請日: | 2021-06-23 |
| 公開(公告)號: | CN113378535A | 公開(公告)日: | 2021-09-10 |
| 發明(設計)人: | 湯先偉;張華 | 申請(專利權)人: | 浪潮軟件科技有限公司 |
| 主分類號: | G06F40/186 | 分類號: | G06F40/186;G06F40/149;G06F16/174;G06F16/83;G06F16/838 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 姜明 |
| 地址: | 250100 山東省濟*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 freemarker 生成 docx 格式 文檔 方法 系統 | ||
本發明公開了一種基于freemarker生成docx格式文檔的方法及系統,屬于文檔生成實現技術領域。本發明的基于freemarker生成docx格式文檔的方法,按照docx中文檔內容編寫ftl模板文件,生成文檔時從數據庫中查詢相關內容,使用freemaker生成xml文件,同時生成文檔圖片,將相關內容壓縮生成docx文檔。該發明的基于freemarker生成docx格式文檔的方法只需要修改ftl模板文件就可以實現對docx文檔格式快速調整,具有很好的推廣應用價值。
技術領域
本發明涉及文檔生成實現技術領域,具體提供一種基于freemarker生成docx格式文檔的方法及系統。
背景技術
在某些業務場景中,需要按照固定的格式結合實際的生產數據生成報告文檔,一般的實現方式是基于文本變量替換的方式,在生成文件時需要遍歷文本進行替換,然后再使用poi生成文檔,后期修改需要重新打包編譯,不便于維護,且對于文檔中的圖片生成沒有很好的實現方式。FreeMarker是一種基于模板和要改變的數據,并用來生成輸出文本(HTML網頁、電子郵件、配置文件、源代碼等)的模板引擎。模板編寫為FreeMarker TemplateLanguage(FTL)。它是簡單的、專用的語言,不是像PHP那樣成熟的編程語言。在模板中,可以專注于如何展現數據,而在模板之外可以專注于要展示什么數據。為了更靈活的實現docx文檔的生成,便于后期維護,以及實現文檔中展示圖片的功能,有待進一步的改進。
發明內容
本發明的技術任務是針對上述存在的問題,提供一種只需要修改ftl模板文件就可以實現對docx文檔格式快速調整的基于freemarker生成docx格式文檔的方法。
本發明進一步的技術任務是提供一種基于freemarker生成docx格式文檔的系統。
為實現上述目的,本發明提供了如下技術方案:
一種基于freemarker生成docx格式文檔的方法,按照docx中文檔內容編寫ftl模板文件,生成文檔時從數據庫中查詢相關內容,使用freemaker生成xml文件,同時生成文檔圖片,將相關內容壓縮生成docx文檔。
作為優選,該基于freemarker生成docx格式文檔的方法包括以下步驟:
S1、制作模板:獲取文檔xml內容,整理document.xml文件,編寫ftl模板文件;
S2、生成xml文件:查詢數據,解壓docx模板,生成xml;
S3、生成圖片:查詢數據,前端渲染,后端生成;
S4、生成文檔:壓縮文件。
作為優選,獲取文檔xml內容時,通過壓縮工具解壓docx文件,獲取docx文件中的document.xml文件,及需要生成的圖片的名稱。
整理document.xml文件:由于document.xml是使用xml語言描述了docx文件的內容及格式,存在語句斷開的情況,需要進行整理,使內容連貫。
作為優選,編寫ftl模板文件時,將document.xml文件中需動態生成的內容使用freemarker語法替換為變量,需判斷的語句使用freemarker語法進行判斷。
作為優選,生成xml文件的查詢數據為從數據庫中查詢需展示在文檔中的數據,數據類型為Map或Json。
解壓docx模板:docx模板文件的主要作用是解壓后,作為生成新的文檔的基礎文件,提供除document.xml及圖片之外的其他的文件,包括styles.xml、settings.xml等文件。生成xml:通過指定的ftl模板將查詢到的數據傳入ftl模板,freemarker通過文件輸出生成xml文件,生成的document.xml文件位置位于word目錄下。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮軟件科技有限公司,未經浪潮軟件科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110697779.7/2.html,轉載請聲明來源鉆瓜專利網。





