Docx模板是一个带标记的Word文档,模板引擎用数据替换这些标记生成新的Word文档。 javascript
这是一份文档,同时也是一个模板,后面的示例将会使用本模板。html
Word文档地址:http://www.xdocin.com/DocxEngine.docxjava
${名称}网络
先后标记符合必须是半角的,传入的数据会依照下面的规则自动识别:编码
文本标记在文档中直接输入。spa
单行文本: ${单行文本}code
多行文本: ${多行文本}orm
图片: ${图片}htm
文本框中的图片:模板引擎
当文本框中只有一个图片时,图片会根据文本框的大小作大小适应
HTML: ${HTML}
URL地址: ${URL地址}
网络文档: ${文档}
插入示例图片,打开【设置图片格式】,在【可选文字】-【标题】中输入标记,以下图:
插入表格,打开【表格属性】对话框,在【可选文字】-【标题】中输入标记,以下图:
经过设置【重复标题行】定义表头,表头能够是多行,以下图:
表头下的第一行是数据行,数据行会根据传入的数据条数,重复显示。
若是不设置表头,第一行就是数据行。
在数据行中输入标记,标记的名称是列表的字段名,也能够引用全局的标记。
数据行下是表尾,能够没有。
若是无数据传入,表格不显示。
名称 |
信息 |
|
徽标 |
市值(亿美圆) |
|
${名称} |
${市值} |
|
公司信息 |
插入文本框,将文本框的【位置】设置为【嵌入文本行中】,以下图:
打开【设置形状格式】,在【可选文字】-【标题】中输入标记,以下图:
在文本框中输入标记,标记的名称是列表的字段名,也能够引用全局的标记。
数据行会根据传入的数据条数,重复显示。若是无数据传入,文本框不显示。
http://www.xdocin.com/XDocService.jar
import java.io.File; import java.util.HashMap; import java.util.Map; import com.hg.xdoc.XDocService; public class DocxEngineDemo { public static void main(String[] args) { Map<String, Object> params = new HashMap<String, Object>(); try { params.put("单行文本", "你好!"); params.put("多行文本", "一行\n两行\n三行"); params.put("图片", "http://www.xdocin.com/xdoc.png"); params.put("HTML", "<html><li>张小三</li><li>李小四</li><li>王小五</li></html>"); params.put("URL地址", "text:http://www.baidu.com"); params.put("文档", "http://www.xdocin.com/xdoc?_func=hi&_rformat=html"); params.put("公司", "名称,徽标,市值\n" + "腾讯,http://www.logodashi.com/OldPic/635467462172730000.gif,3000\n" + "阿里巴巴,http://www.logodashi.com/OldPic/635521864517328000.jpg,2900\n" + "百度,http://www.logodashi.com/OldPic/635467448562000000.gif,600"); new XDocService().run("http://www.xdocin.com/DocxEngine.docx", params, new File("d:/DocxEngineResult.docx")); } catch (Exception e) { e.printStackTrace(); } } }
注意:模板为本地文件或URL。
<script type= "text/javascript" src= "http://www.xdocin.com/xdoc.js" ></script> <script type= "text/javascript" > XDoc.run( "http://www.xdocin.com/DocxEngine.docx" , "docx" , { "单行文本" : "你好!" , "多行文本" : "一行\n两行\n三行" , "图片" : "http://www.xdocin.com/xdoc.png" , "HTML" : "<html><li>张小三</li><li>李小四</li><li>王小五</li></html>" , "URL地址" : "text:http://www.baidu.com" , "文档" : "http://www.xdocin.com/xdoc?_func=hi&_rformat=html" , "公司" : "名称,徽标,市值\n" + "腾讯,http://www.logodashi.com/OldPic/635467462172730000.gif,3000\n" + "阿里巴巴,http://www.logodashi.com/OldPic/635521864517328000.jpg,2900\n" + "百度,http://www.logodashi.com/OldPic/635467448562000000.gif,600" }, "_blank" ); </script>
注意:模板地址须要外网能访问,或者为DataURI。
http://www.xdocin.com/xdoc?_func=run&_format=docx&_xdoc=模板&标记名称=标记值
模板、标记名称、标记值必须用UTF-8编码,参数比较多时,请以POST方式调用。
注意:模板地址须要外网能访问,或者为DataURI。