Word模板引擎使用指南

1.簡介

    Docx模板是一個帶標記的Word文檔,模板引擎用數據替換這些標記生成新的Word文檔。 javascript

   這是一份文檔,同時也是一個模板,後面的示例將會使用本模板。html

        Word文檔地址:http://www.xdocin.com/DocxEngine.docxjava

2.特色

  • 使用Word可視化編輯,操做簡單
  • 標記語法簡單易學
  • 文檔樣式100%兼容
  • 數據格式豐富
  • 基於雲服務,無需安裝維護

3.標記語法

   ${名稱}網絡

   先後標記符合必須是半角的,傳入的數據會依照下面的規則自動識別:編碼

4.識別規則 

  • 以「http:」、「https:」、「ftp:」、「data:」開頭的文本表示網絡資源,自動識別爲圖片或文檔
  • 以「text:」開始的數據,去掉「text:」後識別爲文本
  • 包含回車符的值識別爲多行文本
  • 表格、文本框的可選文字-標題標記識別爲CSV列表數據
  • 其餘識別爲單行文本

5.文本標記

文本標記在文檔中直接輸入。spa

示例

單行文本: ${單行文本}code

多行文本: ${多行文本}orm

圖片: ${圖片}htm

文本框中的圖片:模板引擎

  

   當文本框中只有一個圖片時,圖片會根據文本框的大小作大小適應

HTML: ${HTML}

URL地址: ${URL地址}

網絡文檔: ${文檔}

6.【可選文字】-【標題】標記

圖片

設置

插入示例圖片,打開【設置圖片格式】,在【可選文字】-【標題】中輸入標記,以下圖:

示例

表格

設置

插入表格,打開【表格屬性】對話框,在【可選文字】-【標題】中輸入標記,以下圖:

經過設置【重複標題行】定義表頭,表頭能夠是多行,以下圖:

表頭下的第一行是數據行,數據行會根據傳入的數據條數,重複顯示。

若是不設置表頭,第一行就是數據行。

在數據行中輸入標記,標記的名稱是列表的字段名,也能夠引用全局的標記。

數據行下是表尾,能夠沒有。

若是無數據傳入,表格不顯示。

示例

名稱

信息

徽標

市值(億美圓)

${名稱}

 

${市值}

公司信息

文本框

設置

插入文本框,將文本框的【位置】設置爲【嵌入文本行中】,以下圖:

打開【設置形狀格式】,在【可選文字】-【標題】中輸入標記,以下圖:

在文本框中輸入標記,標記的名稱是列表的字段名,也能夠引用全局的標記。

數據行會根據傳入的數據條數,重複顯示。若是無數據傳入,文本框不顯示。

示例

7.調用

Java

程序庫

   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。

Web

示例

<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

調用地址

http://www.xdocin.com/xdoc?_func=run&_format=docx&_xdoc=模板&標記名稱=標記值

   模板、標記名稱、標記值必須用UTF-8編碼,參數比較多時,請以POST方式調用。

注意:模板地址須要外網能訪問,或者爲DataURI。

相關文章
相關標籤/搜索