首先将word 转换成xml ,再修改后缀名位ftl ,并用freemark 标签替换其中的主要设置,模板参考如下
<?xml version="1.0" encoding="utf-8"?>
<?mso-application progid="Word.Document"?>
<w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex" xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex" xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex" xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex" xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex" xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex" xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex" xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink" xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wsp="http://schemas.microsoft.com/office/word/2003/wordml/sp2" xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve">
<w:ignoreSubtree w:val="http://schemas.microsoft.com/office/word/2003/wordml/sp2"/>
<o:DocumentProperties>
<o:Author>liu ao</o:Author>
<o:LastAuthor>liu ao</o:LastAuthor>
<o:Revision>2</o:Revision>
<o:TotalTime>0</o:TotalTime>
<o:Created>2018-07-03T08:22:00Z</o:Created>
<o:LastSaved>2018-07-03T08:22:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Words>6</o:Words>
<o:Characters>36</o:Characters>
<o:Lines>1</o:Lines>
<o:Paragraphs>1</o:Paragraphs>
<o:CharactersWithSpaces>41</o:CharactersWithSpaces>
<o:Version>16</o:Version>
</o:DocumentProperties>
<w:fonts>
<w:defaultFonts w:ascii="等线" w:fareast="等线" w:h-ansi="等线" w:cs="Times New Roman"/>
<w:font w:name="Times New Roman">
<w:panose-1 w:val="02020603050405020304"/>
<w:charset w:val="00"/>
<w:family w:val="Roman"/>
<w:pitch w:val="variable"/>
<w:sig w:usb-0="E0002EFF" w:usb-1="C000785B" w:usb-2="00000009" w:usb-3="00000000" w:csb-0="000001FF" w:csb-1="00000000"/>
</w:font>
<w:font w:name="Cambria Math">
<w:panose-1 w:val="02040503050406030204"/>
<w:charset w:val="00"/>
<w:family w:val="Roman"/>
<w:pitch w:val="variable"/>
<w:sig w:usb-0="00000003" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="00000001" w:csb-1="00000000"/>
</w:font>
<w:font w:name="等线">
<w:altName w:val="DengXian"/>
<w:panose-1 w:val="02010600030101010101"/>
<w:charset w:val="86"/>
<w:family w:val="auto"/>
<w:pitch w:val="variable"/>
<w:sig w:usb-0="A00002BF" w:usb-1="38CF7CFA" w:usb-2="00000016" w:usb-3="00000000" w:csb-0="0004000F" w:csb-1="00000000"/>
</w:font>
<w:font w:name="@等线">
<w:panose-1 w:val="02010600030101010101"/>
<w:charset w:val="86"/>
<w:family w:val="auto"/>
<w:pitch w:val="variable"/>
<w:sig w:usb-0="A00002BF" w:usb-1="38CF7CFA" w:usb-2="00000016" w:usb-3="00000000" w:csb-0="0004000F" w:csb-1="00000000"/>
</w:font>
</w:fonts>
<w:styles>
<w:versionOfBuiltInStylenames w:val="7"/>
<w:latentStyles w:defLockedState="off" w:latentStyleCount="375">
<w:lsdException w:name="Normal"/>
<w:lsdException w:name="heading 1"/>
<w:lsdException w:name="heading 2"/>
<w:lsdException w:name="heading 3"/>
<w:lsdException w:name="heading 4"/>
<w:lsdException w:name="heading 5"/>
<w:lsdException w:name="heading 6"/>
<w:lsdException w:name="heading 7"/>
<w:lsdException w:name="heading 8"/>
<w:lsdException w:name="heading 9"/>
<w:lsdException w:name="index 1"/>
<w:lsdException w:name="index 2"/>
<w:lsdException w:name="index 3"/>
<w:lsdException w:name="index 4"/>
<w:lsdException w:name="index 5"/>
<w:lsdException w:name="index 6"/>
<w:lsdException w:name="index 7"/>
<w:lsdException w:name="index 8"/>
<w:lsdException w:name="index 9"/>
<w:lsdException w:name="toc 1"/>
<w:lsdException w:name="toc 2"/>
<w:lsdException w:name="toc 3"/>
<w:lsdException w:name="toc 4"/>
<w:lsdException w:name="toc 5"/>
<w:lsdException w:name="toc 6"/>
<w:lsdException w:name="toc 7"/>
<w:lsdException w:name="toc 8"/>
<w:lsdException w:name="toc 9"/>
<w:lsdException w:name="Normal Indent"/>
<w:lsdException w:name="footnote text"/>
<w:lsdException w:name="annotation text"/>
<w:lsdException w:name="header"/>
<w:lsdException w:name="footer"/>
<w:lsdException w:name="index heading"/>
<w:lsdException w:name="caption"/>
<w:lsdException w:name="table of figures"/>
<w:lsdException w:name="envelope address"/>
<w:lsdException w:name="envelope return"/>
<w:lsdException w:name="footnote reference"/>
<w:lsdException w:name="annotation reference"/>
<w:lsdException w:name="line number"/>
<w:lsdException w:name="page number"/>
<w:lsdException w:name="endnote reference"/>
<w:lsdException w:name="endnote text"/>
<w:lsdException w:name="table of authorities"/>
<w:lsdException w:name="macro"/>
<w:lsdException w:name="toa heading"/>
<w:lsdException w:name="List"/>
<w:lsdException w:name="List Bullet"/>
<w:lsdException w:name="List Number"/>
<w:lsdException w:name="List 2"/>
<w:lsdException w:name="List 3"/>
<w:lsdException w:name="List 4"/>
<w:lsdException w:name="List 5"/>
<w:lsdException w:name="List Bullet 2"/>
<w:lsdException w:name="List Bullet 3"/>
<w:lsdException w:name="List Bullet 4"/>
<w:lsdException w:name="List Bullet 5"/>
<w:lsdException w:name="List Number 2"/>
<w:lsdException w:name="List Number 3"/>
<w:lsdException w:name="List Number 4"/>
<w:lsdException w:name="List Number 5"/>
<w:lsdException w:name="Title"/>
<w:lsdException w:name="Closing"/>
<w:lsdException w:name="Signature"/>
<w:lsdException w:name="Default Paragraph Font"/>
<w:lsdException w:name="Body Text"/>
<w:lsdException w:name="Body Text Indent"/>
<w:lsdException w:name="List Continue"/>
<w:lsdException w:name="List Continue 2"/>
<w:lsdException w:name="List Continue 3"/>
<w:lsdException w:name="List Continue 4"/>
<w:lsdException w:name="List Continue 5"/>
<w:lsdException w:name="Message Header"/>
<w:lsdException w:name="Subtitle"/>
<w:lsdException w:name="Salutation"/>
<w:lsdException w:name="Date"/>
<w:lsdException w:name="Body Text First Indent"/>
<w:lsdException w:name="Body Text First Indent 2"/>
<w:lsdException w:name="Note Heading"/>
<w:lsdException w:name="Body Text 2"/>
<w:lsdException w:name="Body Text 3"/>
<w:lsdException w:name="Body Text Indent 2"/>
<w:lsdException w:name="Body Text Indent 3"/>
<w:lsdException w:name="Block Text"/>
<w:lsdException w:name="Hyperlink"/>
<w:lsdException w:name="FollowedHyperlink"/>
<w:lsdException w:name="Strong"/>
<w:lsdException w:name="Emphasis"/>
<w:lsdException w:name="Document Map"/>
<w:lsdException w:name="Plain Text"/>
<w:lsdException w:name="E-mail Signature"/>
<w:lsdException w:name="HTML Top of Form"/>
<w:lsdException w:name="HTML Bottom of Form"/>
<w:lsdException w:name="Normal (Web)"/>
<w:lsdException w:name="HTML Acronym"/>
<w:lsdException w:name="HTML Address"/>
<w:lsdException w:name="HTML Cite"/>
<w:lsdException w:name="HTML Code"/>
<w:lsdException w:name="HTML Definition"/>
<w:lsdException w:name="HTML Keyboard"/>
<w:lsdException w:name="HTML Preformatted"/>
<w:lsdException w:name="HTML Sample"/>
<w:lsdException w:name="HTML Typewriter"/>
<w:lsdException w:name="HTML Variable"/>
<w:lsdException w:name="Normal Table"/>
<w:lsdException w:name="annotation subject"/>
<w:lsdException w:name="No List"/>
<w:lsdException w:name="Outline List 1"/>
<w:lsdException w:name="Outline List 2"/>
<w:lsdException w:name="Outline List 3"/>
<w:lsdException w:name="Table Simple 1"/>
<w:lsdException w:name="Table Simple 2"/>
<w:lsdException w:name="Table Simple 3"/>
<w:lsdException w:name="Table Classic 1"/>
<w:lsdException w:name="Table Classic 2"/>
<w:lsdException w:name="Table Classic 3"/>
<w:lsdException w:name="Table Classic 4"/>
<w:lsdException w:name="Table Colorful 1"/>
<w:lsdException w:name="Table Colorful 2"/>
<w:lsdException w:name="Table Colorful 3"/>
<w:lsdException w:name="Table Columns 1"/>
<w:lsdException w:name="Table Columns 2"/>
<w:lsdException w:name="Table Columns 3"/>
<w:lsdException w:name="Table Columns 4"/>
<w:lsdException w:name="Table Columns 5"/>
<w:lsdException w:name="Table Grid 1"/>
<w:lsdException w:name="Table Grid 2"/>
<w:lsdException w:name="Table Grid 3"/>
<w:lsdException w:name="Table Grid 4"/>
<w:lsdException w:name="Table Grid 5"/>
<w:lsdException w:name="Table Grid 6"/>
<w:lsdException w:name="Table Grid 7"/>
<w:lsdException w:name="Table Grid 8"/>
<w:lsdException w:name="Table List 1"/>
<w:lsdException w:name="Table List 2"/>
<w:lsdException w:name="Table List 3"/>
<w:lsdException w:name="Table List 4"/>
<w:lsdException w:name="Table List 5"/>
<w:lsdException w:name="Table List 6"/>
<w:lsdException w:name="Table List 7"/>
<w:lsdException w:name="Table List 8"/>
<w:lsdException w:name="Table 3D effects 1"/>
<w:lsdException w:name="Table 3D effects 2"/>
<w:lsdException w:name="Table 3D effects 3"/>
<w:lsdException w:name="Table Contemporary"/>
<w:lsdException w:name="Table Elegant"/>
<w:lsdException w:name="Table Professional"/>
<w:lsdException w:name="Table Subtle 1"/>
<w:lsdException w:name="Table Subtle 2"/>
<w:lsdException w:name="Table Web 1"/>
<w:lsdException w:name="Table Web 2"/>
<w:lsdException w:name="Table Web 3"/>
<w:lsdException w:name="Balloon Text"/>
<w:lsdException w:name="Table Grid"/>
<w:lsdException w:name="Table Theme"/>
<w:lsdException w:name="Placeholder Text"/>
<w:lsdException w:name="No Spacing"/>
<w:lsdException w:name="Light Shading"/>
<w:lsdException w:name="Light List"/>
<w:lsdException w:name="Light Grid"/>
<w:lsdException w:name="Medium Shading 1"/>
<w:lsdException w:name="Medium Shading 2"/>
<w:lsdException w:name="Medium List 1"/>
<w:lsdException w:name="Medium List 2"/>
<w:lsdException w:name="Medium Grid 1"/>
<w:lsdException w:name="Medium Grid 2"/>
<w:lsdException w:name="Medium Grid 3"/>
<w:lsdException w:name="Dark List"/>
<w:lsdException w:name="Colorful Shading"/>
<w:lsdException w:name="Colorful List"/>
<w:lsdException w:name="Colorful Grid"/>
<w:lsdException w:name="Light Shading Accent 1"/>
<w:lsdException w:name="Light List Accent 1"/>
<w:lsdException w:name="Light Grid Accent 1"/>
<w:lsdException w:name="Medium Shading 1 Accent 1"/>
<w:lsdException w:name="Medium Shading 2 Accent 1"/>
<w:lsdException w:name="Medium List 1 Accent 1"/>
<w:lsdException w:name="Revision"/>
<w:lsdException w:name="List Paragraph"/>
<w:lsdException w:name="Quote"/>
<w:lsdException w:name="Intense Quote"/>
<w:lsdException w:name="Medium List 2 Accent 1"/>
<w:lsdException w:name="Medium Grid 1 Accent 1"/>
<w:lsdException w:name="Medium Grid 2 Accent 1"/>
<w:lsdException w:name="Medium Grid 3 Accent 1"/>
<w:lsdException w:name="Dark List Accent 1"/>
<w:lsdException w:name="Colorful Shading Accent 1"/>
<w:lsdException w:name="Colorful List Accent 1"/>
<w:lsdException w:name="Colorful Grid Accent 1"/>
<w:lsdException w:name="Light Shading Accent 2"/>
<w:lsdException w:name="Light List Accent 2"/>
<w:lsdException w:name="Light Grid Accent 2"/>
<w:lsdException w:name="Medium Shading 1 Accent 2"/>
<w:lsdException w:name="Medium Shading 2 Accent 2"/>
<w:lsdException w:name="Medium List 1 Accent 2"/>
<w:lsdException w:name="Medium List 2 Accent 2"/>
<w:lsdException w:name="Medium Grid 1 Accent 2"/>
<w:lsdException w:name="Medium Grid 2 Accent 2"/>
<w:lsdException w:name="Medium Grid 3 Accent 2"/>
<w:lsdException w:name="Dark List Accent 2"/>
<w:lsdException w:name="Colorful Shading Accent 2"/>
<w:lsdException w:name="Colorful List Accent 2"/>
<w:lsdException w:name="Colorful Grid Accent 2"/>
<w:lsdException w:name="Light Shading Accent 3"/>
<w:lsdException w:name="Light List Accent 3"/>
<w:lsdException w:name="Light Grid Accent 3"/>
<w:lsdException w:name="Medium Shading 1 Accent 3"/>
<w:lsdException w:name="Medium Shading 2 Accent 3"/>
<w:lsdException w:name="Medium List 1 Accent 3"/>
<w:lsdException w:name="Medium List 2 Accent 3"/>
<w:lsdException w:name="Medium Grid 1 Accent 3"/>
<w:lsdException w:name="Medium Grid 2 Accent 3"/>
<w:lsdException w:name="Medium Grid 3 Accent 3"/>
<w:lsdException w:name="Dark List Accent 3"/>
<w:lsdException w:name="Colorful Shading Accent 3"/>
<w:lsdException w:name="Colorful List Accent 3"/>
<w:lsdException w:name="Colorful Grid Accent 3"/>
<w:lsdException w:name="Light Shading Accent 4"/>
<w:lsdException w:name="Light List Accent 4"/>
<w:lsdException w:name="Light Grid Accent 4"/>
<w:lsdException w:name="Medium Shading 1 Accent 4"/>
<w:lsdException w:name="Medium Shading 2 Accent 4"/>
<w:lsdException w:name="Medium List 1 Accent 4"/>
<w:lsdException w:name="Medium List 2 Accent 4"/>
<w:lsdException w:name="Medium Grid 1 Accent 4"/>
<w:lsdException w:name="Medium Grid 2 Accent 4"/>
<w:lsdException w:name="Medium Grid 3 Accent 4"/>
<w:lsdException w:name="Dark List Accent 4"/>
<w:lsdException w:name="Colorful Shading Accent 4"/>
<w:lsdException w:name="Colorful List Accent 4"/>
<w:lsdException w:name="Colorful Grid Accent 4"/>
<w:lsdException w:name="Light Shading Accent 5"/>
<w:lsdException w:name="Light List Accent 5"/>
<w:lsdException w:name="Light Grid Accent 5"/>
<w:lsdException w:name="Medium Shading 1 Accent 5"/>
<w:lsdException w:name="Medium Shading 2 Accent 5"/>
<w:lsdException w:name="Medium List 1 Accent 5"/>
<w:lsdException w:name="Medium List 2 Accent 5"/>
<w:lsdException w:name="Medium Grid 1 Accent 5"/>
<w:lsdException w:name="Medium Grid 2 Accent 5"/>
<w:lsdException w:name="Medium Grid 3 Accent 5"/>
<w:lsdException w:name="Dark List Accent 5"/>
<w:lsdException w:name="Colorful Shading Accent 5"/>
<w:lsdException w:name="Colorful List Accent 5"/>
<w:lsdException w:name="Colorful Grid Accent 5"/>
<w:lsdException w:name="Light Shading Accent 6"/>
<w:lsdException w:name="Light List Accent 6"/>
<w:lsdException w:name="Light Grid Accent 6"/>
<w:lsdException w:name="Medium Shading 1 Accent 6"/>
<w:lsdException w:name="Medium Shading 2 Accent 6"/>
<w:lsdException w:name="Medium List 1 Accent 6"/>
<w:lsdException w:name="Medium List 2 Accent 6"/>
<w:lsdException w:name="Medium Grid 1 Accent 6"/>
<w:lsdException w:name="Medium Grid 2 Accent 6"/>
<w:lsdException w:name="Medium Grid 3 Accent 6"/>
<w:lsdException w:name="Dark List Accent 6"/>
<w:lsdException w:name="Colorful Shading Accent 6"/>
<w:lsdException w:name="Colorful List Accent 6"/>
<w:lsdException w:name="Colorful Grid Accent 6"/>
<w:lsdException w:name="Subtle Emphasis"/>
<w:lsdException w:name="Intense Emphasis"/>
<w:lsdException w:name="Subtle Reference"/>
<w:lsdException w:name="Intense Reference"/>
<w:lsdException w:name="Book Title"/>
<w:lsdException w:name="Bibliography"/>
<w:lsdException w:name="TOC Heading"/>
<w:lsdException w:name="Plain Table 1"/>
<w:lsdException w:name="Plain Table 2"/>
<w:lsdException w:name="Plain Table 3"/>
<w:lsdException w:name="Plain Table 4"/>
<w:lsdException w:name="Plain Table 5"/>
<w:lsdException w:name="Grid Table Light"/>
<w:lsdException w:name="Grid Table 1 Light"/>
<w:lsdException w:name="Grid Table 2"/>
<w:lsdException w:name="Grid Table 3"/>
<w:lsdException w:name="Grid Table 4"/>
<w:lsdException w:name="Grid Table 5 Dark"/>
<w:lsdException w:name="Grid Table 6 Colorful"/>
<w:lsdException w:name="Grid Table 7 Colorful"/>
<w:lsdException w:name="Grid Table 1 Light Accent 1"/>
<w:lsdException w:name="Grid Table 2 Accent 1"/>
<w:lsdException w:name="Grid Table 3 Accent 1"/>
<w:lsdException w:name="Grid Table 4 Accent 1"/>
<w:lsdException w:name="Grid Table 5 Dark Accent 1"/>
<w:lsdException w:name="Grid Table 6 Colorful Accent 1"/>
<w:lsdException w:name="Grid Table 7 Colorful Accent 1"/>
<w:lsdException w:name="Grid Table 1 Light Accent 2"/>
<w:lsdException w:name="Grid Table 2 Accent 2"/>
<w:lsdException w:name="Grid Table 3 Accent 2"/>
<w:lsdException w:name="Grid Table 4 Accent 2"/>
<w:lsdException w:name="Grid Table 5 Dark Accent 2"/>
<w:lsdException w:name="Grid Table 6 Colorful Accent 2"/>
<w:lsdException w:name="Grid Table 7 Colorful Accent 2"/>
<w:lsdException w:name="Grid Table 1 Light Accent 3"/>
<w:lsdException w:name="Grid Table 2 Accent 3"/>
<w:lsdException w:name="Grid Table 3 Accent 3"/>
<w:lsdException w:name="Grid Table 4 Accent 3"/>
<w:lsdException w:name="Grid Table 5 Dark Accent 3"/>
<w:lsdException w:name="Grid Table 6 Colorful Accent 3"/>
<w:lsdException w:name="Grid Table 7 Colorful Accent 3"/>
<w:lsdException w:name="Grid Table 1 Light Accent 4"/>
<w:lsdException w:name="Grid Table 2 Accent 4"/>
<w:lsdException w:name="Grid Table 3 Accent 4"/>
<w:lsdException w:name="Grid Table 4 Accent 4"/>
<w:lsdException w:name="Grid Table 5 Dark Accent 4"/>
<w:lsdException w:name="Grid Table 6 Colorful Accent 4"/>
<w:lsdException w:name="Grid Table 7 Colorful Accent 4"/>
<w:lsdException w:name="Grid Table 1 Light Accent 5"/>
<w:lsdException w:name="Grid Table 2 Accent 5"/>
<w:lsdException w:name="Grid Table 3 Accent 5"/>
<w:lsdException w:name="Grid Table 4 Accent 5"/>
<w:lsdException w:name="Grid Table 5 Dark Accent 5"/>
<w:lsdException w:name="Grid Table 6 Colorful Accent 5"/>
<w:lsdException w:name="Grid Table 7 Colorful Accent 5"/>
<w:lsdException w:name="Grid Table 1 Light Accent 6"/>
<w:lsdException w:name="Grid Table 2 Accent 6"/>
<w:lsdException w:name="Grid Table 3 Accent 6"/>
<w:lsdException w:name="Grid Table 4 Accent 6"/>
<w:lsdException w:name="Grid Table 5 Dark Accent 6"/>
<w:lsdException w:name="Grid Table 6 Colorful Accent 6"/>
<w:lsdException w:name="Grid Table 7 Colorful Accent 6"/>
<w:lsdException w:name="List Table 1 Light"/>
<w:lsdException w:name="List Table 2"/>
<w:lsdException w:name="List Table 3"/>
<w:lsdException w:name="List Table 4"/>
<w:lsdException w:name="List Table 5 Dark"/>
<w:lsdException w:name="List Table 6 Colorful"/>
<w:lsdException w:name="List Table 7 Colorful"/>
<w:lsdException w:name="List Table 1 Light Accent 1"/>
<w:lsdException w:name="List Table 2 Accent 1"/>
<w:lsdException w:name="List Table 3 Accent 1"/>
<w:lsdException w:name="List Table 4 Accent 1"/>
<w:lsdException w:name="List Table 5 Dark Accent 1"/>
<w:lsdException w:name="List Table 6 Colorful Accent 1"/>
<w:lsdException w:name="List Table 7 Colorful Accent 1"/>
<w:lsdException w:name="List Table 1 Light Accent 2"/>
<w:lsdException w:name="List Table 2 Accent 2"/>
<w:lsdException w:name="List Table 3 Accent 2"/>
<w:lsdException w:name="List Table 4 Accent 2"/>
<w:lsdException w:name="List Table 5 Dark Accent 2"/>
<w:lsdException w:name="List Table 6 Colorful Accent 2"/>
<w:lsdException w:name="List Table 7 Colorful Accent 2"/>
<w:lsdException w:name="List Table 1 Light Accent 3"/>
<w:lsdException w:name="List Table 2 Accent 3"/>
<w:lsdException w:name="List Table 3 Accent 3"/>
<w:lsdException w:name="List Table 4 Accent 3"/>
<w:lsdException w:name="List Table 5 Dark Accent 3"/>
<w:lsdException w:name="List Table 6 Colorful Accent 3"/>
<w:lsdException w:name="List Table 7 Colorful Accent 3"/>
<w:lsdException w:name="List Table 1 Light Accent 4"/>
<w:lsdException w:name="List Table 2 Accent 4"/>
<w:lsdException w:name="List Table 3 Accent 4"/>
<w:lsdException w:name="List Table 4 Accent 4"/>
<w:lsdException w:name="List Table 5 Dark Accent 4"/>
<w:lsdException w:name="List Table 6 Colorful Accent 4"/>
<w:lsdException w:name="List Table 7 Colorful Accent 4"/>
<w:lsdException w:name="List Table 1 Light Accent 5"/>
<w:lsdException w:name="List Table 2 Accent 5"/>
<w:lsdException w:name="List Table 3 Accent 5"/>
<w:lsdException w:name="List Table 4 Accent 5"/>
<w:lsdException w:name="List Table 5 Dark Accent 5"/>
<w:lsdException w:name="List Table 6 Colorful Accent 5"/>
<w:lsdException w:name="List Table 7 Colorful Accent 5"/>
<w:lsdException w:name="List Table 1 Light Accent 6"/>
<w:lsdException w:name="List Table 2 Accent 6"/>
<w:lsdException w:name="List Table 3 Accent 6"/>
<w:lsdException w:name="List Table 4 Accent 6"/>
<w:lsdException w:name="List Table 5 Dark Accent 6"/>
<w:lsdException w:name="List Table 6 Colorful Accent 6"/>
<w:lsdException w:name="List Table 7 Colorful Accent 6"/>
<w:lsdException w:name="Mention"/>
<w:lsdException w:name="Smart Hyperlink"/>
<w:lsdException w:name="Hashtag"/>
<w:lsdException w:name="Unresolved Mention"/>
</w:latentStyles>
<w:style w:type="paragraph" w:default="on" w:styleId="a">
<w:name w:val="Normal"/>
<wx:uiName wx:val="正文"/>
<w:pPr>
<w:widowControl w:val="off"/>
<w:jc w:val="both"/>
</w:pPr>
<w:rPr>
<wx:font wx:val="等线"/>
<w:kern w:val="2"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="22"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN" w:bidi="AR-SA"/>
</w:rPr>
</w:style>
<w:style w:type="character" w:default="on" w:styleId="a0">
<w:name w:val="Default Paragraph Font"/>
<wx:uiName wx:val="默认段落字体"/>
</w:style>
<w:style w:type="table" w:default="on" w:styleId="a1">
<w:name w:val="Normal Table"/>
<wx:uiName wx:val="普通表格"/>
<w:rPr>
<wx:font wx:val="等线"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN" w:bidi="AR-SA"/>
</w:rPr>
<w:tblPr>
<w:tblInd w:w="0" w:type="dxa"/>
<w:tblCellMar>
<w:top w:w="0" w:type="dxa"/>
<w:left w:w="108" w:type="dxa"/>
<w:bottom w:w="0" w:type="dxa"/>
<w:right w:w="108" w:type="dxa"/>
</w:tblCellMar>
</w:tblPr>
</w:style>
<w:style w:type="list" w:default="on" w:styleId="a2">
<w:name w:val="No List"/>
<wx:uiName wx:val="无列表"/>
</w:style>
<w:style w:type="table" w:styleId="a3">
<w:name w:val="Table Grid"/>
<wx:uiName wx:val="网格型"/>
<w:basedOn w:val="a1"/>
<w:rsid w:val="006C0DD4"/>
<w:rPr>
<wx:font wx:val="等线"/>
</w:rPr>
<w:tblPr>
<w:tblBorders>
<w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
</w:tblBorders>
</w:tblPr>
</w:style>
<w:style w:type="paragraph" w:styleId="a4">
<w:name w:val="No Spacing"/>
<wx:uiName wx:val="无间隔"/>
<w:rsid w:val="00F7285E"/>
<w:pPr>
<w:widowControl w:val="off"/>
<w:jc w:val="both"/>
</w:pPr>
<w:rPr>
<wx:font wx:val="等线"/>
<w:kern w:val="2"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="22"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN" w:bidi="AR-SA"/>
</w:rPr>
</w:style>
</w:styles>
<w:shapeDefaults>
<o:shapedefaults v:ext="edit" spidmax="1026"/>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout>
</w:shapeDefaults>
<w:docPr>
<w:view w:val="print"/>
<w:zoom w:percent="100"/>
<w:doNotEmbedSystemFonts/>
<w:bordersDontSurroundHeader/>
<w:bordersDontSurroundFooter/>
<w:defaultTabStop w:val="420"/>
<w:drawingGridHorizontalSpacing w:val="105"/>
<w:drawingGridVerticalSpacing w:val="156"/>
<w:displayHorizontalDrawingGridEvery w:val="0"/>
<w:displayVerticalDrawingGridEvery w:val="2"/>
<w:punctuationKerning/>
<w:characterSpacingControl w:val="CompressPunctuation"/>
<w:optimizeForBrowser/>
<w:allowPNG/>
<w:validateAgainstSchema/>
<w:saveInvalidXML w:val="off"/>
<w:ignoreMixedContent w:val="off"/>
<w:alwaysShowPlaceholderText w:val="off"/>
<w:compat>
<w:spaceForUL/>
<w:balanceSingleByteDoubleByteWidth/>
<w:doNotLeaveBackslashAlone/>
<w:ulTrailSpace/>
<w:doNotExpandShiftReturn/>
<w:adjustLineHeightInTable/>
<w:breakWrappedTables/>
<w:snapToGridInCell/>
<w:wrapTextWithPunct/>
<w:useAsianBreakRules/>
<w:dontGrowAutofit/>
<w:useFELayout/>
</w:compat>
<wsp:rsids>
<wsp:rsidRoot wsp:val="0070281F"/>
<wsp:rsid wsp:val="00074784"/>
<wsp:rsid wsp:val="000D7BA5"/>
<wsp:rsid wsp:val="00100B51"/>
<wsp:rsid wsp:val="003B57A3"/>
<wsp:rsid wsp:val="004235DE"/>
<wsp:rsid wsp:val="00426DC5"/>
<wsp:rsid wsp:val="004B002D"/>
<wsp:rsid wsp:val="00611527"/>
<wsp:rsid wsp:val="006C0DD4"/>
<wsp:rsid wsp:val="0070281F"/>
<wsp:rsid wsp:val="00703B9C"/>
<wsp:rsid wsp:val="007368A9"/>
<wsp:rsid wsp:val="0078208E"/>
<wsp:rsid wsp:val="00914797"/>
<wsp:rsid wsp:val="009901B1"/>
<wsp:rsid wsp:val="00A32209"/>
<wsp:rsid wsp:val="00A53B8A"/>
<wsp:rsid wsp:val="00B02159"/>
<wsp:rsid wsp:val="00E669F3"/>
<wsp:rsid wsp:val="00EB0832"/>
<wsp:rsid wsp:val="00F7285E"/>
<wsp:rsid wsp:val="00FF3E76"/>
</wsp:rsids>
</w:docPr>
<w:body>
<wx:sect>
<w:tbl>
<w:tblPr>
<w:tblW w:w="0" w:type="auto"/>
<w:tblInd w:w="-147" w:type="dxa"/>
<w:tblBorders>
<w:top w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:left w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:bottom w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:right w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideH w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
<w:insideV w:val="single" w:sz="4" wx:bdrwidth="10" w:space="0" w:color="auto"/>
</w:tblBorders>
<w:tblLook w:val="04A0"/>
</w:tblPr>
<w:tblGrid>
<w:gridCol w:w="1716"/>
<w:gridCol w:w="1716"/>
<w:gridCol w:w="1813"/>
<w:gridCol w:w="1716"/>
<w:gridCol w:w="1716"/>
<w:gridCol w:w="1716"/>
</w:tblGrid>
<#list imgList as dto>
<w:tr wsp:rsidR="007368A9" wsp:rsidRPr="0078208E" wsp:rsidTr="0078208E">
<w:tc>
<w:tcPr>
<w:tcW w:w="1716" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="007368A9" wsp:rsidRPr="0078208E" wsp:rsidRDefault="0078208E" wsp:rsidP="00F7285E">
<w:pPr>
<w:pStyle w:val="a4"/>
</w:pPr>
<w:r wsp:rsidRPr="00FA6631">
<w:rPr>
<w:noProof/>
</w:rPr>
<w:pict>
<v:shapetype id="_${dto_index}_img1" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype>
<w:binData w:name="wordml://${dto_index}_img1.png" >${dto.img1}</w:binData>
<v:shape id="${dto_index}_img1" o:spid="_x0000_i1025" type="#_${dto_index}_img1" style="width:75pt;height:105pt;visibility:visible;mso-wrap-style:square">
<v:imagedata src="wordml://${dto_index}_img1.png" o:title=""/>
</v:shape>
</w:pict>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1716" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="007368A9" wsp:rsidRPr="0078208E" wsp:rsidRDefault="0078208E" wsp:rsidP="00F7285E">
<w:pPr>
<w:pStyle w:val="a4"/>
</w:pPr>
<w:r wsp:rsidRPr="00FA6631">
<w:rPr>
<w:noProof/>
</w:rPr>
<w:pict>
<v:shapetype id="_${dto_index}_img2" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype>
<w:binData w:name="wordml://${dto_index}_img2.png" >${dto.img2}</w:binData>
<v:shape id="${dto_index}_img2" o:spid="_x0000_i1025" type="#_${dto_index}_img2" style="width:75pt;height:105pt;visibility:visible;mso-wrap-style:square">
<v:imagedata src="wordml://${dto_index}_img2.png" o:title=""/>
</v:shape>
</w:pict>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1813" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="007368A9" wsp:rsidRPr="0078208E" wsp:rsidRDefault="007368A9" wsp:rsidP="00F7285E"/>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1716" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="007368A9" wsp:rsidRPr="0078208E" wsp:rsidRDefault="007368A9" wsp:rsidP="00F7285E"/>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1716" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="007368A9" wsp:rsidRPr="0078208E" wsp:rsidRDefault="007368A9" wsp:rsidP="00F7285E">
<w:pPr>
<w:rPr>
<w:noProof/>
</w:rPr>
</w:pPr>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW w:w="1716" w:type="dxa"/>
<w:shd w:val="clear" w:color="auto" w:fill="auto"/>
</w:tcPr>
<w:p wsp:rsidR="007368A9" wsp:rsidRPr="0078208E" wsp:rsidRDefault="007368A9" wsp:rsidP="00F7285E">
<w:pPr>
<w:rPr>
<w:noProof/>
</w:rPr>
</w:pPr>
</w:p>
</w:tc>
</w:tr>
</#list>
</w:tbl>
<w:p wsp:rsidR="00100B51" wsp:rsidRDefault="00100B51" wsp:rsidP="00F7285E">
<w:pPr>
<w:ind w:left-chars="200" w:left="420"/>
</w:pPr>
</w:p>
<w:sectPr wsp:rsidR="00100B51" wsp:rsidSect="00F7285E">
<w:pgSz w:w="11906" w:h="16838"/>
<w:pgMar w:top="720" w:right="720" w:bottom="720" w:left="720" w:header="851" w:footer="992" w:gutter="0"/>
<w:cols w:space="425"/>
<w:docGrid w:type="lines" w:line-pitch="312"/>
</w:sectPr>
</wx:sect>
</w:body>
</w:wordDocument>
Java 将图片转换成base64 ,然后替换到ftl 文件中,然后将替换后的文件流,输出到 .doc 文件中,就可以了
List<ImgQrcodeDto> imgList = new ArrayList<>();
ImgQrcodeDto dto = new ImgQrcodeDto();
dto.setImg1("iVBORw0KGgoAAAANSUhEUgAAAGQAAACMCAIAAAAFl5vsAAAC/ElEQVR42u3a7Y7jIAyF4d7/Tc9UqjQahWCMffgIfaP9scumCXmKjSF9/XC4jxcEYIEFFlhggQUBWGCBBRZYYEEAFlhggQUWWBCABRZYYIEFFgRggQUWWGCBBYEY65U7yut4bmF8ymhJ9hAssPbH6ovwEE3syvIeggXW/ljJDNV15S59eQ/BAut4LFU6AwsssIQpJnYyWGB9IZbqU12lw5cud8ACa/B+lrzl5M0/sL4bS/Z2ZNiy+cBXYWCB1f/qJfkuJ3ny1qUDWGBJc5bqhU2MRl5DjE3wYIE1vXSIdS4JMbkEAQushVhd6SOZj2IL6WQWAwus/bGS83oyHz1sWxkssNbNhsl94XFFiXA7DCywtsJKbn7Jq4o5K2qwwNoBK5mhkhXDuOU3WGCdgaWa15PpTP7FgAXWJljyrecJ1mCBdRiW/Hd1qqV18oJb/0wSLLAUG0CqT8UWwKqfZYAF1rZYqt8DyfNj8gcWYIH1PVjyCV61HQYWWMdjqe417nURWGA9CGvb5W7stStYYD0IS/5+JVZny1fUYIG1PxYHWGCBBRZYYHEMx3qXL58K5u8vxgnhi3uu8znh8mc21n+L206Uz1N7YBXWpbHWqzVYlxtfOl0Dqn3Ptf8t71L+s3mm/c3NCMOLSxMr/w2Xz28EuzHo1uSsJpaRJsJYpYI9+taPrFum25F1eaRMajcuWCIaLZHvSZWznFi1PBKOxFoY2nPxAix/zmpOXrEwNHKWp3B5ElYmDO0Z1hmnC8LQeGwDqyTOZwCjnlg/sm6ncKNuNErHZpFVnva8nOUZPnbnMnV8YCmzbLnDQroxfDwLjt7GWnA5G5td6m2sBkGsrmmWy72NntWJEddG1AeuWZ0TeodVbbBkpOzGJpbdpfBNI1jNqScZg0ajH6tJqYmVXqxmkZkZ8+Ew7MJqbkYOxEoGWjjiAnOOv4g5AcvegYmNl6lYq8LQ36XMg6RmQ3lRE2sM1zf2DGOvHCN11vmVeqbOUu2lPAiLteGstSHH+/gFMukop1QUeuQAAAAASUVORK5CYIJ=");
dto.setImg2("iVBORw0KGgoAAAANSUhEUgAAAGQAAACMCAIAAAAFl5vsAAAC/ElEQVR42u3a7Y7jIAyF4d7/Tc9UqjQahWCMffgIfaP9scumCXmKjSF9/XC4jxcEYIEFFlhggQUBWGCBBRZYYEEAFlhggQUWWBCABRZYYIEFFgRggQUWWGCBBYEY65U7yut4bmF8ymhJ9hAssPbH6ovwEE3syvIeggXW/ljJDNV15S59eQ/BAut4LFU6AwsssIQpJnYyWGB9IZbqU12lw5cud8ACa/B+lrzl5M0/sL4bS/Z2ZNiy+cBXYWCB1f/qJfkuJ3ny1qUDWGBJc5bqhU2MRl5DjE3wYIE1vXSIdS4JMbkEAQushVhd6SOZj2IL6WQWAwus/bGS83oyHz1sWxkssNbNhsl94XFFiXA7DCywtsJKbn7Jq4o5K2qwwNoBK5mhkhXDuOU3WGCdgaWa15PpTP7FgAXWJljyrecJ1mCBdRiW/Hd1qqV18oJb/0wSLLAUG0CqT8UWwKqfZYAF1rZYqt8DyfNj8gcWYIH1PVjyCV61HQYWWMdjqe417nURWGA9CGvb5W7stStYYD0IS/5+JVZny1fUYIG1PxYHWGCBBRZYYHEMx3qXL58K5u8vxgnhi3uu8znh8mc21n+L206Uz1N7YBXWpbHWqzVYlxtfOl0Dqn3Ptf8t71L+s3mm/c3NCMOLSxMr/w2Xz28EuzHo1uSsJpaRJsJYpYI9+taPrFum25F1eaRMajcuWCIaLZHvSZWznFi1PBKOxFoY2nPxAix/zmpOXrEwNHKWp3B5ElYmDO0Z1hmnC8LQeGwDqyTOZwCjnlg/sm6ncKNuNErHZpFVnva8nOUZPnbnMnV8YCmzbLnDQroxfDwLjt7GWnA5G5td6m2sBkGsrmmWy72NntWJEddG1AeuWZ0TeodVbbBkpOzGJpbdpfBNI1jNqScZg0ajH6tJqYmVXqxmkZkZ8+Ew7MJqbkYOxEoGWjjiAnOOv4g5AcvegYmNl6lYq8LQ36XMg6RmQ3lRE2sM1zf2DGOvHCN11vmVeqbOUu2lPAiLteGstSHH+/gFMukop1QUeuQAAAAASUVORK5CYIJ=");
dto.setImg3("iVBORw0KGgoAAAANSUhEUgAAAGQAAACMCAIAAAAFl5vsAAAC/ElEQVR42u3a7Y7jIAyF4d7/Tc9UqjQahWCMffgIfaP9scumCXmKjSF9/XC4jxcEYIEFFlhggQUBWGCBBRZYYEEAFlhggQUWWBCABRZYYIEFFgRggQUWWGCBBYEY65U7yut4bmF8ymhJ9hAssPbH6ovwEE3syvIeggXW/ljJDNV15S59eQ/BAut4LFU6AwsssIQpJnYyWGB9IZbqU12lw5cud8ACa/B+lrzl5M0/sL4bS/Z2ZNiy+cBXYWCB1f/qJfkuJ3ny1qUDWGBJc5bqhU2MRl5DjE3wYIE1vXSIdS4JMbkEAQushVhd6SOZj2IL6WQWAwus/bGS83oyHz1sWxkssNbNhsl94XFFiXA7DCywtsJKbn7Jq4o5K2qwwNoBK5mhkhXDuOU3WGCdgaWa15PpTP7FgAXWJljyrecJ1mCBdRiW/Hd1qqV18oJb/0wSLLAUG0CqT8UWwKqfZYAF1rZYqt8DyfNj8gcWYIH1PVjyCV61HQYWWMdjqe417nURWGA9CGvb5W7stStYYD0IS/5+JVZny1fUYIG1PxYHWGCBBRZYYHEMx3qXL58K5u8vxgnhi3uu8znh8mc21n+L206Uz1N7YBXWpbHWqzVYlxtfOl0Dqn3Ptf8t71L+s3mm/c3NCMOLSxMr/w2Xz28EuzHo1uSsJpaRJsJYpYI9+taPrFum25F1eaRMajcuWCIaLZHvSZWznFi1PBKOxFoY2nPxAix/zmpOXrEwNHKWp3B5ElYmDO0Z1hmnC8LQeGwDqyTOZwCjnlg/sm6ncKNuNErHZpFVnva8nOUZPnbnMnV8YCmzbLnDQroxfDwLjt7GWnA5G5td6m2sBkGsrmmWy72NntWJEddG1AeuWZ0TeodVbbBkpOzGJpbdpfBNI1jNqScZg0ajH6tJqYmVXqxmkZkZ8+Ew7MJqbkYOxEoGWjjiAnOOv4g5AcvegYmNl6lYq8LQ36XMg6RmQ3lRE2sM1zf2DGOvHCN11vmVeqbOUu2lPAiLteGstSHH+/gFMukop1QUeuQAAAAASUVORK5CYIJ=");
dto.setImg4("iVBORw0KGgoAAAANSUhEUgAAAGQAAACMCAIAAAAFl5vsAAAC/ElEQVR42u3a7Y7jIAyF4d7/Tc9UqjQahWCMffgIfaP9scumCXmKjSF9/XC4jxcEYIEFFlhggQUBWGCBBRZYYEEAFlhggQUWWBCABRZYYIEFFgRggQUWWGCBBYEY65U7yut4bmF8ymhJ9hAssPbH6ovwEE3syvIeggXW/ljJDNV15S59eQ/BAut4LFU6AwsssIQpJnYyWGB9IZbqU12lw5cud8ACa/B+lrzl5M0/sL4bS/Z2ZNiy+cBXYWCB1f/qJfkuJ3ny1qUDWGBJc5bqhU2MRl5DjE3wYIE1vXSIdS4JMbkEAQushVhd6SOZj2IL6WQWAwus/bGS83oyHz1sWxkssNbNhsl94XFFiXA7DCywtsJKbn7Jq4o5K2qwwNoBK5mhkhXDuOU3WGCdgaWa15PpTP7FgAXWJljyrecJ1mCBdRiW/Hd1qqV18oJb/0wSLLAUG0CqT8UWwKqfZYAF1rZYqt8DyfNj8gcWYIH1PVjyCV61HQYWWMdjqe417nURWGA9CGvb5W7stStYYD0IS/5+JVZny1fUYIG1PxYHWGCBBRZYYHEMx3qXL58K5u8vxgnhi3uu8znh8mc21n+L206Uz1N7YBXWpbHWqzVYlxtfOl0Dqn3Ptf8t71L+s3mm/c3NCMOLSxMr/w2Xz28EuzHo1uSsJpaRJsJYpYI9+taPrFum25F1eaRMajcuWCIaLZHvSZWznFi1PBKOxFoY2nPxAix/zmpOXrEwNHKWp3B5ElYmDO0Z1hmnC8LQeGwDqyTOZwCjnlg/sm6ncKNuNErHZpFVnva8nOUZPnbnMnV8YCmzbLnDQroxfDwLjt7GWnA5G5td6m2sBkGsrmmWy72NntWJEddG1AeuWZ0TeodVbbBkpOzGJpbdpfBNI1jNqScZg0ajH6tJqYmVXqxmkZkZ8+Ew7MJqbkYOxEoGWjjiAnOOv4g5AcvegYmNl6lYq8LQ36XMg6RmQ3lRE2sM1zf2DGOvHCN11vmVeqbOUu2lPAiLteGstSHH+/gFMukop1QUeuQAAAAASUVORK5CYIJ=");
dto.setImg5("iVBORw0KGgoAAAANSUhEUgAAAGQAAACMCAIAAAAFl5vsAAAC/ElEQVR42u3a7Y7jIAyF4d7/Tc9UqjQahWCMffgIfaP9scumCXmKjSF9/XC4jxcEYIEFFlhggQUBWGCBBRZYYEEAFlhggQUWWBCABRZYYIEFFgRggQUWWGCBBYEY65U7yut4bmF8ymhJ9hAssPbH6ovwEE3syvIeggXW/ljJDNV15S59eQ/BAut4LFU6AwsssIQpJnYyWGB9IZbqU12lw5cud8ACa/B+lrzl5M0/sL4bS/Z2ZNiy+cBXYWCB1f/qJfkuJ3ny1qUDWGBJc5bqhU2MRl5DjE3wYIE1vXSIdS4JMbkEAQushVhd6SOZj2IL6WQWAwus/bGS83oyHz1sWxkssNbNhsl94XFFiXA7DCywtsJKbn7Jq4o5K2qwwNoBK5mhkhXDuOU3WGCdgaWa15PpTP7FgAXWJljyrecJ1mCBdRiW/Hd1qqV18oJb/0wSLLAUG0CqT8UWwKqfZYAF1rZYqt8DyfNj8gcWYIH1PVjyCV61HQYWWMdjqe417nURWGA9CGvb5W7stStYYD0IS/5+JVZny1fUYIG1PxYHWGCBBRZYYHEMx3qXL58K5u8vxgnhi3uu8znh8mc21n+L206Uz1N7YBXWpbHWqzVYlxtfOl0Dqn3Ptf8t71L+s3mm/c3NCMOLSxMr/w2Xz28EuzHo1uSsJpaRJsJYpYI9+taPrFum25F1eaRMajcuWCIaLZHvSZWznFi1PBKOxFoY2nPxAix/zmpOXrEwNHKWp3B5ElYmDO0Z1hmnC8LQeGwDqyTOZwCjnlg/sm6ncKNuNErHZpFVnva8nOUZPnbnMnV8YCmzbLnDQroxfDwLjt7GWnA5G5td6m2sBkGsrmmWy72NntWJEddG1AeuWZ0TeodVbbBkpOzGJpbdpfBNI1jNqScZg0ajH6tJqYmVXqxmkZkZ8+Ew7MJqbkYOxEoGWjjiAnOOv4g5AcvegYmNl6lYq8LQ36XMg6RmQ3lRE2sM1zf2DGOvHCN11vmVeqbOUu2lPAiLteGstSHH+/gFMukop1QUeuQAAAAASUVORK5CYIJ=");
dto.setImg6("iVBORw0KGgoAAAANSUhEUgAAAGQAAACMCAIAAAAFl5vsAAAC/ElEQVR42u3a7Y7jIAyF4d7/Tc9UqjQahWCMffgIfaP9scumCXmKjSF9/XC4jxcEYIEFFlhggQUBWGCBBRZYYEEAFlhggQUWWBCABRZYYIEFFgRggQUWWGCBBYEY65U7yut4bmF8ymhJ9hAssPbH6ovwEE3syvIeggXW/ljJDNV15S59eQ/BAut4LFU6AwsssIQpJnYyWGB9IZbqU12lw5cud8ACa/B+lrzl5M0/sL4bS/Z2ZNiy+cBXYWCB1f/qJfkuJ3ny1qUDWGBJc5bqhU2MRl5DjE3wYIE1vXSIdS4JMbkEAQushVhd6SOZj2IL6WQWAwus/bGS83oyHz1sWxkssNbNhsl94XFFiXA7DCywtsJKbn7Jq4o5K2qwwNoBK5mhkhXDuOU3WGCdgaWa15PpTP7FgAXWJljyrecJ1mCBdRiW/Hd1qqV18oJb/0wSLLAUG0CqT8UWwKqfZYAF1rZYqt8DyfNj8gcWYIH1PVjyCV61HQYWWMdjqe417nURWGA9CGvb5W7stStYYD0IS/5+JVZny1fUYIG1PxYHWGCBBRZYYHEMx3qXL58K5u8vxgnhi3uu8znh8mc21n+L206Uz1N7YBXWpbHWqzVYlxtfOl0Dqn3Ptf8t71L+s3mm/c3NCMOLSxMr/w2Xz28EuzHo1uSsJpaRJsJYpYI9+taPrFum25F1eaRMajcuWCIaLZHvSZWznFi1PBKOxFoY2nPxAix/zmpOXrEwNHKWp3B5ElYmDO0Z1hmnC8LQeGwDqyTOZwCjnlg/sm6ncKNuNErHZpFVnva8nOUZPnbnMnV8YCmzbLnDQroxfDwLjt7GWnA5G5td6m2sBkGsrmmWy72NntWJEddG1AeuWZ0TeodVbbBkpOzGJpbdpfBNI1jNqScZg0ajH6tJqYmVXqxmkZkZ8+Ew7MJqbkYOxEoGWjjiAnOOv4g5AcvegYmNl6lYq8LQ36XMg6RmQ3lRE2sM1zf2DGOvHCN11vmVeqbOUu2lPAiLteGstSHH+/gFMukop1QUeuQAAAAASUVORK5CYIJ=");
ImgQrcodeDto dto1 = new ImgQrcodeDto();
dto1.setImg1("iVBORw0KGgoAAAANSUhEUgAAAGQAAACMCAIAAAAFl5vsAAAC/ElEQVR42u3a7Y7jIAyF4d7/Tc9UqjQahWCMffgIfaP9scumCXmKjSF9/XC4jxcEYIEFFlhggQUBWGCBBRZYYEEAFlhggQUWWBCABRZYYIEFFgRggQUWWGCBBYEY65U7yut4bmF8ymhJ9hAssPbH6ovwEE3syvIeggXW/ljJDNV15S59eQ/BAut4LFU6AwsssIQpJnYyWGB9IZbqU12lw5cud8ACa/B+lrzl5M0/sL4bS/Z2ZNiy+cBXYWCB1f/qJfkuJ3ny1qUDWGBJc5bqhU2MRl5DjE3wYIE1vXSIdS4JMbkEAQushVhd6SOZj2IL6WQWAwus/bGS83oyHz1sWxkssNbNhsl94XFFiXA7DCywtsJKbn7Jq4o5K2qwwNoBK5mhkhXDuOU3WGCdgaWa15PpTP7FgAXWJljyrecJ1mCBdRiW/Hd1qqV18oJb/0wSLLAUG0CqT8UWwKqfZYAF1rZYqt8DyfNj8gcWYIH1PVjyCV61HQYWWMdjqe417nURWGA9CGvb5W7stStYYD0IS/5+JVZny1fUYIG1PxYHWGCBBRZYYHEMx3qXL58K5u8vxgnhi3uu8znh8mc21n+L206Uz1N7YBXWpbHWqzVYlxtfOl0Dqn3Ptf8t71L+s3mm/c3NCMOLSxMr/w2Xz28EuzHo1uSsJpaRJsJYpYI9+taPrFum25F1eaRMajcuWCIaLZHvSZWznFi1PBKOxFoY2nPxAix/zmpOXrEwNHKWp3B5ElYmDO0Z1hmnC8LQeGwDqyTOZwCjnlg/sm6ncKNuNErHZpFVnva8nOUZPnbnMnV8YCmzbLnDQroxfDwLjt7GWnA5G5td6m2sBkGsrmmWy72NntWJEddG1AeuWZ0TeodVbbBkpOzGJpbdpfBNI1jNqScZg0ajH6tJqYmVXqxmkZkZ8+Ew7MJqbkYOxEoGWjjiAnOOv4g5AcvegYmNl6lYq8LQ36XMg6RmQ3lRE2sM1zf2DGOvHCN11vmVeqbOUu2lPAiLteGstSHH+/gFMukop1QUeuQAAAAASUVORK5CYIJ=");
dto1.setImg2("iVBORw0KGgoAAAANSUhEUgAAAGQAAACMCAIAAAAFl5vsAAAC/ElEQVR42u3a7Y7jIAyF4d7/Tc9UqjQahWCMffgIfaP9scumCXmKjSF9/XC4jxcEYIEFFlhggQUBWGCBBRZYYEEAFlhggQUWWBCABRZYYIEFFgRggQUWWGCBBYEY65U7yut4bmF8ymhJ9hAssPbH6ovwEE3syvIeggXW/ljJDNV15S59eQ/BAut4LFU6AwsssIQpJnYyWGB9IZbqU12lw5cud8ACa/B+lrzl5M0/sL4bS/Z2ZNiy+cBXYWCB1f/qJfkuJ3ny1qUDWGBJc5bqhU2MRl5DjE3wYIE1vXSIdS4JMbkEAQushVhd6SOZj2IL6WQWAwus/bGS83oyHz1sWxkssNbNhsl94XFFiXA7DCywtsJKbn7Jq4o5K2qwwNoBK5mhkhXDuOU3WGCdgaWa15PpTP7FgAXWJljyrecJ1mCBdRiW/Hd1qqV18oJb/0wSLLAUG0CqT8UWwKqfZYAF1rZYqt8DyfNj8gcWYIH1PVjyCV61HQYWWMdjqe417nURWGA9CGvb5W7stStYYD0IS/5+JVZny1fUYIG1PxYHWGCBBRZYYHEMx3qXL58K5u8vxgnhi3uu8znh8mc21n+L206Uz1N7YBXWpbHWqzVYlxtfOl0Dqn3Ptf8t71L+s3mm/c3NCMOLSxMr/w2Xz28EuzHo1uSsJpaRJsJYpYI9+taPrFum25F1eaRMajcuWCIaLZHvSZWznFi1PBKOxFoY2nPxAix/zmpOXrEwNHKWp3B5ElYmDO0Z1hmnC8LQeGwDqyTOZwCjnlg/sm6ncKNuNErHZpFVnva8nOUZPnbnMnV8YCmzbLnDQroxfDwLjt7GWnA5G5td6m2sBkGsrmmWy72NntWJEddG1AeuWZ0TeodVbbBkpOzGJpbdpfBNI1jNqScZg0ajH6tJqYmVXqxmkZkZ8+Ew7MJqbkYOxEoGWjjiAnOOv4g5AcvegYmNl6lYq8LQ36XMg6RmQ3lRE2sM1zf2DGOvHCN11vmVeqbOUu2lPAiLteGstSHH+/gFMukop1QUeuQAAAAASUVORK5CYIJ=");
dto1.setImg3("iVBORw0KGgoAAAANSUhEUgAAAGQAAACMCAIAAAAFl5vsAAAC/ElEQVR42u3a7Y7jIAyF4d7/Tc9UqjQahWCMffgIfaP9scumCXmKjSF9/XC4jxcEYIEFFlhggQUBWGCBBRZYYEEAFlhggQUWWBCABRZYYIEFFgRggQUWWGCBBYEY65U7yut4bmF8ymhJ9hAssPbH6ovwEE3syvIeggXW/ljJDNV15S59eQ/BAut4LFU6AwsssIQpJnYyWGB9IZbqU12lw5cud8ACa/B+lrzl5M0/sL4bS/Z2ZNiy+cBXYWCB1f/qJfkuJ3ny1qUDWGBJc5bqhU2MRl5DjE3wYIE1vXSIdS4JMbkEAQushVhd6SOZj2IL6WQWAwus/bGS83oyHz1sWxkssNbNhsl94XFFiXA7DCywtsJKbn7Jq4o5K2qwwNoBK5mhkhXDuOU3WGCdgaWa15PpTP7FgAXWJljyrecJ1mCBdRiW/Hd1qqV18oJb/0wSLLAUG0CqT8UWwKqfZYAF1rZYqt8DyfNj8gcWYIH1PVjyCV61HQYWWMdjqe417nURWGA9CGvb5W7stStYYD0IS/5+JVZny1fUYIG1PxYHWGCBBRZYYHEMx3qXL58K5u8vxgnhi3uu8znh8mc21n+L206Uz1N7YBXWpbHWqzVYlxtfOl0Dqn3Ptf8t71L+s3mm/c3NCMOLSxMr/w2Xz28EuzHo1uSsJpaRJsJYpYI9+taPrFum25F1eaRMajcuWCIaLZHvSZWznFi1PBKOxFoY2nPxAix/zmpOXrEwNHKWp3B5ElYmDO0Z1hmnC8LQeGwDqyTOZwCjnlg/sm6ncKNuNErHZpFVnva8nOUZPnbnMnV8YCmzbLnDQroxfDwLjt7GWnA5G5td6m2sBkGsrmmWy72NntWJEddG1AeuWZ0TeodVbbBkpOzGJpbdpfBNI1jNqScZg0ajH6tJqYmVXqxmkZkZ8+Ew7MJqbkYOxEoGWjjiAnOOv4g5AcvegYmNl6lYq8LQ36XMg6RmQ3lRE2sM1zf2DGOvHCN11vmVeqbOUu2lPAiLteGstSHH+/gFMukop1QUeuQAAAAASUVORK5CYIJ=");
dto1.setImg4("iVBORw0KGgoAAAANSUhEUgAAAGQAAACMCAIAAAAFl5vsAAAC/ElEQVR42u3a7Y7jIAyF4d7/Tc9UqjQahWCMffgIfaP9scumCXmKjSF9/XC4jxcEYIEFFlhggQUBWGCBBRZYYEEAFlhggQUWWBCABRZYYIEFFgRggQUWWGCBBYEY65U7yut4bmF8ymhJ9hAssPbH6ovwEE3syvIeggXW/ljJDNV15S59eQ/BAut4LFU6AwsssIQpJnYyWGB9IZbqU12lw5cud8ACa/B+lrzl5M0/sL4bS/Z2ZNiy+cBXYWCB1f/qJfkuJ3ny1qUDWGBJc5bqhU2MRl5DjE3wYIE1vXSIdS4JMbkEAQushVhd6SOZj2IL6WQWAwus/bGS83oyHz1sWxkssNbNhsl94XFFiXA7DCywtsJKbn7Jq4o5K2qwwNoBK5mhkhXDuOU3WGCdgaWa15PpTP7FgAXWJljyrecJ1mCBdRiW/Hd1qqV18oJb/0wSLLAUG0CqT8UWwKqfZYAF1rZYqt8DyfNj8gcWYIH1PVjyCV61HQYWWMdjqe417nURWGA9CGvb5W7stStYYD0IS/5+JVZny1fUYIG1PxYHWGCBBRZYYHEMx3qXL58K5u8vxgnhi3uu8znh8mc21n+L206Uz1N7YBXWpbHWqzVYlxtfOl0Dqn3Ptf8t71L+s3mm/c3NCMOLSxMr/w2Xz28EuzHo1uSsJpaRJsJYpYI9+taPrFum25F1eaRMajcuWCIaLZHvSZWznFi1PBKOxFoY2nPxAix/zmpOXrEwNHKWp3B5ElYmDO0Z1hmnC8LQeGwDqyTOZwCjnlg/sm6ncKNuNErHZpFVnva8nOUZPnbnMnV8YCmzbLnDQroxfDwLjt7GWnA5G5td6m2sBkGsrmmWy72NntWJEddG1AeuWZ0TeodVbbBkpOzGJpbdpfBNI1jNqScZg0ajH6tJqYmVXqxmkZkZ8+Ew7MJqbkYOxEoGWjjiAnOOv4g5AcvegYmNl6lYq8LQ36XMg6RmQ3lRE2sM1zf2DGOvHCN11vmVeqbOUu2lPAiLteGstSHH+/gFMukop1QUeuQAAAAASUVORK5CYIJ=");
dto1.setImg5("iVBORw0KGgoAAAANSUhEUgAAAGQAAACMCAIAAAAFl5vsAAAC/ElEQVR42u3a7Y7jIAyF4d7/Tc9UqjQahWCMffgIfaP9scumCXmKjSF9/XC4jxcEYIEFFlhggQUBWGCBBRZYYEEAFlhggQUWWBCABRZYYIEFFgRggQUWWGCBBYEY65U7yut4bmF8ymhJ9hAssPbH6ovwEE3syvIeggXW/ljJDNV15S59eQ/BAut4LFU6AwsssIQpJnYyWGB9IZbqU12lw5cud8ACa/B+lrzl5M0/sL4bS/Z2ZNiy+cBXYWCB1f/qJfkuJ3ny1qUDWGBJc5bqhU2MRl5DjE3wYIE1vXSIdS4JMbkEAQushVhd6SOZj2IL6WQWAwus/bGS83oyHz1sWxkssNbNhsl94XFFiXA7DCywtsJKbn7Jq4o5K2qwwNoBK5mhkhXDuOU3WGCdgaWa15PpTP7FgAXWJljyrecJ1mCBdRiW/Hd1qqV18oJb/0wSLLAUG0CqT8UWwKqfZYAF1rZYqt8DyfNj8gcWYIH1PVjyCV61HQYWWMdjqe417nURWGA9CGvb5W7stStYYD0IS/5+JVZny1fUYIG1PxYHWGCBBRZYYHEMx3qXL58K5u8vxgnhi3uu8znh8mc21n+L206Uz1N7YBXWpbHWqzVYlxtfOl0Dqn3Ptf8t71L+s3mm/c3NCMOLSxMr/w2Xz28EuzHo1uSsJpaRJsJYpYI9+taPrFum25F1eaRMajcuWCIaLZHvSZWznFi1PBKOxFoY2nPxAix/zmpOXrEwNHKWp3B5ElYmDO0Z1hmnC8LQeGwDqyTOZwCjnlg/sm6ncKNuNErHZpFVnva8nOUZPnbnMnV8YCmzbLnDQroxfDwLjt7GWnA5G5td6m2sBkGsrmmWy72NntWJEddG1AeuWZ0TeodVbbBkpOzGJpbdpfBNI1jNqScZg0ajH6tJqYmVXqxmkZkZ8+Ew7MJqbkYOxEoGWjjiAnOOv4g5AcvegYmNl6lYq8LQ36XMg6RmQ3lRE2sM1zf2DGOvHCN11vmVeqbOUu2lPAiLteGstSHH+/gFMukop1QUeuQAAAAASUVORK5CYIJ=");
dto1.setImg6("iVBORw0KGgoAAAANSUhEUgAAAGQAAACMCAIAAAAFl5vsAAAC/ElEQVR42u3a7Y7jIAyF4d7/Tc9UqjQahWCMffgIfaP9scumCXmKjSF9/XC4jxcEYIEFFlhggQUBWGCBBRZYYEEAFlhggQUWWBCABRZYYIEFFgRggQUWWGCBBYEY65U7yut4bmF8ymhJ9hAssPbH6ovwEE3syvIeggXW/ljJDNV15S59eQ/BAut4LFU6AwsssIQpJnYyWGB9IZbqU12lw5cud8ACa/B+lrzl5M0/sL4bS/Z2ZNiy+cBXYWCB1f/qJfkuJ3ny1qUDWGBJc5bqhU2MRl5DjE3wYIE1vXSIdS4JMbkEAQushVhd6SOZj2IL6WQWAwus/bGS83oyHz1sWxkssNbNhsl94XFFiXA7DCywtsJKbn7Jq4o5K2qwwNoBK5mhkhXDuOU3WGCdgaWa15PpTP7FgAXWJljyrecJ1mCBdRiW/Hd1qqV18oJb/0wSLLAUG0CqT8UWwKqfZYAF1rZYqt8DyfNj8gcWYIH1PVjyCV61HQYWWMdjqe417nURWGA9CGvb5W7stStYYD0IS/5+JVZny1fUYIG1PxYHWGCBBRZYYHEMx3qXL58K5u8vxgnhi3uu8znh8mc21n+L206Uz1N7YBXWpbHWqzVYlxtfOl0Dqn3Ptf8t71L+s3mm/c3NCMOLSxMr/w2Xz28EuzHo1uSsJpaRJsJYpYI9+taPrFum25F1eaRMajcuWCIaLZHvSZWznFi1PBKOxFoY2nPxAix/zmpOXrEwNHKWp3B5ElYmDO0Z1hmnC8LQeGwDqyTOZwCjnlg/sm6ncKNuNErHZpFVnva8nOUZPnbnMnV8YCmzbLnDQroxfDwLjt7GWnA5G5td6m2sBkGsrmmWy72NntWJEddG1AeuWZ0TeodVbbBkpOzGJpbdpfBNI1jNqScZg0ajH6tJqYmVXqxmkZkZ8+Ew7MJqbkYOxEoGWjjiAnOOv4g5AcvegYmNl6lYq8LQ36XMg6RmQ3lRE2sM1zf2DGOvHCN11vmVeqbOUu2lPAiLteGstSHH+/gFMukop1QUeuQAAAAASUVORK5CYIJ=");
imgList.add(dto);
// imgList.add(dto1);
String strx = "D://tmp//test.ftl";
File inputFile = new File(strx);
String targetFiletaPath = "D:\\tmp\\imgTest.doc";
File targetFile = FileToolUtil.createNewFile(targetFiletaPath);
Writer resultFileWriter = new OutputStreamWriter(new FileOutputStream(targetFile), "utf-8");
Reader templateFileReader = new InputStreamReader(new FileInputStream(inputFile),"utf-8");
Map param = new HashMap();
param.put("imgList", imgList);
FreeMakerParser.process(param, resultFileWriter, templateFileReader);
FreeMarkerParser代码 如下
package com.xgt.util;
import freemarker.template.Configuration;
import freemarker.template.Template;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
public class FreeMakerParser {
private static Log logger = LogFactory.getLog(FreeMakerParser.class );
private static final String DEFAULT_TEMPLATE_KEY = "default_template_key";
private static final String DEFAULT_TEMPLATE_EXPRESSION = "default_template_expression";
private static final Configuration CONFIGURER = new Configuration();
static {
CONFIGURER.setClassicCompatible(true);
}
/**
* 配置SQL表达式缓存
*/
private static Map<String, Template> templateCache = new HashMap<String, Template>();
/**
* 分库表达式缓存
*/
private static Map<String, Template> expressionCache = new HashMap<String, Template>();
public static String process(String expression, Map<String, Object> root) {
StringReader reader = null;
StringWriter out = null;
Template template = null;
try {
if (expressionCache.get(expression) != null) {
template = expressionCache.get(expression);
}
if (template == null) {
template = createTemplate(DEFAULT_TEMPLATE_EXPRESSION, new StringReader(expression));
expressionCache.put(expression, template);
}
out = new StringWriter();
template.process(root, out);
return out.toString();
} catch (Exception e) {
logger.error("freemark解析sql 异常", e);
} finally {
if (reader != null) {
reader.close();
}
try {
if (out != null) {
out.close();
}
} catch (IOException e) {
return null;
}
}
return null;
}
private static Template createTemplate(String templateKey, Reader reader) throws IOException {
Template template = new Template(DEFAULT_TEMPLATE_KEY, reader, CONFIGURER);
template.setNumberFormat("#");
return template;
}
public static String process(Map<String, Object> root, String sql, String sqlId) {
StringReader reader = null;
StringWriter out = null;
Template template = null;
try {
if (templateCache.get(sqlId) != null) {
template = templateCache.get(sqlId);
}
if (template == null) {
reader = new StringReader(sql);
template = createTemplate(DEFAULT_TEMPLATE_KEY, reader);
templateCache.put(sqlId, template);
}
out = new StringWriter();
template.process(root, out);
return out.toString();
} catch (Exception e) {
logger.error("freemark解析sql 异常", e);
} finally {
if (reader != null) {
reader.close();
}
try {
if (out != null) {
out.close();
}
} catch (IOException e) {
return null;
}
}
return null;
}
/**
* 模板文件解析
* @param paramMap 参数
* @param resultFileWriter 结果文件写入器
* @param templateFileReader 模板文件读取器
* @author liu ao
* @created 2018年4月3日 下午4:41:47
*/
public static void process(Map<String, Object> paramMap, Writer resultFileWriter,
Reader templateFileReader ) {
CONFIGURER.setDefaultEncoding("UTF-8");// 设置默认编码方式
try {
Template template = createTemplate(DEFAULT_TEMPLATE_EXPRESSION, templateFileReader);
template.process(paramMap, resultFileWriter);
logger.info(".............freemark文件解析完成..........");
} catch (Exception e) {
logger.error("freemark 解析异常", e);
e.printStackTrace();
}
}
}