精华内容
下载资源
问答
  • 因为是老项目 所以 没有 用vue ,react 那一套 引入js //echarts 生成图表图片用 //生成word 绑定数据用 //读写 zip 文件用 //文件保存的插件 //docxtemplater 3.x 版本的免费的 图片插件 有了这个 生成 word才有图 /...

    因为是老项目 所以 没有 用vue ,react 那一套

    引入js

        <script src="https://cdn.bootcdn.net/ajax/libs/echarts/4.8.0/echarts.min.js"></script> //echarts 生成图表图片用
        <script src="js/plugins/docxtemplater/docxtemplater.js"></script>//生成word 绑定数据用
        <script src="js/plugins/docxtemplater/pizzip.js"></script>//读写 zip 文件用
        <script src="js/plugins/docxtemplater/FileSaver.js"></script>//文件保存的插件
        <script src="js/plugins/docxtemplater/pizzip-utils.js"></script>
        <script src="js/plugins/docxtemplater/imagemodule.js"></script>//docxtemplater 3.x 版本的免费的 图片插件 有了这个 生成 word才有图
      
        <script src="js/plugins/docxtemplater/angular-parse-browser.js"></script>//angular解析器 ,用于解析aaa[0][0]之类的模版用
    

    初始化js

    //载入 word 模版
    PizZipUtils.getBinaryContent("js/plugins/docxtemplater/template.docx", function (error, content) {
                if (error) {
                    throw error;
                }
                /*
                * 获取到 echarts 绘画出来的图片 具体echart  参考我另外一篇文章
                **/
                var img = myChart.getDataURL({pixelRatio: 2}); 
                
                var data = {"name":"例子","img":img};
                
                //构造图片解析
                const imageOpts = {
                    getImage(tag) {
                        return cteateEcharts.base64DataURLToArrayBuffer(tag);
                    },
                    getSize() {
                        return [600, 400];
                    },
                    centered: false,
                    fileType: "docx",
                };
    
                var imageModule = new ImageModule(imageOpts);
                // 自定义 解析器 ,可以实现复杂的运算 以及过滤功能, 暂时项目只用到 取二维数组功能,用于解析aaa[0][0]之类的模版用
                function parser(tag) {
                    var expressions = require("angular-expressions");
                    return {
                        get: tag === '.' ? function(s){ return s;} : function(s) {
                            return expressions.compile(tag.replace(/(’|“|”)/g, "'"))(s);
                        }
                    };
                }
    
    
                var zip = new PizZip(content);
                var doc = new docxtemplater()
                    .loadZip(zip)
                    .attachModule(imageModule)//家长图片解析
                    .setOptions({
                        nullGetter: function () { //设置空值 undefined 为""
                            return "";
                        },
                        parser: parser,//加载自定义解析器
                    })
                    .setData(data)//加载要生成word文档的数据
                    .render();
    
                var out = doc.getZip().generate({
                    type: "blob",
                    mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
                }) //Output the document using Data-URI
                saveAs(out, "社区诊断报告.docx")//生成文件名字
            })
    

    template.docx 模版内的内容

    {name}
    {%img}
    

    更多复杂例子

    {
    	"tCommunityAreaSocial": {
    		"communityAreaSocial1": "2020",
    		"medicalInstitutionsData": [
    			["综合医院", 12, 3, 4, 5, 6],
    			["中医医院", 45, 345, 53, 6, 5],
    			["专科医院", 534, 45, 7, 5, 4],
    			["社区卫生服务中心/乡镇卫生院", 345, 45, 87, 95, 8],
    			["社区卫生服务站/村卫生室", "3", 45, 5, 7, 9]
    		]
    	}
    }
    
    {#tCommunityAreaSocial}
    	{communityAreaSocial1}
    	{medicalInstitutionsData[0]}
    	{medicalInstitutionsData[0][0]}
    	
    
    	{#medicalInstitutionsData[0]}
    		{.}
    	{/}
    
    {/tCommunityAreaSocial}
    
    
    展开全文
  • NULL 博文链接:https://chenhaibo0806999.iteye.com/blog/2384248
  • Java用Freemarker 生成word文档

    万次阅读 2017-02-28 20:41:25
    java用freemarker生成word文档.  步骤如下: 1,新建一个word文档,另存为test.xml 格式的. 2,新建java类. (使用freemarker-2.3.10.jar包. 请自行下载.) 3,把里面需要替换的换成${name}这种. 对应语法参考freemarker ...

    java用freemarker生成word文档.

            步骤如下:

    1,新建一个word文档,另存为test.xml 格式的.

    2,新建java类. (使用freemarker-2.3.10.jar包. 请自行下载.)

    3,把里面需要替换的换成${name}这种.  对应语法参考freemarker api.


    包结构如下:



    java 类:

    package com.junlenet.util;
    
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.io.Writer;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import freemarker.template.Configuration;
    import freemarker.template.Template;
    import freemarker.template.TemplateException;
    
    /**
     * 生成word文档
     * @author WeiJun Hu
     * @date 2017年2月28日 下午8:34:28
     *
     */
    public class GenerateWordUtil {
    
    	private static Configuration configuration = null;
    
    	static {
    		configuration = new Configuration();
    		configuration.setDefaultEncoding("UTF-8");
    	}
    
    	/**
    	 * 
    	 * @param args
    	 * @date 2017年2月28日 下午8:34:28
    	 * @author WeiJun Hu
    	 */
    	public static void main(String[] args) {
    		Map<String, Object> dataMap = new HashMap<String, Object>();
    		dataMap.put("hello", "hello to hwj.");
    		List<Map<String, Object>> stus = new ArrayList<Map<String,Object>>();
    		for(int i=1;i<4;i++){
    			Map<String, Object> stu = new HashMap<String, Object>();
    			stu.put("no", "20100001000"+i);
    			stu.put("name", "hwj"+i);
    			stu.put("age", 20+i);
    			stu.put("class", "大"+i);
    			stu.put("school","景德镇学院");
    			stu.put("mark","...");
    			stus.add(stu);
    		}
    		dataMap.put("stus", stus);//在test.xml 315行 开始
    		String fileName = "F://test"+System.currentTimeMillis()+".doc";
    		try {
    			createDoc(dataMap, fileName);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	/**
    	 * 
    	 * @param dataMap 要填入模本的数据文件
    	 * @param fileName 文件名
    	 * @throws Exception 
    	 * @date 2017年2月28日 下午8:34:41
    	 * @author WeiJun Hu
    	 */
    	public static void createDoc(Map<String, Object> dataMap, String fileName) throws Exception {
    		// dataMap 要填入模本的数据文件
    		// 模板是放在template包下面
    		configuration.setClassForTemplateLoading(GenerateWordUtil.class.getClass(), "/template");
    		Template t = null;
    		try {
    			// test.xml为要装载的模板; 新建一个word文件,然后另存为xml格式, 用文本编辑器打开,把里面需要替换的变量使用${name}替换掉.
    			t = configuration.getTemplate("test.xml");
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		// 输出文档路径及名称
    		File outFile = new File(fileName);
    		Writer out = null;
    		FileOutputStream fos = null;
    		try {
    			fos = new FileOutputStream(outFile);
    			OutputStreamWriter oWriter = new OutputStreamWriter(fos, "UTF-8");
    			out = new BufferedWriter(oWriter);
    		} catch (FileNotFoundException e1) {
    			e1.printStackTrace();
    		}
    
    		try {
    			t.process(dataMap, out);
    			out.close();
    			fos.close();
    		} catch (TemplateException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    
    }
    

    注意: test.xml就不需要复制我的代码,自己新建一个doc文档再另存为xml格式的就可以了. 可以使用xml在线格式话工具格式一下. 

    里面需要处理的代码 列子如下:





    最终效果:




    test.xml 文件内容如下面:

    <?xml version="1.0" encoding="utf-8"?>
    <?mso-application progid="Word.Document"?>
    
    <pkg:package xmlns:pkg="http://schemas.microsoft.com/office/2006/xmlPackage">
      <pkg:part pkg:name="/_rels/.rels" pkg:contentType="application/vnd.openxmlformats-package.relationships+xml" pkg:padding="512">
        <pkg:xmlData>
          <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
            <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/>
            <Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/>
            <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml"/>
          </Relationships>
        </pkg:xmlData>
      </pkg:part>
      <pkg:part pkg:name="/word/_rels/document.xml.rels" pkg:contentType="application/vnd.openxmlformats-package.relationships+xml" pkg:padding="256">
        <pkg:xmlData>
          <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
            <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings" Target="webSettings.xml"/>
            <Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings" Target="settings.xml"/>
            <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/>
            <Relationship Id="rId6" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Target="theme/theme1.xml"/>
            <Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable" Target="fontTable.xml"/>
            <Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image1.png"/>
          </Relationships>
        </pkg:xmlData>
      </pkg:part>
      <pkg:part pkg:name="/word/document.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml">
        <pkg:xmlData>
          <w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml">
            <w:body>
              <w:p w:rsidR="004358AB" w:rsidRPr="00CD02E6" w:rsidRDefault="00581A10" w:rsidP="00CD02E6">
                <w:pPr>
                  <w:spacing w:line="220" w:lineRule="atLeast"/>
                  <w:jc w:val="center"/>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                    <w:b/>
                    <w:sz w:val="32"/>
                    <w:szCs w:val="32"/>
                  </w:rPr>
                </w:pPr>
                <w:r w:rsidRPr="00CD02E6">
                  <w:rPr>
                    <w:b/>
                    <w:sz w:val="32"/>
                    <w:szCs w:val="32"/>
                  </w:rPr>
                  <w:t>J</w:t>
                </w:r>
                <w:r w:rsidRPr="00CD02E6">
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                    <w:b/>
                    <w:sz w:val="32"/>
                    <w:szCs w:val="32"/>
                  </w:rPr>
                  <w:t xml:space="preserve">ava ,Freemarker </w:t>
                </w:r>
                <w:r w:rsidRPr="00CD02E6">
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                    <w:b/>
                    <w:sz w:val="32"/>
                    <w:szCs w:val="32"/>
                  </w:rPr>
                  <w:t>生成</w:t>
                </w:r>
                <w:r w:rsidRPr="00CD02E6">
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                    <w:b/>
                    <w:sz w:val="32"/>
                    <w:szCs w:val="32"/>
                  </w:rPr>
                  <w:t>word</w:t>
                </w:r>
                <w:r w:rsidRPr="00CD02E6">
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                    <w:b/>
                    <w:sz w:val="32"/>
                    <w:szCs w:val="32"/>
                  </w:rPr>
                  <w:t>文档</w:t>
                </w:r>
              </w:p>
              <w:p w:rsidR="009A21A0" w:rsidRDefault="009A21A0" w:rsidP="00D31D50">
                <w:pPr>
                  <w:spacing w:line="220" w:lineRule="atLeast"/>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                </w:pPr>
                <w:r>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                  <w:t>1,</w:t>
                </w:r>
                <w:r>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                  <w:t>基本处理</w:t>
                </w:r>
              </w:p>
              <w:p w:rsidR="009A21A0" w:rsidRDefault="00BB062B" w:rsidP="00D31D50">
                <w:pPr>
                  <w:spacing w:line="220" w:lineRule="atLeast"/>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                </w:pPr>
                <w:r>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                  <w:t>输出</w:t>
                </w:r>
                <w:r>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                  <w:t xml:space="preserve">: </w:t>
                </w:r>
                <w:r w:rsidR="00CB6983">
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                  <w:t>${hello}</w:t>
                </w:r>
              </w:p>
              <w:p w:rsidR="009A21A0" w:rsidRDefault="009A21A0" w:rsidP="00D31D50">
                <w:pPr>
                  <w:spacing w:line="220" w:lineRule="atLeast"/>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                </w:pPr>
              </w:p>
              <w:p w:rsidR="000209BE" w:rsidRDefault="00B61175" w:rsidP="00D31D50">
                <w:pPr>
                  <w:spacing w:line="220" w:lineRule="atLeast"/>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                </w:pPr>
                <w:r>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                  <w:t>2</w:t>
                </w:r>
                <w:r w:rsidR="000209BE">
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                  <w:t>,</w:t>
                </w:r>
                <w:r w:rsidR="000209BE">
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                  <w:t>表格处理</w:t>
                </w:r>
              </w:p>
              <w:tbl>
                <w:tblPr>
                  <w:tblStyle w:val="a3"/>
                  <w:tblW w:w="0" w:type="auto"/>
                  <w:tblLook w:val="04A0"/>
                </w:tblPr>
                <w:tblGrid>
                  <w:gridCol w:w="1420"/>
                  <w:gridCol w:w="1420"/>
                  <w:gridCol w:w="1420"/>
                  <w:gridCol w:w="1420"/>
                  <w:gridCol w:w="1421"/>
                  <w:gridCol w:w="1421"/>
                </w:tblGrid>
                <w:tr w:rsidR="00F627BA" w:rsidTr="00E7461A">
                  <w:tc>
                    <w:tcPr>
                      <w:tcW w:w="1420" w:type="dxa"/>
                      <w:shd w:val="clear" w:color="auto" w:fill="92D050"/>
                      <w:vAlign w:val="center"/>
                    </w:tcPr>
                    <w:p w:rsidR="00F627BA" w:rsidRDefault="00E74164" w:rsidP="00E7461A">
                      <w:pPr>
                        <w:spacing w:line="220" w:lineRule="atLeast"/>
                        <w:jc w:val="center"/>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                      </w:pPr>
                      <w:r>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                        <w:t>学号</w:t>
                      </w:r>
                    </w:p>
                  </w:tc>
                  <w:tc>
                    <w:tcPr>
                      <w:tcW w:w="1420" w:type="dxa"/>
                      <w:shd w:val="clear" w:color="auto" w:fill="92D050"/>
                      <w:vAlign w:val="center"/>
                    </w:tcPr>
                    <w:p w:rsidR="00F627BA" w:rsidRDefault="00E74164" w:rsidP="00E7461A">
                      <w:pPr>
                        <w:spacing w:line="220" w:lineRule="atLeast"/>
                        <w:jc w:val="center"/>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                      </w:pPr>
                      <w:r>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                        <w:t>名称</w:t>
                      </w:r>
                    </w:p>
                  </w:tc>
                  <w:tc>
                    <w:tcPr>
                      <w:tcW w:w="1420" w:type="dxa"/>
                      <w:shd w:val="clear" w:color="auto" w:fill="92D050"/>
                      <w:vAlign w:val="center"/>
                    </w:tcPr>
                    <w:p w:rsidR="00F627BA" w:rsidRDefault="00E74164" w:rsidP="00E7461A">
                      <w:pPr>
                        <w:spacing w:line="220" w:lineRule="atLeast"/>
                        <w:jc w:val="center"/>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                      </w:pPr>
                      <w:r>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                        <w:t>年纪</w:t>
                      </w:r>
                    </w:p>
                  </w:tc>
                  <w:tc>
                    <w:tcPr>
                      <w:tcW w:w="1420" w:type="dxa"/>
                      <w:shd w:val="clear" w:color="auto" w:fill="92D050"/>
                      <w:vAlign w:val="center"/>
                    </w:tcPr>
                    <w:p w:rsidR="00F627BA" w:rsidRDefault="00E74164" w:rsidP="00E7461A">
                      <w:pPr>
                        <w:spacing w:line="220" w:lineRule="atLeast"/>
                        <w:jc w:val="center"/>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                      </w:pPr>
                      <w:r>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                        <w:t>班级</w:t>
                      </w:r>
                    </w:p>
                  </w:tc>
                  <w:tc>
                    <w:tcPr>
                      <w:tcW w:w="1421" w:type="dxa"/>
                      <w:shd w:val="clear" w:color="auto" w:fill="92D050"/>
                      <w:vAlign w:val="center"/>
                    </w:tcPr>
                    <w:p w:rsidR="00F627BA" w:rsidRDefault="00E74164" w:rsidP="00E7461A">
                      <w:pPr>
                        <w:spacing w:line="220" w:lineRule="atLeast"/>
                        <w:jc w:val="center"/>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                      </w:pPr>
                      <w:r>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                        <w:t>学校</w:t>
                      </w:r>
                    </w:p>
                  </w:tc>
                  <w:tc>
                    <w:tcPr>
                      <w:tcW w:w="1421" w:type="dxa"/>
                      <w:shd w:val="clear" w:color="auto" w:fill="92D050"/>
                      <w:vAlign w:val="center"/>
                    </w:tcPr>
                    <w:p w:rsidR="00F627BA" w:rsidRDefault="00E74164" w:rsidP="00E7461A">
                      <w:pPr>
                        <w:spacing w:line="220" w:lineRule="atLeast"/>
                        <w:jc w:val="center"/>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                      </w:pPr>
                      <w:r>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                        <w:t>备注</w:t>
                      </w:r>
                    </w:p>
                  </w:tc>
                </w:tr>
                
                <#list stus as s>
                <w:tr w:rsidR="00F627BA" w:rsidTr="00E7461A">
                  <w:tc>
                    <w:tcPr>
                      <w:tcW w:w="1420" w:type="dxa"/>
                      <w:vAlign w:val="center"/>
                    </w:tcPr>
                    <w:p w:rsidR="00F627BA" w:rsidRDefault="00B74325" w:rsidP="00E7461A">
                      <w:pPr>
                        <w:spacing w:line="220" w:lineRule="atLeast"/>
                        <w:jc w:val="center"/>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                      </w:pPr>
                      <w:r>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                        <w:t>${s.no}</w:t>
                      </w:r>
                    </w:p>
                  </w:tc>
                  <w:tc>
                    <w:tcPr>
                      <w:tcW w:w="1420" w:type="dxa"/>
                      <w:vAlign w:val="center"/>
                    </w:tcPr>
                    <w:p w:rsidR="00F627BA" w:rsidRDefault="00AA635D" w:rsidP="00597788">
                      <w:pPr>
                        <w:spacing w:line="220" w:lineRule="atLeast"/>
                        <w:jc w:val="center"/>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                      </w:pPr>
                      <w:r>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                        <w:t>${s.name}</w:t>
                      </w:r>
                    </w:p>
                  </w:tc>
                  <w:tc>
                    <w:tcPr>
                      <w:tcW w:w="1420" w:type="dxa"/>
                      <w:vAlign w:val="center"/>
                    </w:tcPr>
                    <w:p w:rsidR="00F627BA" w:rsidRDefault="00370951" w:rsidP="00E7461A">
                      <w:pPr>
                        <w:spacing w:line="220" w:lineRule="atLeast"/>
                        <w:jc w:val="center"/>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                      </w:pPr>
                      <w:r>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                        <w:t>${s.age}</w:t>
                      </w:r>
                    </w:p>
                  </w:tc>
                  <w:tc>
                    <w:tcPr>
                      <w:tcW w:w="1420" w:type="dxa"/>
                      <w:vAlign w:val="center"/>
                    </w:tcPr>
                    <w:p w:rsidR="00F627BA" w:rsidRDefault="008C151A" w:rsidP="00E7461A">
                      <w:pPr>
                        <w:spacing w:line="220" w:lineRule="atLeast"/>
                        <w:jc w:val="center"/>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                      </w:pPr>
                      <w:r>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                        <w:t>${s.class}</w:t>
                      </w:r>
                    </w:p>
                  </w:tc>
                  <w:tc>
                    <w:tcPr>
                      <w:tcW w:w="1421" w:type="dxa"/>
                      <w:vAlign w:val="center"/>
                    </w:tcPr>
                    <w:p w:rsidR="00F627BA" w:rsidRDefault="008C151A" w:rsidP="00E7461A">
                      <w:pPr>
                        <w:spacing w:line="220" w:lineRule="atLeast"/>
                        <w:jc w:val="center"/>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                      </w:pPr>
                      <w:r>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                        <w:t>${s.school}</w:t>
                      </w:r>
                    </w:p>
                  </w:tc>
                  <w:tc>
                    <w:tcPr>
                      <w:tcW w:w="1421" w:type="dxa"/>
                      <w:vAlign w:val="center"/>
                    </w:tcPr>
                    <w:p w:rsidR="00F627BA" w:rsidRDefault="00FE6B2D" w:rsidP="00E7461A">
                      <w:pPr>
                        <w:spacing w:line="220" w:lineRule="atLeast"/>
                        <w:jc w:val="center"/>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                      </w:pPr>
                      <w:r>
                        <w:rPr>
                          <w:rFonts w:hint="eastAsia"/>
                        </w:rPr>
                        <w:t>${s.mark}</w:t>
                      </w:r>
                    </w:p>
                  </w:tc>
                </w:tr>
               </#list>
              </w:tbl>
              <w:p w:rsidR="00581A10" w:rsidRDefault="00581A10" w:rsidP="00D31D50">
                <w:pPr>
                  <w:spacing w:line="220" w:lineRule="atLeast"/>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                </w:pPr>
              </w:p>
              <w:p w:rsidR="00581A10" w:rsidRDefault="00581A10" w:rsidP="00D31D50">
                <w:pPr>
                  <w:spacing w:line="220" w:lineRule="atLeast"/>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                </w:pPr>
              </w:p>
              <w:p w:rsidR="003C6D02" w:rsidRDefault="003C6D02" w:rsidP="00D31D50">
                <w:pPr>
                  <w:spacing w:line="220" w:lineRule="atLeast"/>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                </w:pPr>
                <w:r>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                  <w:t>3,</w:t>
                </w:r>
                <w:r>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                  <w:t>图表处理</w:t>
                </w:r>
              </w:p>
              <w:p w:rsidR="00197453" w:rsidRDefault="00197453" w:rsidP="00D31D50">
                <w:pPr>
                  <w:spacing w:line="220" w:lineRule="atLeast"/>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                </w:pPr>
              </w:p>
              <w:p w:rsidR="00197453" w:rsidRDefault="00197453" w:rsidP="00D31D50">
                <w:pPr>
                  <w:spacing w:line="220" w:lineRule="atLeast"/>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                </w:pPr>
              </w:p>
              <w:p w:rsidR="00197453" w:rsidRDefault="001646E2" w:rsidP="00D31D50">
                <w:pPr>
                  <w:spacing w:line="220" w:lineRule="atLeast"/>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                </w:pPr>
                <w:r>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                  <w:t>4,</w:t>
                </w:r>
                <w:r>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                  <w:t>图片处理</w:t>
                </w:r>
              </w:p>
              <w:p w:rsidR="001646E2" w:rsidRDefault="000654F4" w:rsidP="00D31D50">
                <w:pPr>
                  <w:spacing w:line="220" w:lineRule="atLeast"/>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                </w:pPr>
                <w:r>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                    <w:noProof/>
                  </w:rPr>
                  <w:drawing>
                    <wp:inline distT="0" distB="0" distL="0" distR="0">
                      <wp:extent cx="5274310" cy="1136920"/>
                      <wp:effectExtent l="19050" t="0" r="2540" b="0"/>
                      <wp:docPr id="4" name="图片 4"/>
                      <wp:cNvGraphicFramePr>
                        <a:graphicFrameLocks xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" noChangeAspect="1"></a:graphicFrameLocks>
                      </wp:cNvGraphicFramePr>
                      <a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
                        <a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/picture">
                          <pic:pic xmlns:pic="http://schemas.openxmlformats.org/drawingml/2006/picture">
                            <pic:nvPicPr>
                              <pic:cNvPr id="0" name="Picture 4"/>
                              <pic:cNvPicPr>
                                <a:picLocks noChangeAspect="1" noChangeArrowheads="1"/>
                              </pic:cNvPicPr>
                            </pic:nvPicPr>
                            <pic:blipFill>
                              <a:blip r:embed="rId4" cstate="print"/>
                              <a:srcRect/>
                              <a:stretch>
                                <a:fillRect/>
                              </a:stretch>
                            </pic:blipFill>
                            <pic:spPr bwMode="auto">
                              <a:xfrm>
                                <a:off x="0" y="0"/>
                                <a:ext cx="5274310" cy="1136920"/>
                              </a:xfrm>
                              <a:prstGeom prst="rect">
                                <a:avLst/>
                              </a:prstGeom>
                              <a:noFill/>
                              <a:ln w="9525">
                                <a:noFill/>
                                <a:miter lim="800000"/>
                                <a:headEnd/>
                                <a:tailEnd/>
                              </a:ln>
                            </pic:spPr>
                          </pic:pic>
                        </a:graphicData>
                      </a:graphic>
                    </wp:inline>
                  </w:drawing>
                </w:r>
              </w:p>
              <w:p w:rsidR="001646E2" w:rsidRDefault="001646E2" w:rsidP="00D31D50">
                <w:pPr>
                  <w:spacing w:line="220" w:lineRule="atLeast"/>
                  <w:rPr>
                    <w:rFonts w:hint="eastAsia"/>
                  </w:rPr>
                </w:pPr>
              </w:p>
              <w:p w:rsidR="008302B2" w:rsidRDefault="008302B2" w:rsidP="00D31D50">
                <w:pPr>
                  <w:spacing w:line="220" w:lineRule="atLeast"/>
                </w:pPr>
              </w:p>
              <w:sectPr w:rsidR="008302B2" w:rsidSect="000E13BB">
                <w:pgSz w:w="11906" w:h="16838"/>
                <w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="708" w:footer="708" w:gutter="0"/>
                <w:cols w:space="708"/>
                <w:docGrid w:type="lines" w:linePitch="360"/>
              </w:sectPr>
            </w:body>
          </w:document>
        </pkg:xmlData>
      </pkg:part>
      <pkg:part pkg:name="/word/media/image1.png" pkg:contentType="image/png" pkg:compression="store">
        <pkg:binaryData>iVBORw0KGgoAAAANSUhEUgAAA+cAAADXCAIAAAD3DrfbAAAAAXNSR0IArs4c6QAATGpJREFUeF7t nQmYHcV1788dLaPRvgEjAdrYJJZYAoMRNg6LwcHbA9sxAuc5y0tEgA+bJI4NSWxsZxGO7Rfi7xms ybNx/BzEkrCYLQYMMhCNhA2SA9aC0ArSDKBttM2Mlpl3+tZMTU11d3V13+6+1ff++7ufdKdvrb9/ VfWp6tPVpd7eXsIBAiAAAiAAAiAAAiAAAiDgHoGX3jwkCtXgXtlQIhAAARAAARAAARAAARAAgUEE YLWjQYAACIAACIAACIAACICA6wRgtbuuEMoHAiAAAiAAAiAAAiAAArDa0QZAAARAAARAAARAAARA wHUCsNpdVwjlAwEQAAEQAAEQAAEQAAFY7WgDIAACIAACIAACIAACIOA6AVjtriuE8oEACIAACIAA CIAACIAArHa0ARAAARAAARAAARAAARBwnQCsdtcVQvlAAARAAARAAARAAARAAFY72gAIgAAIgAAI gAAIgAAIuE4AVrvrCqF8IAACIAACIAACIAACIACrHW0ABEAABEAABEAABEAABFwnAKvddYVQPhAA ARAAARAAARAAARCA1Y42AAIgAAIgAAIgAAIgAAKuE4DV7rpCKB8IgAAIgAAIgAAIgAAIxLfa27Yu +OrWdityHfd+dU3JLvDyO21D6jmv3FhauHF5/1kvnTv9pfNKsuDJDqtSRwRqv33hmttXppGSOQ3m vHDdvW3ZZxSUQwjGKDRPrrOUuzq1Qq4gAAIgAAIgAAIgUFgCpd7e3niFZyv5ru6rr5p67xXjIiKW Qy66fs4t8yJz6Ghvo6V3bb+mnbyUm3dyRGOcxtaWWeeLEF4uJP9kc3M+Tei9oZmILfXtD88X5VS/ U/uT66Y81BNZpr4Ac0Vq/Ue5UtFxm0e1fWMaBWTUsOT6pofvOnBfWBLliF5+bLXf1nnl109bMIX/ 4KnC7lvDomglDAomqmynhRdfwRhdVxnCy6W1qa/8pnieHKw1BZS8/6dB0Qfkrki7/jS92q1SmlBI Ubdu3Tpt2rQY9UdQEAABEAABEAABEEibwEtvHhJJxrfahUnX3m9cDi5ZPKOqHHeQKenZxIeXXDXs mocGDHG97oPN9ARWexDMsrHYPNhADwjHwdrpemFJxz3KWdBgblpd1CR9VjsFzH8GzUbCClQWhZb0 TQCsip2V1e5VSpmxhFntGqWIIltqNygVQxuW4WC1W7UVBAIBEAABEAABEMiSgLTaozxkPP+TNdpn /ipe/D0wxXeeXVCarzitt2WO97m+UVjkfX+Kk0GfQSvx82b1tpy2YGBpm9eY+7xE2PQMcn3JEpI/ 7ZU7r2keF89kX7lReOYsv5NXlxtbxTp6/9Hefpiah85IXonOzZG+Sm1bb/ZW2UNnGh7YQIlX7faf H/AyCmoY3h2MkIahVpFvp/S2TFiUvNYpxDz/qlFXtx/4UXxPp5aWFsvs1ZDmWIG/ipNhEe2LYVla BAMBEACBeiBgM3j6w0SesUm2crx8UY5MxCaMIZEKo8uUbdKxCWOub4UpyOh+a6fClAOLnUqaUWvt MbxcBhXS0gnBpIfwRWlubL1+1vlTOpav7Fh614FbqUFfM47vIROUqc16rVhob6ayJ4/hGOw+5Dm3 rGpuuK/dv9odvFLuv1+x6PoJdNfuvrV2bblaetSEFMhmUdkfNau1dmXC4vn8VG+tvTyPCr1lJIoZ uNbOQ/PChQtFgMBhWv018Luftpqm/FWeDPxV5C7TjxzHEQAEQAAEQEAdOf0DuDqiakO9f7DVRmD/ gGy24y1H70g7jxdDNVk5iv8khzEkpYa3DGbTlsJKosatemkjC2kDxCaMvQSBbK09ZJJZ7WXLklTf 9/KZuWE+7sIxZsCFo8+52e89X54MlH3frxgXZN3Ouag12q89mdXuZbdp3CAfd5tmy2F8dRe1CDoU Z2srD5nIEnhzhiDXmoiIllY7B7tj5sATDppfu5FY2VO/qlZ72bdKbXU6k0irXdrukZa6Nnxr47XZ ajfMEPwqWl4JItsNAoAACIBATRIIWxCJuw6ipSP+FEO9GIfjJmhDO9LEFKZhoNVuaStHxjWU02aO YRPGfh6SVmk5Ha1gMmWVZ9j3HNhae8jYtCNfmPZVnfdRw5Vzox5X7Y/Y3jypdW7PNbf1byPDjijt vKY+p++BV2WXmPNvmNN2VcN9rR282N3njeO54rCx67nfWDz2mqg+Zcv75oeGtaqPpdqnNGXaHVc1 3PrQ4I132GDV/IXKPkUpHysP3kqNF0U/DZws244Z80fRQ9sDPZfYoPeef+Ul7WRp5xBr3shF1BPt YhS/JDxYq/4tYuyWhyE9EVGNLr+rKYjv4tqgHfELixggAAIgUBcEtJE5rM7qOKx9N2MKW3/RYpnX 4P1ZqM4bwiiXHxk4zBSONJH95magr4h9OganaJmXDMNntPD2DVEY0JWUVi2GyNd/xr485pCVl3ZA 64g9ZJKstQc9dmlea+8rTtmZxL87jeGRTY4Y00MmwfOyvLR/B7X/qLl5xkMRvjFcHPX+QOCaOvv6 KzcElLVwrZrltfa5c+nWVexaM27zbeF7yIQ7yUQ6gYS1M8u1di+6ck9gYK3dLJkXzbjWrjogKevx ybQL3+wo4lnesLV2Cc2/oOK/qWq+i6oO32KdxtKphsuQxUJOWiMU0gEBEAABNwmoa+RaCSPdYER4 /7gtzmtXhMBFff+4rS7PBxKTBp+2+muzBmzwP6lklTotZW1uC3BelsGSlUomnvVae7LiyViZesgY tykcXPDAHSTDHUgGIg/sPBPTag8GJ5zFo3zEo6CHWYHyfKfwV4m22vv3l+zn02fcKxH7yqL5qGgl jDS+07WDrXd+NFjtg2vQ92xD8IZFfUGTaxfxMINmtcuR2uDfEmh2B66sBDpQhkWXFwNzC4R7TFQP xe8gAAJ1TUA1kc1LKtJADxtXRXSZoN9Gj1zEUecAhtFbNSvF6rIwuGNZ7ZGL5TLNwPZhb+JHenjb lMQmjCBQYWllIoYKplKjyksrrXbitXbT8coG+pPVi16JCBX98/YtV/en0/bEhiXbg2J4YTa0ar+U I3IZ6Httwbl4JZSx9iz5yuqrn9hTDhn2PSCZtifWciKLvrc2uGDR1RMh1BzVOP3nvbp4WbR+T1an bVH5jHf0V6Tv1/7A5d84WFmFQZXt7R0UJqCUSka2deBwXqwy836Setwyrr4wll98SXk1CtVUyVDk FVYSD01y7TxdDGXYsmWLn9rixYu1k+qZwO/ypP+LSEo9z9/Fn/axtES04i1fvvyZZ555rnzwF/4z RlNAUBAAARCoIQJigNXGWHUIlQHCvkgY2hAdd8S2h8pXQA6sXWrFGZmIzXc1RzV8ZEliBbbPRUvW kEusAsQNHIhX0BZ1cYTtiq3d4hO186M3kWmYoe5WaDtR5+XhgVeWKpE6lrZ2X3NbwE9lb/jDmwe9 DbTj3rs6r7zK81xfRLszeyNp+48e6rn6qkm3zOd94iN3UrStvz+cV8HmpovUvd7bDq3yhWPf/dBn XudNWtLcfUf/S16XP3Tgvrkxd6KMKj6vl/Nrqlrn8iuQRl3Zuj2Q+cD+noprvhelfJQ3dtR3+Yx+ J1dIwZrnNl1NdN+mzpDfc9IuClvw73H9FzkVmwdVYxXmjDPO4PBHygd/EX/iAAEQAIF6IyAXv1VH RPVRIjECa48hxXp2KGzMVxfmk2EXV1WOK78kS4djSZebxClUHtHe6SW70mplSIVwdqWVzCOsdm9D cRo2I/5LhZbfyX7Y3UsD9sMet+Abc1rnds//6uCnM4k2b+qhwTYo73H+8PxmsX37RVeNWnVX397t 4S3G2798brPtU7AinfYnO/iRzZv5FapsE7dXMjcYx9MbYV96m6D7KugZu4P3a6f2I/fFwztuwVWN 9z3kGdOeec0v+Ix8QLb9kP1EpM/FpS/N4Qu+wTtORjLn6rKribd1Dz8oTM2jrty0fWBb98o7dzmF q2c2BaZUuXZhKUcW3GCRq4+QRqaTdYDRo0fPm9f3PDJ/4T+zzhHpgwAIgICDBPxeKJqBrpU5gakt twpQk1JnC/4Lh7xeGIipj5/6H0V1CrX2sKz2p1pU8ZM4Y2/Ep1hZzStGlkctWIrZpZWU2WrndfGe BK8BKhuU3iYwYZu6nH/DhEX8Op47VXuyfSlv6agYZ+JJyjvYmBaHtxMLXXNboBHZPb8s/4I7D66K e2dg5UZvqxPeEt7LY9yC63luEHiLwAr4jJkNVLaSvRlI8/DIWxTLW7tp7shy1tbHvFlsHN96F+/Q wk+pimKHHuXyHNlsl7a360trU9ugeUXzLV9vevi2Naa7HOxWvpAnV1Pl/YGLbphz86bgjWXsCjIo VPkOTMhMrFLtkszxROECHzOS5VYHbjFGy3FZ/WKmoT2cmgCdjDJx4sTp5YO/VJIO4oIACIBAnRAw m9ryQqAO+/6T6sVC/Cpd4WNhDNx0JVYKMrC0j/17HZoTjPQ1F9HVO+3iT3lSTV8GEyZymFt51qX1 FymwtJao8ymt0Wpv63i4na6ePy7S+hxUpT5bKvRlnOXAbA6OunqVsrDt7VEoN4ssr93yQvLglWle qy5vENlnuLOV6en90NC2fn+Mm6lbd0Exwy4/7MgeHQOziynT7r2e5gf79kQL19w8zMZK7vOBadt6 xyoi7xWk5XmC917YCCtclMCbEnhHT6Q/T9m9JPCOh1YXdmcq73Ov3QrgUAykhVfc14Rt71i6rfNK uUdnf6reBp0zO0r977WNBidDsCLKXK7vYdm5EwKmf5VrV25yCby/Ym3eItdyuIrado0qFvPKfQyA IUFPKR+Vp4MUQAAEQKBmCEj3GG0E1gZ5zdQWsQKX1f1kAhf41WCW6UQyt1mP9/uE2Njice17rahh 0aW9Ljdw1CLmXFrDWrtTbE1Wu+c2LVxH7A/7nSLFLub9DhjeqrPw+fZ2Z+cNFpX3DSm5n3/D1CXN 5Z3d72z3bF+216WhWTaCF101zXKO4Tmx3NXNe9HoLtdsPXuGu41niI+LtwU4+51v5fsGi+YbC8LV LL+Iiqvg+QvxjYJ+b3UTbA9O2bz2JioTFnkWv7GcU6bdzHtHtpp8ZDwO5Q03w18g1XwLF5IG5yVK 0j6qrSV4elb2fecNK3lmpdy78BbmxV6z5Y0svfKX/5TeRHwnwTP3+/ajLd8GCfDyT0W7gSZn37zL Ie03Z5QJhy3bqKO/djfW3ife5gZrzCoiOAiAAAjUPgG/h4wck7XKC8NdDMuanS1/8g/F6qxA+54M rtzpRbO2w3ZJl7mELWmHWcx+y9umwKo/jCih3xSWYVQHffFddZgJXIBPt7T+Omo3CmSAQLw5sx0o bdjjw5F7dwRG5O1Hgrf7CNmLpj/8wI4ibdu3LNJ2ktE2TvG2avFv9uKlEL7TyODdXfr2pfHtV6NW ySZMIIJyTekrW5Qtb7SylSur7cwjshOxRAqDtljpi6LsltOftwgctsEOhzLuM1PeLiaAQ/DmM6KQ 32srxwrYb8drM4MqXi5kf6zIB9WtAtjoYh3GvDlS4B4y/g0E1GKb95BJFte/a42644EVNAQCARAA ARAAARAoLAG5h0zozo9tr2y42mALWtW8vLOe3CIwwrIM319St9oD8o7a4nDAahezEcu9LPu2OEzK Qdkhsc8yNs6FIjYitEIeFMiD4zemjclF8QyOHGy1Jy63L2KK2tkwMVjtgfs/mjdw1GqjpRC2fSTH gtWeXgtCSiAAAiAAAiBQPALSai9x2W1ufCBMkQmUXycU4nRU5HolLHv5NV7BLlhqioHvRk2YJaKB AAiAAAiAAAiAQCIC1u9GTZQ6IoFADRCA1V4DIqIKIAACIAACIFB0AtJqt3nLUtEri/KDQBIC06ZN SxINcUAABEAABEAABEAgAwKw2jOAiiRBAARAAARAAARAAARAIFUCsNpTxYnEQAAEQAAEQAAEQAAE QCADArDaM4CKJEEABEAABEAABEAABEAgVQKw2lPFicRAAARAAARAAARAAARAIAMCsNozgIokQQAE QAAEQAAEQAAEQCBVArDaU8WJxEAABEAABEAABEAABEAgAwKw2jOAiiRBAARAAARAAARAAARAIFUC sNpTxYnEQAAEQAAEQAAEQAAEQCADArDaM4CKJEEABEAABEAABEAABEAgVQKw2lPFicRAAARAAARA AARAAARAIAMCsNozgIokQQAEQAAEQAAEQAAEQCBVArDaU8WJxEAABEAABEAABEAABEAgAwKw2jOA iiRBAARAAARAAARAAARAIFUCsNpTxYnEQAAEQAAEQAAEQAAEQCADArDaM4CKJEEABEAABEAABEAA BEAgVQKlNds6U00QiYFA/RKYPHZE/VYeNQcBEAABEAABEMiAwMbdh0Sqpa7DvRmkjyTTIbDpna6Z x8IQTAdm1qlArKwJp5j+vi4ag46VItAsk4JYWdJNOW2IlTLQLJODWFnSTTntX7f1We3wkEmZLJID ARAAARAAARAAARAAgdQJwGpPHSkSBAEQAAEQAAEQAAEQAIGUCcBqTxkokgMBEAABEAABEAABEACB 1AnAak8dKRIEARAAARAAARAAARAAgZQJwGpPGSiSAwEQAAEQAAEQAAEQAIHUCcBqTx0pEgQBEAAB EAABEAABEACBlAnAak8ZKJIDARAAARAAARAAARAAgdQJ1O9+7Z+/8Tqm+d3vLU6daYoJYgtwIVPg 4Zp2EKtAYmGjYoiV4kCddVJtF5bCspjywqA3rnBI7UzWZdPSR8+yFytnafzZQawCDYNyv/YqWO1h mGIZYXFZc3g1fTW6P19D4qqhr6WZRQ90wRCsrl5hkOV5m5aQg1KsPsSqRCzZs/IRy4XLlcs9y50x kBsGxAqzxQPPhwVGz8rHxogUy8ash1j5iBV5zbKx6/IRS1rtxO9GTeuzsP+QCfrP8E980p+jetIm ncBEbBIXYWR09XsgB3OAsGKkhXTNts60kgpkrtUuLb38QiTWS2sYatOKRSZrpbgwBRUrsLuF9YXI nhsokNrdRADDmbBeHEvuyMDv7ktt3MuzZ+UplmVfy6FnFVQsrakbGnbkNXHT+QNX6rDvUi81gNY4 IZYUxW8GaJ0r8TUrUqwwgbTzECtQLGnChdkGapuP7FkFMjBWbO0Wn9Ssdn/lY+HwX8XlGBeYjn2P 0kL6rfBIu9zceTLtWtkZgtnppc2L/Jcuc6fy66X2UilWAuwJokQaf2qAIoqVeucyi2VjvpsbTCxF DIGzMwSz61k5i2VptecwyyqiWKrBEUnSPzRpZ4Q9x/+qH3Embo/IehgsoliRtl2sa1akWJZWO3qW RkDIZLAVAxdQzBNXmaacs2m52PevrHuWtNqr8zQq31DQPja3ISoMI3IUN+Lld/W+vPmmcIW5ux/d cEMqrl6x7m3ZkOEERZryi02sGg6TolipU4JYGtK0xEq9W6kdCj1LqJaWWJxU6vfN2WFd+KzLL6LM 7HFh/qTexx1JMEWxUq9RmFipZ1SUBFMXK8XxsFjXrKHZSS6Z+gcvgyu5P5Ywsv1DalwjW81UGu7S FpQcApPVTqbYXLLjnyxlObFRo8d1/Q/MOq5egYokTiQZDcdjVS5WWCdNzFmNmDgRx7EnK17lYol8 /ekk5mwWK+zXGh79tDFHq2l1h0HVGVpzjK7u46fJukOKsVLpWanYGLJSBrHkRCtFAgVKykGxCnfN ytBql9eYBKO8auiHfQ9M1v4CFlYq7XxgIytQJ4lbVFH91FeJOM3EekVGDBQ9QauLy6rq4dMSy2Ze Le1Fc60jxao6tGoVIC2x/OkkZm6OGFhg+wG2WpxTybdyscKG0MRiBZrmmvmuPgdZ9c1kUhHCJpHK xVJFUYXLTiwbNW3qXrgwlYul2hKpiGVQOXK4q4qZka2HTNjIxee1j9r4sjAZ5RTCn7U4E9j65flI 8QrXeWIV2KxXrKSSBTa0FtGH/Z9kGdVArLhipd7dzGJpc0IWztABa0AOcxXiipU6kEixUs+xuAnG Ektt2GldPjQ3GDNJtgsNe5UUVwXLkscSyzLNWMFiiRUr5doLXHWxwobBQNNCPVkVLTK02g3WgMHG St2GULHCvDM0MsOlxQWbWJahKv3EtUzTEiuj7mYQy5+jCOwa4RTLk6JYKZZKJoWepa0ZhUGOOwzK hp1i8xbe0mErtdr5mjfcHe9ZBrGy6MiOp5mWWBlVs0DDYGoeMmJpQQCVg5Sqk/2dES1WYMr2yono YeOmyMtwi0QWOzCRjIwe+9olDumnGqag+ZJj0D0ZnDC9KlyvSlaYxHjTjZiDWFrPtSx/ArFsLBiI JQYlbUTNaCQ09CwbIWzCWDan/INZQo6so1mayOj+iof1rAqXzxOUJH9RDLMmmx4RWUdL0e0rDrHC GrB6WUnLwMh/GLRpCZGtziYRyzB5v2UprG5x62yet/krH2Zz25jsIjW/fR+3zJaSqMGq/uKe6upl nm7Z2H9SO/vACWQSUSCWYW4sZ78GvPYT+8QayYhVf3FPIXqWv5DamRzGQJaszsUyeKjLn2zCQKxY V4FkNoaNEHjLkhyHCzEMRl5u8ulZ1Xk3qsF0DrOew3hVLrbfClet88DyaBP9SC0rD1BdQ7C6ehkk ljN4w8CqzvIrF8ImBYgVOFtWhUhrGmYjhzlMdQ1B9KxYCtazWIYXbQqGwg3GsI1Mzo+lQix/25Zm upAp8uWpsXpHJYHrWSwbA6MStqnHrY7Vnno1aj7B6hqCNY833QpCrHR5ZppadS9XmVat9hKHWAXS FGJBrAIRKFBRpdWe4dOoBcKBooIACIAACIAACIAACICAywRgtbusDsoGAiAAAiAAAiAAAiAAAh4B WO1oByAAAiAAAiAAAiAAAiDgOgFY7a4rhPKBAAiAAAiAAAiAAAiAAKx2tAEQAAEQAAEQAAEQAAEQ cJ0ArHbXFUL5QAAEQAAEQAAEQAAEQKDU2+ttIIrDTQJrt3fNnjrCzbKhVBoBFmvyWIiFdgECIAAC IAACIJAmgY27D4nkYLWniTX1tGC1p440uwQhVnZsU095x36aPDr1VJFgJgQgViZYs0kUYmXDNZNU IVYmWLNJ9KU3+6x2eMhkAxipggAIgAAIgAAIgAAIgEB6BGC1p8cSKYEACIAACIAACIAACIBANgRg tWfDFamCAAiAAAiAAAiAAAiAQHoEYLWnxxIpgQAIgAAIgAAIgAAIgEA2BGC1Z8MVqYIACIAACIAA CIAACIBAegRgtafHEimBAAiAAAiAAAiAAAiAQDYEsPNjNlxTShWbCaYEMo9kIFYelFPKA1uepQQy j2QgVh6UU8oDYqUEMo9kalKsTZs27dq1q7u7u6ura8SIEY2NjRMnTpwyZQp/z4NpZnlg58fM0CJh EAABEAABEAABEACBHAm0tbU9++yz/O/UqVMvuOCCSy65ZObMmWyysxG/bNky/inHsmSYFTxkMoRb d0l3ttO6H4fWunt33QFBhUEABEAABEAABDImwMb6ypUreU2d7XX+V+TGX9hwP+mkk+bMmcNr7bVh uMNqz7gp1VXyh3bTb26jjjUBlX72Y7Tj9bqC4XplMcVyXSGlfBALYhWIAIoKArkTYJOdDXS2zv05 jx8/nr1l+Fc23NesCbJPci9tJRnCaq+EHuIOJnBwI3VtptZrdS7LrqX2x6nhAHg5RABTLIfEiCoK xIoi5NDvEMshMVCUuiDwxBNPsEUeaLLLRXex9M5e70Un4qrV/sI/0KIJ9Hcl+nL5c+d76flv0t5t Rcdd4+Xf8zLx8x4HV9HL1w3UdM2XqH2Jd77zjRqvfrGqhylWgfSCWBCrQARQVBDIlwAvpRtMdi4L 2/Ti4VQ+im64u2q1v+f3acYFNOo4+oPv0ye+QzPm0doH6CeX0SPX0d4t+bYH5BZEoO3ZAE+Yjl95 QdlAf7uFtt3tfd/8XVrzLe8MH92w2l1qS5hiuaRGRFkgFsQqEAEUFQQyJsCW98svv8zuLuzOzgfb 4tKXPSxnsYfMuHHj2Jcm49Jlm7yrVvvY4+max+nYs2jtz+n9f04f+RdauJSuvIuG9dD35tJTt9hQ Wbdu3SuvvCKeHeZ/+TsfPN+yiYswEQQ61tHjpxO7vux5biBk52t9Bjqfev2LtPlvacMX+s5wf+l6 a1Ca/HDqxhZi6x9H1gQwxcqacIrpQ6wUYWadFMTKmjDSBwEfgQcffLC1tZX3dhRPoPL3PeXDjKqp qYkD8PYy/G+h7cAhX/va19xtFaf/Lv3sK9TUQc2/TXSIRo2hUz9BJ/02vfR9WtFCv7WAhjYGFp61 /OUvf3n48OETTzxx1qxZp5xyytChQ48ePbp//36eovHBzyW4W2ulZDv2HZk8ZqiLRZ18Lq3/Ou14 jd78V2r/KY0YQ0eP0PY7aOhR4vLyZ0QnvVM26McQ9ZbP9IyiaX9MbKy/+xC9uohW3kyb76czbqER x3AoFmXjxo1r165l7davX8+disXibsbCuVj9oDK5K9a2/6TnP0L7XqcxE2lEf8tf/9dE/cPc3heo dIg2fJlK5Yox8qbpNOVTA7Vk1bb+P+rqoDHF6DiRbebgIRo5PDJUNQJALB91iFWNhpgwT3fFilOh Grge2VS3iGLxEntHR8dnPvMZtu7YkON/2cDr7OwcPXo023iGTdnZqDhy5Aj/u3nzZtaXzX22Lo45 xjM/CnFs23tUlNP5tyxtepYevpb+dBk1HUu9b1OpbGf0jqcnb6e1z9KNK6lxrEZcTL8Cnybm2Rir y4KxcryXp/tSOf3iHu8Z07LDujgayzOopu5gqp38UzONu4Te+U/q3EXihkfzNXTBPawX3+fizsaS iZtcLBOfPHjwIHdO/rMQSnE5nRbrwZLHnMWaMI9mf5Ga5tDL89lpqU8sXoNggTz5+r80vo8+sNyb Yu16kjY9Ru1PUddO+uhqGuc9oS9eY8HqCGdB8QKLYr3GwunXi0CswYMIxCrQC2KcFsviku+/HvEZ HuXEiFeg65FFXamIYt1zzz0XX3yx3x+Gr0pmPxnWUTDh1UAOuXv3bo7CFvxHPvIR3mTGBld1w8i3 LDlvtTOnuy+j2efS+26ihu1Eu4j2E+2j3vd7hvvmlXRD2ZdaOfhp4rANgITBIR5HmDRp0mmnnVZd GSJzd9oQbPsPWvnpgSpws2fLj4c1fkRb9UJiS5HXZ8cpFqGIwyE/9ELbgZMwxYpsBikEwBSrQIYg xIJYhV28KKIhKJtbLS352Vw1iiWWeJyUrfZrr/XtU1d2emFD3ODdLqx2kYj4l813oXghDPdCWe2v /QctW0QLFw+Y7J5V+C7R71DLdTTjQ3T57bKBPvroo6NGjTKszgpp+V9e32WpbFp2FcM4bbUzl+cm UQ/Po/qtcLbXm2fR2Z+iOVeXjfSR3g9rfkyvsBfNRuJVWrbs+RDLug3z6OJXLKdYEyZMMD8hXkWN ZNZOi4UpVoEMQYgFsfoJFO7+cLEMQe3CYb4eCbOPl/wKcT2yuSYWQiy21tiRXVaHXWcXLlwYWDsW yGC1i1v6wlgXa+0ike3bt/MzkIEzARuGuYUplNXO3rR3n0e/93Uawz4Y+8oLuWyy7/Tswm0foB9f SzesonHTBTtWd/78+eanicVyO0vIS/KOO7g7bQgy7t98ltrv8ezzzeUl9j/+Fh0nnm/mmxjN1DuL SvzbRjq0h95dRz/6I89wb+632k//tydWjmchMMXKqdtjiqWAdv1yBbEgVj8BeX+4EMai6z0rfLQV L840XI/EDIqNSFakKH6b5otLIcRqaWlhn/V58+YJa01Y24E2nlhBD6wy/8SH3xNGPMPK0k+fPv2c c87J6VqcKBtptbv9NKqo29AR9Mu76PjjaQKbgMJkP1h2sHidxs58uf20jSuf2dUwtaGhYe/evTt2 7Dj77LPNTMTjw/ys6oYNGxx3knHoAUd2cX77v+nA6/Tu09R+H711N234Fh1aRcP2UzvRm0R/wCb7 UiJ+xI+fNJhMNJpKbMGzO9NeGrKDxu6heX9CP7+XhrFrNdGRRpp2y6vrd3BXHDOGn1cNPvhhERaU +6HoWnzRStTac4rkkFiBNT7437T/VW+Kxa89WF/Wa/776JjRZW/3EdQ7hUoT6JgpNPsjNOsD9J+P eCH5xyPltOZ854kX3mQhzjvvvDCavIDBPYv/5YeJ+fGgnKAnzcb1x7AglqIsxELPStrRY8RjTwnz 9YgHQHE94n/F9Ug81Ci2uOCFXl4GHjZsWIEeQnC9ZxGxyX7yySd/4hOf4MdG2R7ggw0Gwdm/U4Vh 7wr+KVAX4S3T09OzZcsWx+/ny6dRXd35Ue9rY6mbjXW2DYXJ7vUZPh58cPS6w6c2zLmWn1x88cUX 424AxIY7HzG6dT0H7emmdX9Lz11Ky6/ztmBvW0J7V9AeNtjZB4boqltp9CNlPGyms0BsGLbToe3e xzPq9xK9Q2N+0X7p//n1jgW/7liwqfvstl99ua72WM217fAUa9sKb1dN3luT33K18lp68XzqeNYz xFkNvs3r3RXhKZby2rIST4P5t04avpuOP0yff8S7ecInvM2yGvnp1bp6jQXEypVAgTJDzyqQWFFF 1fb85uD2e37zvXp2pxHbWojj9NNP5xR4d2mxZo+jcgIs0OTJk/23NVimFLduZDtk4sSJYiZWiKMI a+0Mkl3bT5xEk3lfOrY4DlLvLirt3Np69vb9U8QGQHzwPIlvoMTdAIh3G+S58pAhQ8aOHevgJoMO Ld8OG00zr/V2D+xSNmUfX/aNGT+LZvPmjruoYSgN5bV0b5dH7zOkk4awLcidgX3f33nwwfevbxs2 6tQP76P3tB+5YPOBuTxjZuHMKxO8lxPv1sTT67feeov1dVAj2c8dEutwB636Ir32N/TWY7RnmSdZ 9zbq2u+tqv+S6HdvpYlP0fDyErv37AGL1UCHjtDRfd5dEW+K9RY1rm0f+dkN68e+3Xhm55GRXW8/ v6P0Afu7WLyDp+PrFg4tMkGsqEslxJL3h9GzohqL7e/8UCMbaqVSia8vTJWvLwzZ8nq0b9++AwcO XHDBBRxe5scXMr5OsS8HLwVygo4734piO9SzgnR74IEHLr300sC78Sne0GCjor29fevWrY57yMi1 9oJY7at+QCePoQmdnr3Oy4Glg9TV+Xjrh88991zVa4Lpcy8ScyaD34Xwi+LAPDlm26K5uZk143V6 dmxqFNsXOnM4ZAgKJifyHt4HqX0ZjSob52yi80L7B66g3mXUMISGNdJwnlnx7QthuPPGgu8QHeB/ V744cc+BY+Qeq+xBwdNlHt1qaY9Vh8TCFCuqCzt0uYJYEKuGFi8c6lnh7Yr3/Gaz+5Of/KTY8JvN gFjXozfeeIN9afxbfbNRwUtRbHuwEcKWSYqWZVQXSfi742ItXbr08ssvT1i3ONFYNV7AhdUeh5k5 LD+N+uLtdO50GtlGpcPUvfdQ93FDene+uu7cD37wg/6owr/WYLWzQiKW2HKfv/Drsth8fP7557nr jhxZ3vnEjcMhQ1ACOeYyappIu/kNSkNp2FF6g+iMU+joeuodRsOGUk9P2XDnZ4V59Z3/5YVb/ux8 7sX3aVMsHtHiTrF4hD3hhBPYffCFF16IXBTJX0DnxMIUK7wROHe5glgQK+RBOgZToBfEONezgtrV 8uXL2exWl/wsr0csBFvk/JxV2I1H6XX96quv4vGeCq/CvJbKNzQqTMQmOpvsbFcUxWovgl/7tl/R 6BJN2sfr6/fc89l7Hvzjf3/kinseuUEa35oqkRNc7nLCWGf7XhzsV8MPF3M3fuqpp2w0rvcwMz5P J/GbNZUXKh05RL1dtGc3HTpIBzqomzd3ZJ/p8uft7dT9NhMLvGMY6UcoUfMdEpaJ/+Q7JKwU+xRG vsG43mXi+s/5Rzr7nz3HdO9TfpZ7SBcd6qTO7j6lvDnVuvITI+Jf/rSt2TqTCav0uHfw6Mm9RkgQ dohfuQPynqrsjMjvwmDV+E40lLJqihDLCpMbgSCWGzrELYUYi3goi3U9YgdrHsf4YLd1/m5+KQ8n ztc1DHpxpfGH5ymQfDVS5amFpcBK8b2XM888M7ss0k25CB4yT/01HVuiE7tbfrxg+PDhbE+wAcG3 tKZNmybuRvmJBD5fLIKJh/G5U3FEsXmncEdj/2n+98033+S9aPgBiHQpJ07NueVbUZNtvIHMN2hE 2YDbzHb0HOr8b+rt8dbau49QD1vwR3nR/Z5//6NXXz3r1U1nvbrmbFYqcCIrbymGIWJ3Q/5JPDnO svLBpiFLxr5MvF5y1llnJWabekRHxRr/Pmropd3PeO5MQqwj6/qUEvdGentpKEvJe6ruo7f307A9 rFeFd7HkjFrcxXLw3oijK4IQK6hbQizZodCzko3bfN2///77ef2bd7jif2Ndj/jpUn6D5oUXXiie N2V/Wr4eGRxgOC++TnFGfPCyher7nqzw2cVytGf1V5gdH55++umsl8B5BZC3M7nyyiuz45xKysXx a9+zmZ7+Szrv1JbHPpXDBkBsEbKZ6M52kC4agi9fRxu+Skc6vYVbfppRGIL711D3YWpgE/Aw9Rxl 273l4RsznWLxQ988xeLOxnZhKl2i8kRcFAtTrBBdHb1cYT5cIKsdYhVHrB/+8IeJr0fsp8FPZIll PvZl5xVD/sJ2f9hOxOLJOl5XmjVrFgfjNQt+etVN293RYbC/XTFtdm1/7bXXTjrppEgfimRXcH7D D988uemmm5JFzzOWtNpLvbzS5vJx9xXU/O6mpvkrd13Mz474S8p3N8y3q+wrx1Nkvh3Dc7uwN2/Z J5VWSLfestSxhlqvpYOrPGNdHOOJWokuuIh2L/X+PK58snFky7J/4imWtmETs03xAR3Wnbfb5z1W A1tFWvxjpeOWWKLoPMV6u2VALH4Y4VOfpF3l98yNHUlDh9PwJiqNaHn6lnp7jYWLrxeBWCH9DWIV 6AUxDool9vxOcD0S1gU7xvhfnMk7P4ZtkyXeiiXasvC/5X3q2CHHwW21HBTLPwaITTY7Ong/upQP lmn27NnumBDm6hXk3ajsG7NlCX28seWnf/bxj3/c3gc6sbbc32C1B9Nb92P6zZ9T107xTp4BQ5C3 9N4/jk6cSJ28v7dnx2/aM39l1xcxxUrcCNOJiCmWkaNblyuIBbESdXsHFy/c6ln8zu7yi5DiXo/Y TBTOmewuy1Mmv9UetlzI59krhs1BtteFpGy183f2z+EF+7RWGBM1loBIromVVr1qMh1ptTv8NCqb 7L/5AZ07jHbxNiXRrz+oSZ0cqtS0y+nSF+jix2jO12nix6lpJt8CpM5GauYnGDtoxHTaU37YcQ89 /dYfzJ8/P7DkKY5ZGd0vcwh4JUXhKdbPL6Rdq/Q0+IXQ61d62vHBTwh306at78FrLCohnUJciJUC xLySgFh5kU4rH16Gi3s94rV5ttQvu+wyvuvO5j4/W+9/tDTsWsYXJl5W5xVGDiAOsdrIztnLli1L q1JIp54JOGm1t68kdoxZfzddMIKOvk6dR9gtLAeRjh7yPGRyyKiQWTQ107g5NOWjNOerdP5P6eKN dA47x/BKQiPxdiPLltLMizyrvYtYrBzuinDOKb4drZCKGAqNKVaBFIVYECspASxeRJKLez1ifwxO U2zlLhJny9u8d5ZahkBFOAV+EEss3uMAgQoJVNVq37tlUOm7O2jLc/TQZ+nuS6hxNb13OB3cIvb7 zmcDoH0Hu/i5h/POO69CpvUSvZNHN978sdvzbufx7dmlNO19RJNyqz4/ippbXgXLCFOsAgkGsSBW BQSweFEBvICo7E7zuc99Tvuh8nWosEdX0y08UlMJzP372uRRVav9jceo5Uy672P0b5fRDy+gH86j B6/xXt9z1jgav5V2buG3oIrPBybd/+ijj2atAN/A4nn53Llzs86oRtJf+21htHsH+8nwivuKFbT/ SD5TrMLtsVpl0THFqrIAcbKHWHFoVTksxKqyABHZx70e8f123MFwW1Kr0v3TS7RxBG03vV/EKh0H A1XVaj/7RjrxIm99/WQ20/fR+J3U3Ekj2ojX4PeUnaT7P6eXfs72dKava+ENgPjW2I033uigSC4W ae+LtHtlX8FYLP6MJ2Jv9tEdv92QxxSL99DlJpHPi9Nc5B+3TJhixSVWxfAQq4rw42YNseISyzc8 77Oew5JfZJ3gfBuJKMUAq3bR2iH0+U/SAxtTTNWVpBzY+ZEX2g9uoA9dSutfoM38gsb+Y7TOaHXj pU9uviKLDYB4a1V2YvM/J151lVzcTFBAWXYttS/xvvB+Mk0T6djfoY5nqbOdys/Nf6f127zCkd0j 82KP1b/4i7+oukBqAdwVi6dYz1w4sPMPF5qnWHy007pdl/6i5zNZb3XqoF7ubp4AsXy9GmKFDXTo WTaXgO985zv21yN+FDWLDes4WZ4/uLb5o7s9y0bX8DCffpGu/4D38/0v0+JzKkvLmdiO7fz4yHW0 6QG6+CIaepg2vUrbB/u7S2pjxtLJ76eRk2jZf9HhifS/fk6N45xBmklBHDUEeaO6x0+nEZOo+XKa +TGaeAU1TqAXz6eGFZ5HExvunbR6jzfF6u7uTt3t0tk9Vh0VC1OsoK7p7uUK8+ECWe0QqyBixdrz my8xf/VXf5XiFZ1Ndk4t68WRBAV2dxhMUBklysefofNO8v5e+jr9/MOVpeVMbMesdubySgs9ewtN HUOnnEEjh9DufXSwnQ6xiwzR8BHUeAxNHk9HhtGG9bT2DXrvF+jy252BmWFBHDUE23hZ/Q06/nc9 Y10eK6+ltvLquzhm30pbFlPnrr4/ebdB3nZGHHueo9X/QpuX0Nl30uzrM8SXb9KOioUpVlAzcPRy BbEglt2o5ezihaM9y45q3wVqz54f/OAHaS05sVIXXXSRm86cNSBWoLB7DtE5D3i/PP4xml0rS7vu We0MmPeQWfF9Wv8A7dtI046npkYa2URDhtC+/dTZTXt2Utd4Ov5CuuhWGjcjTh8scFhHDcFAomu+ RJu+5T2KwD4zp/8zzfg88Ru/f/1HfWF5i3feL1I92EA52EZTLimwPIOL7qhYmGIVyBCEWBCr4ANi rRqCBZcluPgQq0CyOvmWJXZ3+eCX6XPP0gdvp45m+q+X6YkX6dFfeF/aG+nkL9D/fJL+x+L6MdkL 1J68ojae7JnsfMz8S89k5+P4P6TjFvY9UjzuvXp1vN3fa8dkd1cshjxr4aC7IlzWESd4BRZ68RRr 1j/Qqd8eqELTmQPfx19MF9xDH11N405zt441UzKIVSApIVaBxEJR64NAre72qKpX1T1kApvRsLF0 9kL6w6fp73rpm+UPf7nhV55BP2Z6fTS8YtayqWy1N19Dc/5xoALnLKaRc73z42vlkZBiiqOXGlOs AukIsSBWgQigqCBQJQI1vNuj21Z7lfRGtpUS6BlFzR/11mW1Y/49NGIGjZxVafqInyIBTLFShJl1 UhAra8Ippg+xUoSJpEDAmkBt7/YIq926ISCgPYHJp9IljwUEZ0+YM75Ow5XnVu3TRMiMCGCKlRHY LJKFWFlQzShNiJURWCQLAkYCf7eaPnMOXTyTVgvPz9o93POQqV3WNV4zdT8ZraqnfY74te043CGA KZY7WkSWBGJFInInAMRyRwuUpJ4IdHfRsk3e540dNV5tB96yVOOEK6qeo9uSVFSnmo0MsQokLTZP gFgFIlCgoqJnQayqEKjJ3R5Vkk7uIVMVqZEpCIAACIAACIAACIBAYQmMH04bPut9amaD9jAp4CFT 2EaKgoMACIAACIAACIAACNQNAVjtdSM1KgoCIAACIAACIAACIFBYArDaCysdCg4CIAACIAACIAAC IFA3BGC1143UqCgIgAAIgAAIgAAIgEBhCcBqL6x0KDgIgAAIgAAIgAAIgEDdEIDVXjdSo6IgAAIg AAIgAAIgAAKFJQCrvbDSoeAgAAIgAAIgAAIgAAJ1QwBWe91IjYqCAAiAAAiAAAiAAAgUlgCs9sJK h4KDAAiAAAiAAAiAAAjUDQFY7XUjNSoKAiAAAiAAAiAAAiBQWAKw2gsrHQoOAiAAAiAAAiAAAiBQ NwRgtdeN1KgoCIAACIAACIAACIBAYQnAai+sdCg4CIAACIAACIAACIBA3RAontV+3XXX1Y06ha8o xCq8hKgACIAACIAACICAGwRKvb29bpTEthSaIbh48WI1ZqCZqIWxzcmBcGu3d82eOsKBgiQsAsRK CK4a0Vis4vaUuMB27KfJo+NGcig8xHJEjAqF8EfXzqhDKHdP84jqAhPXepYlwEghNLaBukeuUrk2 wLomVoIGXBtC2FT8pTcPiWAFs9pVhSocLm0wVT1Moa12iFX19hOrAHU1xSr65QpixWrb2QWuUIhI Y1EGEF/cH1Rd61mWACOFsLHaE4TJrmXapOyaWDZlTgC5NmxFabUTr7UX5Vi4cKEsqvq9KOVPUM41 2zoTxHIhCsRyQQX7MtSbXu/us2fjXEiI5YgkFQrB0cXB1ZHf1ZPivKisDOb4RdC1nmUD0EYIrcnZ WCA2Yarbkl0TKwENG8g2YRJknXOUFVu7xacYa+1iPUOuNGiz5wTzs6JEKeJaO8QqSuuS5XR/AS91 pMVdZIJYqTeGZAmmIoTfH8bv86kuscNDJq5Y2j2KMICRQtgs8cJDJq46lYevQw+ZIq21q0sO6iKE PO9frlDP5DwxSiW74q61Q6xUGkDWiahLff6Fvaxzr2L6RVxkglhVbDBq1mkJYbN8roWpcHU/B4Cu 9SwbgDZChF3RDIpoS7wOrvi6JpZ9+9RuoWgGoZm8g0LYVLxga+1iQiYXceV3OVHzP+RRG55MRVxr h1iVrx9UJYWwW1iFW0CyoVfctXbZv8Sg518jNFfftefhii5WJb1GXQYO7GXaKjv82m1aS9iiuOHB ABshDP0uzHXev8zvWu8r7jAY2O+KK4RNwy6YX7tc29Dmu/4Vd38Am0mMs2GKuNYOsZxtTmEFUyXT blj5oxR0oUKrSKEXmdR1JvPtRIiVXWesvNdo2gWKpa0pRnbP7OprmbJrPcsGoI0QhtXcsHVff9aW DHML5ppYlhUPu79RXCFsKi7X2gvmIRN2a1K7fSn/LPpFq4hWuwpfvfNoviaFTcBsWrMjYYooVt1O sYp4uYJYjvT0dIUwz8EMlp+bVzfXepY9wMjJcJixKC9emiLmP11ozK6JZcmk9oSwqXhRrXa/RajV 1j+QuTm02YjEYYpoCAauzkaa7DVwk6TQYtXbfLiglyvZTepqPuysWKn0Gm0OoI2E9kan5TUl62Cu iWUP0FKIwEtVYH9UT7q5LOWaWDaN02ZqFEjevxJvk507YQrp1+53mPZ7sIW5B7nmT2bjxsRhiuvX DrEsJXYtmPr0iFq2uPsZu1YvrTzFdejUROE/bZ7qKfRzPu6LlazXSF92+YiCUFPbnUYo7n+MwU1N XRPLD1n2F9UNWoPsFyLMXT5wkAz0aHdQL9fESnDVCNtDRu0vYf7uCbKrYpSCvWVJfVIngf3tYG+x 1L6IVjvEshTXtWBhlgeX0/BAaoL+6ELFi365glgutCLZNQJ7gWWvCXye2G9ZirzUjNy8rrnWs7Qp kAGgWYhYVrtctHJcL9fEStCpzVZ7UYSwqXjBrHabKtVkmCJa7TUphE2liihW3U6xini5glg23TCH MOkKYbNYqJns2vpxDlW2z8K1nqWts0ozTl1cD7Ttwk4a4IfNo5zVyzWx7JuZupZkc7PRoHusTKsY GFZ7FeHHyLqIhmCM6tVWUIhVID0LfbkqEOdUigqxUsGYTyIQKx/OqeQCsVLBmE8i0mpvyCc/5AIC IAACIAACIAACIAACIJCYAKz2xOgQEQRAAARAAARAAARAAARyIgCrPSfQyAYEQAAEQAAEQAAEQAAE EhOA1Z4YHSKCAAiAAAiAAAiAAAiAQE4E6s5q3zK/lBNaZFMxAYhVMUIkAAIgAAIgAAIgUCME6stq ZytwemuvtAX5i/iwmDAQXWvREMs1RczlQQ8qkF4QC2IViECBioqeBbGyJuCK1f7elpf9VQ08aSCi WuEymNqLhMnO/woznb+ID3parHaWkViafBArlijVDYwpVnX5x8odYsXCVd3AEKu6/GPlDrFi4apu 4OKKVert9UzY6h7CCvzVwnPUYgSeNJvswhyXFrn4wv/K86opr52U1nx1UWi5O7gFeEZiqfw1LfzS QCz7Vsp6aT2L4waeNHcu8avaxfxn1Pmw7ImBHdC+/BmFdHOjYlUXbW7sFzGMjFyDgFgZNR6RrNaJ pF72SskrFHpWpkplJ5Zmb2i2h9YB/XZI1rWOTB/DYIGuWXK/dmKr3YXjnMW/Uosh/tROLiwfWmnl mc3nD9Ql7LuMqwZwofphZVizrdPB4mUhlkEyiJW4DbBSmliiW/lPGrLwSxNLLDfle3dfYqhZRdR0 iaVR4MgmyEOsLAQziGUvHHpWFtL40wwTy14pQz9iEf1DnM2ZfOpuzgXDoKaswOXmNWvF1m7xccVD JnJSKN4VzAd/ke8HVl8g7F9oj0wTATIikEAsyJeFFpar7GqfksVQX9teSdkcXGGqpDrZxbVco4VY 2Ulgn3JGYsXqLLEC21et9kKGiaWdT9Cz7O/6QizLdoWeFQ3KhQmftqwuZ8DyS+ASu/+k/bTJzbmU Xwv319ohllTNfbFkR1MXmWQ/Uu9lJe5cRelZDi4y+YdBsUYIsdwXS97CSkUsy+VbR67dWjHcF0t2 q8rF8t/Ocnmx1t9g6kosYR8W5TaIXyy51u6uh4z/ihU5SAVaDBWejMw00wBFMQRTESvM4LNXMFMt IhN3XyxMsaSI7l+u1PYmhKvbxQv3xVLtv8rFCrT8MB+OHIENAfwCicCViCUVKa4h6H7PSncYLHTP ct1Dhu+SiBsllrdL1KdAou8vlB+q0/aNsb/VZZN+XYVJRSwDf4iVVnNipfiZOfHYnPiXXc60xIUf mnaywgeCsUdTKgpCrFQw5pNIYrFiFQ89KxausMDJxBIXJvudoyFWFcWKm7XLYjnh166aERrcWJs/ yq0DJXFDj5JdTsSC25lls85ULG3zR1kkiGWpTmQwTLEiETkSINbQJ8sca36F+XB1tQ4UK6xIEMs1 sbg8Yudo8UUtHsRKS6wUh8Ga6VlO7PyYlsC1l46DOz/WHuS0auSgWGG70cXaVlVbdfBfkAJ3VlVn XGkRTjEdB7c884uVYDNBiJViIzEklZFYnKN/4061GKq+bq401U/PUqfKfsNdlTLw13waqjmXuhKr 6D1L7vwIq92FvhNaBgcNQad5VbVwEKuq+ONl7uDlKl4F6ik0xCqQ2hALYhWIQIGKKq12JzxkCgQO RQUBEAABEAABEAABEACB/AnAas+fOXIEARAAARAAARAAARAAgXgEYLXH44XQIAACIAACIAACIAAC IJA/AVjt+TNHjiAAAiAAAiAAAiAAAiAQjwCs9ni8EBoEQAAEQAAEQAAEQAAE8icAqz1/5sgRBEAA BEAABEAABEAABOIRyNtqvy7q8BefY8SrU/zQOWQRv1BVjqExCURkE8a+GnFVkOHViHETsS8eQoIA CIAACIAACIBAFQnkbbWL96XLt6aLNwlrJzXDngP4z/hPyjCJafonFImTcjmiYd6UuNgiTSmKTCcs r8C5mf+10obycMoc3myv2+eeuOKORLSZPtmEsa9O3NkRplhqp1A5Yz5s3+ryD2nTa2zC2JccPcue lRbSRgibMPYFgFj2rCBWYlZaxKFpJZRiOpr1JuyzwPT95216kZag/FNYgTJNm6RSrHVuSanQDGz9 RoYAovKR38WXwNTMGpnNbjU7zdAxmPhqMZK1kNy0iMzI0AhjTXICzUS/oPa9LFbucooV2HhEpmE1 jZVRJM9MA0AsiKU25shLSeDoFIshelYsXBgGMx0AzSN52NXcpkjaok+d96wqWO1+Q02eCRNDjRLW S20MUL9xIGNZRrdpYUUPo/YQeVckbKojLxtajw2UydKs908YNKRykiAFFWXWCqPFKqLEmGIVqDdB LIiFxYss2gB6VhZUM0oTYmUEdiDZ3tyPhQsXijzFF+3PwJ/8gcUZGTcwQFjNtFhqOoGFyZ3QQIZr tnVmmruKQstIqiP4qIeEHxZdxWjWyFAAtW34Ifgj+rVL3EKSMa+KWJouaveRtfD3OL+gftpa9zTL YfNrWEMylNncPJLJJGK9u6+S2NFxA0sOsaLBBYWAWAZu/m6l9VytKfr7dTJRwmJBLIjlv/SoTDAM JutxK7Z2i08V1trtJyLSZSVslTQyQGRe6qqtf2m2kns6kVlXJYD/Jr52RlsjD5s3+7mp92rVWJYa mYsRKI1/dd/fTixzr4oWqWSq+iYFuhupSonvmsRarMR3nA3V8esS2KOLeDMklogQKxau6gaGWNXl Hyt3iBULV3UDQ6wK+TtttUu3h7DbjsIEqfBib3DbMDiqVsi9WtH9VriBnt/hRABRe500nYUQgfWy 1CjMP8qfpppXpJVpmXu1FDEbu4bpit/+xhSriiJiPlxF+HGzhlhxiVUxPMSqIvy4WUOsuMSShE+2 Vl9JrMA774HODP5b5353C+3WvM0tdS0Reb9GOn6Y7+9UUve4cTN1ugi7VaoC0W5sqWS0YIGp+b1W wvSKVFZDpznhqLkHusrkoGlVxJJ9RBKI9H5RQwbqG6iFKlxisfzZVUusTO/jm50Q5FgX6DIU2EG0 4TFSi8gAhnEy8Kcwp4uwphJ3oDOHh1hhfCCW3/VCXsf9nhj+5oqelW5XNYzw/is4rlmx4EsPmbx3 flSXZuUkg9cI/SumPGkTh1hol9/9q4/+VV77NXKRtVoAmVqFS/hJplA5xjHUTpMjEKbKTZVJiqVW xb9mL4KlVV3ZeAKX1bPOPa1aJEtHwhcQ1MYsdVQ7kQhTrbZt6MjJql+sWBCrQHpBLIiVEQEMg+pN e1yz4jaz6ljtkV4NgfZHoGUvjRVLK1BaMJpZKTqSmppNIePidiR8mNEWZqCHsZXQpIGoTYGEdW6p UYVjWWAh7XN3RJrAYmCK5bI6gesIgQXGfNg1HdGzXFPEUB6IBbGwLMgEqmO1S/tM/ZKgRaqGtaVp qJmVqt0pCxC4OpugeG5GSbDOGnYnRLVCZLKa9Wypkbp4n2y+JJeQ1QJY5u6mUqJUmGK5rI6lyY75 sIMiomc5KEpYkSAWxNIWc7Xro/SSMDQheQMtAUyHlgVjOdakEjjMpdLsIhnoRR3L289c+EgP7FTq HjeR1F2lw/wg/Xg1Ofz+f5qPu71Dm3TF1lx4/R6Kkd63BgdrQ1xDvnEFUsOnLpa/nJEe54Hu+wl8 N8O8RQ18IsWS1VGdpAP7XWDulUjjj5uFq7RGAGKlJRnEirzS+fsUepY2fmIYxDDo960vUM+Sfu2U 1sCKdLIgkIUhmEU5kSYTSF0sTLHUCV66bSx1QxBiQazAaZvN8oFhJcuwXKJNgzX+qh0faZqk2LnQ s8y0nVppglgFEkta7SUudIKbBYiSD4G127tmTx2RT17IpUICEKtCgHlG37GfJo/OM0PklZwAxErO LveYECt35MkzhFjJ2eUe86U3D4k8q+PXnnt9kSEIgAAIgAAIgAAIgAAIFJgArPYCi4eigwAIgAAI gAAIgAAI1AkBWO11IjSqCQIgAAIgAAIgAAIgUGACsNoLLB6KDgIgAAIgAAIgAAIgUCcEimq1m9+p ZPnGJdbYPmSdNIgsqgmxsqCKNEEABEAABEAABOqKgENW+9Hugz077+UPHdweqYH9jvraG520lCPT iSxJfQaAWLWqO6ZYBVIWYkGsAhEoUFEr71kyBf+XAnEoRFHrTaxq7vzoGejdWxvG/x63jJ7O53ve +Ql1/ZpKjdTQVBp36ZBjvkQjp6qNJnJdXLwI0+bdn4akkr2YM6PG7c5mghArUmJ3xNKKylOs0v6f 8smGpg9qfSqwUoYeFKvj2PTESKoZBXB2yzOI5VccYmlM0LMSDAu9h/b+et8LHHH6mN+aMPzEyBQq HAbVl4VLo8I14ZztWRDL3z7lzo/VtNqPbrm5d9d/0JDx1HuUjuymIaMGdqLs7SyNvrRh+ndLw8fK 0pu7gfhV/hvYJyM7j2udyh1DEGJFjvLuiIUpVqRY7lyuIBbEsrnuxJowRyLNLoA7PWvVzsffOvyL 90+8iSu7dv8Tv9zzo60HV5RKpWGlpjPHXnnFsYs02z3dZcFIYyM7CexThljaOq9NT7THm25Il6z2 UlNf3Roaadh07/vhLXR0D/UcaZjxTw2TFkQuMyQAXZQR0B1DsM9qh1jhHdE5sTAfDhfLncsV5sOR 1zaIpdkWKrEEl79I4JUEcESsXupZ8tbnVnYsGdEwnqtztLf7aO/hIaVh4t/DvZ0nNp130wk/y3RZ MMzMcOd+PsSSPct9sapvtXOn6t15f8/Wv/TW2sUxbHpp5Mml0ecfGXva0Hef7nmnpTThYw3T/3dJ eRVU2Ailnrehb5NOJSNXWnEdMQQhlo2gjojlXaLEXSxMsQpktUMsiGUcZYqy0uSIIcgs73nr94TV ztcv/pMNiWMaT+Uv73Sv7e7Zy18+OeXO+ROvS31ZUCilrbW7NrkStYZYBRKr+lY7t5jeztVHX/80 9R4hXmXv6e7rPKWhpZHnHZ3xhaF71/EZ/1q7jf3kD6P1maKMgO4YghArsuE5IhamWJFKuXO5glgQ iwnU0kqTO4bgM+/+7c/e+VpjQ5+T7bGNsycPP2nmyAtPbJq3dv/Pnn33m+wnc+0JP1FboM1yXlyx VN9dm9aeZxiIJXpfIaZYTljtzMvbNGbzn9GQMZ7hLg4233s7eZlwyEn/Whoz3z8PDmvT5rtOfqs9 zO3MqTmxI4ZgnzIQyziguiMWpliRVz53LlcQC2IFEijoSpM7Petg19pFm97PvjENpWF9lzDPPaaR V9w/fVzLO11b+eR7Jl2h3syPbIphASINDKfsClkLiAWrPXab95aatn+7553/61nqfIjbxPy9YQz/ f+i0B0eOmG3ZT8x5GzqVKptrXcsdQ9CTBWIVxGrHfDhyJHLncgWxIJal1V6IlSanelbrrsUPtt0g l9s9E4MaDvXsH9Yw8tPH/mTuhMuoYbgKP/FNeFjtkb04MgDEMiOSa+3U68JxYN3Rbd888vrvH179 Uf4c2fyF7kOv8L/8MZRu4cKF9mUXgWUUf1w+EytB+6wrCblmW2cl0TOJC7FCsDolVk/vUe5Th1ee cviVE7wPfxHfV83hz4HONen2LJma1okMPS6Txmmd6Lv7rINmHxBimRlDLPXiJVihZ9n0S+5ZT7/z jb9ePf6LrzXc+ptR4sPf+czfrJ745sEVWQ+DzsokKu5az4JYhga5Ymu3+LjxlqWRpzZM/dKQU340 9LSHh855bMj0O4YPm8f7tQ855obI+ZllgLC3Kcm5tTuPdVvWqGrBIFbV0MfImJeUuE8NPfWxhuNu 4k1UiR/Dajy1NPFTPaf/W2n85Y1vfz9GWhZBDb6e/JNrt7AsKpRrEIiVK+7KMoNYlfHLNTaL9aFj vvKnM3724WO/1jziLPGZN+4aPjNnzBXP7/xuuqUxLNXLjGzCpFuqoqQGsSyVquZ+7ZZFtG/ukZa3 tB7CjHXtgeK4JUw9vFMeMrFqFzk2QaxYPCsN3MPPfA/tS8R79/B+GultpxB4xDWy1V6jdjGXdyx2 6j6+rgLEGkwEYjEP9KxKx0B28uw5WmoYItLZfejNzsN7po46K7th0P+Yo6pj5dWpPAWXexbE0vR1 5WnUyptdbadQXKu9tnUJrF1xxarDKZbLlytz34FYBRpbIFY9i6WtTDl4Yx/DoJhH8b/uiwWrvRiD SXENwWLwTbWUECtVnNkmVtzLVbZcnEwdYjkpS3ChIBbEKhCBAhVVWu1u+LUXiByKCgIgAAIgAAIg AAIgAAK5E4DVnjtyZAgCIAACIAACIAACIAACMQnAao8JDMFBAARAAARAAARAAARAIHcCsNpzR44M QQAEQAAEQAAEQAAEQCAmAVjtMYEhOAiAAAiAAAiAAAiAAAjkTgBWe+7IkSEIgAAIgAAIgAAIgAAI xCQAqz0mMAQHARAAARAAARAAARAAgdwJlNZs68w9U2QIArVJYPbUEbVZMdQKBEAABEAABECgSgTk fu3/H2eFBgAfaEcrAAAAAElFTkSuQmCC</pkg:binaryData>
      </pkg:part>
      <pkg:part pkg:name="/word/theme/theme1.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.theme+xml">
        <pkg:xmlData>
          <a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office 主题">
            <a:themeElements>
              <a:clrScheme name="Office">
                <a:dk1>
                  <a:sysClr val="windowText" lastClr="000000"/>
                </a:dk1>
                <a:lt1>
                  <a:sysClr val="window" lastClr="FFFFFF"/>
                </a:lt1>
                <a:dk2>
                  <a:srgbClr val="1F497D"/>
                </a:dk2>
                <a:lt2>
                  <a:srgbClr val="EEECE1"/>
                </a:lt2>
                <a:accent1>
                  <a:srgbClr val="4F81BD"/>
                </a:accent1>
                <a:accent2>
                  <a:srgbClr val="C0504D"/>
                </a:accent2>
                <a:accent3>
                  <a:srgbClr val="9BBB59"/>
                </a:accent3>
                <a:accent4>
                  <a:srgbClr val="8064A2"/>
                </a:accent4>
                <a:accent5>
                  <a:srgbClr val="4BACC6"/>
                </a:accent5>
                <a:accent6>
                  <a:srgbClr val="F79646"/>
                </a:accent6>
                <a:hlink>
                  <a:srgbClr val="0000FF"/>
                </a:hlink>
                <a:folHlink>
                  <a:srgbClr val="800080"/>
                </a:folHlink>
              </a:clrScheme>
              <a:fontScheme name="Office">
                <a:majorFont>
                  <a:latin typeface="Cambria"/>
                  <a:ea typeface=""/>
                  <a:cs typeface=""/>
                  <a:font script="Jpan" typeface="MS ゴシック"/>
                  <a:font script="Hang" typeface="맑은 고딕"/>
                  <a:font script="Hans" typeface="宋体"/>
                  <a:font script="Hant" typeface="新細明體"/>
                  <a:font script="Arab" typeface="Times New Roman"/>
                  <a:font script="Hebr" typeface="Times New Roman"/>
                  <a:font script="Thai" typeface="Angsana New"/>
                  <a:font script="Ethi" typeface="Nyala"/>
                  <a:font script="Beng" typeface="Vrinda"/>
                  <a:font script="Gujr" typeface="Shruti"/>
                  <a:font script="Khmr" typeface="MoolBoran"/>
                  <a:font script="Knda" typeface="Tunga"/>
                  <a:font script="Guru" typeface="Raavi"/>
                  <a:font script="Cans" typeface="Euphemia"/>
                  <a:font script="Cher" typeface="Plantagenet Cherokee"/>
                  <a:font script="Yiii" typeface="Microsoft Yi Baiti"/>
                  <a:font script="Tibt" typeface="Microsoft Himalaya"/>
                  <a:font script="Thaa" typeface="MV Boli"/>
                  <a:font script="Deva" typeface="Mangal"/>
                  <a:font script="Telu" typeface="Gautami"/>
                  <a:font script="Taml" typeface="Latha"/>
                  <a:font script="Syrc" typeface="Estrangelo Edessa"/>
                  <a:font script="Orya" typeface="Kalinga"/>
                  <a:font script="Mlym" typeface="Kartika"/>
                  <a:font script="Laoo" typeface="DokChampa"/>
                  <a:font script="Sinh" typeface="Iskoola Pota"/>
                  <a:font script="Mong" typeface="Mongolian Baiti"/>
                  <a:font script="Viet" typeface="Times New Roman"/>
                  <a:font script="Uigh" typeface="Microsoft Uighur"/>
                </a:majorFont>
                <a:minorFont>
                  <a:latin typeface="Calibri"/>
                  <a:ea typeface=""/>
                  <a:cs typeface=""/>
                  <a:font script="Jpan" typeface="MS 明朝"/>
                  <a:font script="Hang" typeface="맑은 고딕"/>
                  <a:font script="Hans" typeface="宋体"/>
                  <a:font script="Hant" typeface="新細明體"/>
                  <a:font script="Arab" typeface="Arial"/>
                  <a:font script="Hebr" typeface="Arial"/>
                  <a:font script="Thai" typeface="Cordia New"/>
                  <a:font script="Ethi" typeface="Nyala"/>
                  <a:font script="Beng" typeface="Vrinda"/>
                  <a:font script="Gujr" typeface="Shruti"/>
                  <a:font script="Khmr" typeface="DaunPenh"/>
                  <a:font script="Knda" typeface="Tunga"/>
                  <a:font script="Guru" typeface="Raavi"/>
                  <a:font script="Cans" typeface="Euphemia"/>
                  <a:font script="Cher" typeface="Plantagenet Cherokee"/>
                  <a:font script="Yiii" typeface="Microsoft Yi Baiti"/>
                  <a:font script="Tibt" typeface="Microsoft Himalaya"/>
                  <a:font script="Thaa" typeface="MV Boli"/>
                  <a:font script="Deva" typeface="Mangal"/>
                  <a:font script="Telu" typeface="Gautami"/>
                  <a:font script="Taml" typeface="Latha"/>
                  <a:font script="Syrc" typeface="Estrangelo Edessa"/>
                  <a:font script="Orya" typeface="Kalinga"/>
                  <a:font script="Mlym" typeface="Kartika"/>
                  <a:font script="Laoo" typeface="DokChampa"/>
                  <a:font script="Sinh" typeface="Iskoola Pota"/>
                  <a:font script="Mong" typeface="Mongolian Baiti"/>
                  <a:font script="Viet" typeface="Arial"/>
                  <a:font script="Uigh" typeface="Microsoft Uighur"/>
                </a:minorFont>
              </a:fontScheme>
              <a:fmtScheme name="Office">
                <a:fillStyleLst>
                  <a:solidFill>
                    <a:schemeClr val="phClr"/>
                  </a:solidFill>
                  <a:gradFill rotWithShape="1">
                    <a:gsLst>
                      <a:gs pos="0">
                        <a:schemeClr val="phClr">
                          <a:tint val="50000"/>
                          <a:satMod val="300000"/>
                        </a:schemeClr>
                      </a:gs>
                      <a:gs pos="35000">
                        <a:schemeClr val="phClr">
                          <a:tint val="37000"/>
                          <a:satMod val="300000"/>
                        </a:schemeClr>
                      </a:gs>
                      <a:gs pos="100000">
                        <a:schemeClr val="phClr">
                          <a:tint val="15000"/>
                          <a:satMod val="350000"/>
                        </a:schemeClr>
                      </a:gs>
                    </a:gsLst>
                    <a:lin ang="16200000" scaled="1"/>
                  </a:gradFill>
                  <a:gradFill rotWithShape="1">
                    <a:gsLst>
                      <a:gs pos="0">
                        <a:schemeClr val="phClr">
                          <a:shade val="51000"/>
                          <a:satMod val="130000"/>
                        </a:schemeClr>
                      </a:gs>
                      <a:gs pos="80000">
                        <a:schemeClr val="phClr">
                          <a:shade val="93000"/>
                          <a:satMod val="130000"/>
                        </a:schemeClr>
                      </a:gs>
                      <a:gs pos="100000">
                        <a:schemeClr val="phClr">
                          <a:shade val="94000"/>
                          <a:satMod val="135000"/>
                        </a:schemeClr>
                      </a:gs>
                    </a:gsLst>
                    <a:lin ang="16200000" scaled="0"/>
                  </a:gradFill>
                </a:fillStyleLst>
                <a:lnStyleLst>
                  <a:ln w="9525" cap="flat" cmpd="sng" algn="ctr">
                    <a:solidFill>
                      <a:schemeClr val="phClr">
                        <a:shade val="95000"/>
                        <a:satMod val="105000"/>
                      </a:schemeClr>
                    </a:solidFill>
                    <a:prstDash val="solid"/>
                  </a:ln>
                  <a:ln w="25400" cap="flat" cmpd="sng" algn="ctr">
                    <a:solidFill>
                      <a:schemeClr val="phClr"/>
                    </a:solidFill>
                    <a:prstDash val="solid"/>
                  </a:ln>
                  <a:ln w="38100" cap="flat" cmpd="sng" algn="ctr">
                    <a:solidFill>
                      <a:schemeClr val="phClr"/>
                    </a:solidFill>
                    <a:prstDash val="solid"/>
                  </a:ln>
                </a:lnStyleLst>
                <a:effectStyleLst>
                  <a:effectStyle>
                    <a:effectLst>
                      <a:outerShdw blurRad="40000" dist="20000" dir="5400000" rotWithShape="0">
                        <a:srgbClr val="000000">
                          <a:alpha val="38000"/>
                        </a:srgbClr>
                      </a:outerShdw>
                    </a:effectLst>
                  </a:effectStyle>
                  <a:effectStyle>
                    <a:effectLst>
                      <a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0">
                        <a:srgbClr val="000000">
                          <a:alpha val="35000"/>
                        </a:srgbClr>
                      </a:outerShdw>
                    </a:effectLst>
                  </a:effectStyle>
                  <a:effectStyle>
                    <a:effectLst>
                      <a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0">
                        <a:srgbClr val="000000">
                          <a:alpha val="35000"/>
                        </a:srgbClr>
                      </a:outerShdw>
                    </a:effectLst>
                    <a:scene3d>
                      <a:camera prst="orthographicFront">
                        <a:rot lat="0" lon="0" rev="0"/>
                      </a:camera>
                      <a:lightRig rig="threePt" dir="t">
                        <a:rot lat="0" lon="0" rev="1200000"/>
                      </a:lightRig>
                    </a:scene3d>
                    <a:sp3d>
                      <a:bevelT w="63500" h="25400"/>
                    </a:sp3d>
                  </a:effectStyle>
                </a:effectStyleLst>
                <a:bgFillStyleLst>
                  <a:solidFill>
                    <a:schemeClr val="phClr"/>
                  </a:solidFill>
                  <a:gradFill rotWithShape="1">
                    <a:gsLst>
                      <a:gs pos="0">
                        <a:schemeClr val="phClr">
                          <a:tint val="40000"/>
                          <a:satMod val="350000"/>
                        </a:schemeClr>
                      </a:gs>
                      <a:gs pos="40000">
                        <a:schemeClr val="phClr">
                          <a:tint val="45000"/>
                          <a:shade val="99000"/>
                          <a:satMod val="350000"/>
                        </a:schemeClr>
                      </a:gs>
                      <a:gs pos="100000">
                        <a:schemeClr val="phClr">
                          <a:shade val="20000"/>
                          <a:satMod val="255000"/>
                        </a:schemeClr>
                      </a:gs>
                    </a:gsLst>
                    <a:path path="circle">
                      <a:fillToRect l="50000" t="-80000" r="50000" b="180000"/>
                    </a:path>
                  </a:gradFill>
                  <a:gradFill rotWithShape="1">
                    <a:gsLst>
                      <a:gs pos="0">
                        <a:schemeClr val="phClr">
                          <a:tint val="80000"/>
                          <a:satMod val="300000"/>
                        </a:schemeClr>
                      </a:gs>
                      <a:gs pos="100000">
                        <a:schemeClr val="phClr">
                          <a:shade val="30000"/>
                          <a:satMod val="200000"/>
                        </a:schemeClr>
                      </a:gs>
                    </a:gsLst>
                    <a:path path="circle">
                      <a:fillToRect l="50000" t="50000" r="50000" b="50000"/>
                    </a:path>
                  </a:gradFill>
                </a:bgFillStyleLst>
              </a:fmtScheme>
            </a:themeElements>
            <a:objectDefaults/>
            <a:extraClrSchemeLst/>
          </a:theme>
        </pkg:xmlData>
      </pkg:part>
      <pkg:part pkg:name="/word/settings.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml">
        <pkg:xmlData>
          <w:settings xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main">
            <w:zoom w:percent="150"/>
            <w:bordersDoNotSurroundHeader/>
            <w:bordersDoNotSurroundFooter/>
            <w:proofState w:spelling="clean"/>
            <w:defaultTabStop w:val="720"/>
            <w:characterSpacingControl w:val="doNotCompress"/>
            <w:compat>
              <w:useFELayout/>
            </w:compat>
            <w:rsids>
              <w:rsidRoot w:val="00D31D50"/>
              <w:rsid w:val="000209BE"/>
              <w:rsid w:val="000654F4"/>
              <w:rsid w:val="00085FC7"/>
              <w:rsid w:val="000E13BB"/>
              <w:rsid w:val="000E1692"/>
              <w:rsid w:val="001646E2"/>
              <w:rsid w:val="00181B68"/>
              <w:rsid w:val="0018489A"/>
              <w:rsid w:val="0019446D"/>
              <w:rsid w:val="00197453"/>
              <w:rsid w:val="0025073D"/>
              <w:rsid w:val="00323B43"/>
              <w:rsid w:val="00370951"/>
              <w:rsid w:val="003C66C7"/>
              <w:rsid w:val="003C6D02"/>
              <w:rsid w:val="003D37D8"/>
              <w:rsid w:val="003E0E9B"/>
              <w:rsid w:val="00426133"/>
              <w:rsid w:val="004358AB"/>
              <w:rsid w:val="00443266"/>
              <w:rsid w:val="00453864"/>
              <w:rsid w:val="004F201F"/>
              <w:rsid w:val="00512A7E"/>
              <w:rsid w:val="00581A10"/>
              <w:rsid w:val="00597788"/>
              <w:rsid w:val="005F73F7"/>
              <w:rsid w:val="00600ABC"/>
              <w:rsid w:val="00680546"/>
              <w:rsid w:val="006B0BF7"/>
              <w:rsid w:val="007140DC"/>
              <w:rsid w:val="007A1E11"/>
              <w:rsid w:val="008302B2"/>
              <w:rsid w:val="008B7726"/>
              <w:rsid w:val="008C151A"/>
              <w:rsid w:val="0096566F"/>
              <w:rsid w:val="00981182"/>
              <w:rsid w:val="00993ABB"/>
              <w:rsid w:val="009A21A0"/>
              <w:rsid w:val="00A8159B"/>
              <w:rsid w:val="00AA635D"/>
              <w:rsid w:val="00B61175"/>
              <w:rsid w:val="00B74325"/>
              <w:rsid w:val="00BB062B"/>
              <w:rsid w:val="00BC3C44"/>
              <w:rsid w:val="00BE5E5E"/>
              <w:rsid w:val="00C82053"/>
              <w:rsid w:val="00C96A4C"/>
              <w:rsid w:val="00CB6983"/>
              <w:rsid w:val="00CD02E6"/>
              <w:rsid w:val="00D31D50"/>
              <w:rsid w:val="00E74164"/>
              <w:rsid w:val="00E7461A"/>
              <w:rsid w:val="00E83F67"/>
              <w:rsid w:val="00F22AC2"/>
              <w:rsid w:val="00F627BA"/>
              <w:rsid w:val="00F7133E"/>
              <w:rsid w:val="00FB7A18"/>
              <w:rsid w:val="00FE6B2D"/>
            </w:rsids>
            <m:mathPr>
              <m:mathFont m:val="Cambria Math"/>
              <m:brkBin m:val="before"/>
              <m:brkBinSub m:val="--"/>
              <m:smallFrac m:val="off"/>
              <m:dispDef/>
              <m:lMargin m:val="0"/>
              <m:rMargin m:val="0"/>
              <m:defJc m:val="centerGroup"/>
              <m:wrapIndent m:val="1440"/>
              <m:intLim m:val="subSup"/>
              <m:naryLim m:val="undOvr"/>
            </m:mathPr>
            <w:themeFontLang w:val="en-US" w:eastAsia="zh-CN"/>
            <w:clrSchemeMapping w:bg1="light1" w:t1="dark1" w:bg2="light2" w:t2="dark2" w:accent1="accent1" w:accent2="accent2" w:accent3="accent3" w:accent4="accent4" w:accent5="accent5" w:accent6="accent6" w:hyperlink="hyperlink" w:followedHyperlink="followedHyperlink"/>
            <w:shapeDefaults>
              <o:shapedefaults v:ext="edit" spidmax="5122"/>
              <o:shapelayout v:ext="edit">
                <o:idmap v:ext="edit" data="1"/>
              </o:shapelayout>
            </w:shapeDefaults>
            <w:decimalSymbol w:val="."/>
            <w:listSeparator w:val=","/>
          </w:settings>
        </pkg:xmlData>
      </pkg:part>
      <pkg:part pkg:name="/word/webSettings.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml">
        <pkg:xmlData>
          <w:webSettings xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
            <w:optimizeForBrowser/>
          </w:webSettings>
        </pkg:xmlData>
      </pkg:part>
      <pkg:part pkg:name="/docProps/core.xml" pkg:contentType="application/vnd.openxmlformats-package.core-properties+xml" pkg:padding="256">
        <pkg:xmlData>
          <cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <dc:creator>Administrator</dc:creator>
            <cp:lastModifiedBy>微软用户</cp:lastModifiedBy>
            <cp:revision>2</cp:revision>
            <dcterms:created xsi:type="dcterms:W3CDTF">2017-02-28T12:13:00Z</dcterms:created>
            <dcterms:modified xsi:type="dcterms:W3CDTF">2017-02-28T12:13:00Z</dcterms:modified>
          </cp:coreProperties>
        </pkg:xmlData>
      </pkg:part>
      <pkg:part pkg:name="/word/styles.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml">
        <pkg:xmlData>
          <w:styles xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
            <w:docDefaults>
              <w:rPrDefault>
                <w:rPr>
                  <w:rFonts w:asciiTheme="minorHAnsi" w:eastAsia="微软雅黑" w:hAnsiTheme="minorHAnsi" w:cstheme="minorBidi"/>
                  <w:sz w:val="22"/>
                  <w:szCs w:val="22"/>
                  <w:lang w:val="en-US" w:eastAsia="zh-CN" w:bidi="ar-SA"/>
                </w:rPr>
              </w:rPrDefault>
              <w:pPrDefault>
                <w:pPr>
                  <w:spacing w:after="200" w:line="220" w:lineRule="atLeast"/>
                </w:pPr>
              </w:pPrDefault>
            </w:docDefaults>
            <w:latentStyles w:defLockedState="0" w:defUIPriority="99" w:defSemiHidden="1" w:defUnhideWhenUsed="1" w:defQFormat="0" w:count="267">
              <w:lsdException w:name="Normal" w:semiHidden="0" w:uiPriority="0" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="heading 1" w:semiHidden="0" w:uiPriority="9" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="heading 2" w:uiPriority="9" w:qFormat="1"/>
              <w:lsdException w:name="heading 3" w:uiPriority="9" w:qFormat="1"/>
              <w:lsdException w:name="heading 4" w:uiPriority="9" w:qFormat="1"/>
              <w:lsdException w:name="heading 5" w:uiPriority="9" w:qFormat="1"/>
              <w:lsdException w:name="heading 6" w:uiPriority="9" w:qFormat="1"/>
              <w:lsdException w:name="heading 7" w:uiPriority="9" w:qFormat="1"/>
              <w:lsdException w:name="heading 8" w:uiPriority="9" w:qFormat="1"/>
              <w:lsdException w:name="heading 9" w:uiPriority="9" w:qFormat="1"/>
              <w:lsdException w:name="toc 1" w:uiPriority="39"/>
              <w:lsdException w:name="toc 2" w:uiPriority="39"/>
              <w:lsdException w:name="toc 3" w:uiPriority="39"/>
              <w:lsdException w:name="toc 4" w:uiPriority="39"/>
              <w:lsdException w:name="toc 5" w:uiPriority="39"/>
              <w:lsdException w:name="toc 6" w:uiPriority="39"/>
              <w:lsdException w:name="toc 7" w:uiPriority="39"/>
              <w:lsdException w:name="toc 8" w:uiPriority="39"/>
              <w:lsdException w:name="toc 9" w:uiPriority="39"/>
              <w:lsdException w:name="caption" w:uiPriority="35" w:qFormat="1"/>
              <w:lsdException w:name="Title" w:semiHidden="0" w:uiPriority="10" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="Default Paragraph Font" w:uiPriority="1"/>
              <w:lsdException w:name="Subtitle" w:semiHidden="0" w:uiPriority="11" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="Strong" w:semiHidden="0" w:uiPriority="22" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="Emphasis" w:semiHidden="0" w:uiPriority="20" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="Table Grid" w:semiHidden="0" w:uiPriority="59" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Placeholder Text" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="No Spacing" w:semiHidden="0" w:uiPriority="1" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="Light Shading" w:semiHidden="0" w:uiPriority="60" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light List" w:semiHidden="0" w:uiPriority="61" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light Grid" w:semiHidden="0" w:uiPriority="62" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Shading 1" w:semiHidden="0" w:uiPriority="63" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Shading 2" w:semiHidden="0" w:uiPriority="64" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium List 1" w:semiHidden="0" w:uiPriority="65" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium List 2" w:semiHidden="0" w:uiPriority="66" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 1" w:semiHidden="0" w:uiPriority="67" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 2" w:semiHidden="0" w:uiPriority="68" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 3" w:semiHidden="0" w:uiPriority="69" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Dark List" w:semiHidden="0" w:uiPriority="70" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful Shading" w:semiHidden="0" w:uiPriority="71" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful List" w:semiHidden="0" w:uiPriority="72" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful Grid" w:semiHidden="0" w:uiPriority="73" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light Shading Accent 1" w:semiHidden="0" w:uiPriority="60" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light List Accent 1" w:semiHidden="0" w:uiPriority="61" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light Grid Accent 1" w:semiHidden="0" w:uiPriority="62" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Shading 1 Accent 1" w:semiHidden="0" w:uiPriority="63" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Shading 2 Accent 1" w:semiHidden="0" w:uiPriority="64" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium List 1 Accent 1" w:semiHidden="0" w:uiPriority="65" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Revision" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="List Paragraph" w:semiHidden="0" w:uiPriority="34" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="Quote" w:semiHidden="0" w:uiPriority="29" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="Intense Quote" w:semiHidden="0" w:uiPriority="30" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="Medium List 2 Accent 1" w:semiHidden="0" w:uiPriority="66" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 1 Accent 1" w:semiHidden="0" w:uiPriority="67" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 2 Accent 1" w:semiHidden="0" w:uiPriority="68" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 3 Accent 1" w:semiHidden="0" w:uiPriority="69" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Dark List Accent 1" w:semiHidden="0" w:uiPriority="70" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful Shading Accent 1" w:semiHidden="0" w:uiPriority="71" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful List Accent 1" w:semiHidden="0" w:uiPriority="72" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful Grid Accent 1" w:semiHidden="0" w:uiPriority="73" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light Shading Accent 2" w:semiHidden="0" w:uiPriority="60" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light List Accent 2" w:semiHidden="0" w:uiPriority="61" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light Grid Accent 2" w:semiHidden="0" w:uiPriority="62" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Shading 1 Accent 2" w:semiHidden="0" w:uiPriority="63" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Shading 2 Accent 2" w:semiHidden="0" w:uiPriority="64" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium List 1 Accent 2" w:semiHidden="0" w:uiPriority="65" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium List 2 Accent 2" w:semiHidden="0" w:uiPriority="66" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 1 Accent 2" w:semiHidden="0" w:uiPriority="67" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 2 Accent 2" w:semiHidden="0" w:uiPriority="68" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 3 Accent 2" w:semiHidden="0" w:uiPriority="69" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Dark List Accent 2" w:semiHidden="0" w:uiPriority="70" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful Shading Accent 2" w:semiHidden="0" w:uiPriority="71" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful List Accent 2" w:semiHidden="0" w:uiPriority="72" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful Grid Accent 2" w:semiHidden="0" w:uiPriority="73" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light Shading Accent 3" w:semiHidden="0" w:uiPriority="60" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light List Accent 3" w:semiHidden="0" w:uiPriority="61" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light Grid Accent 3" w:semiHidden="0" w:uiPriority="62" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Shading 1 Accent 3" w:semiHidden="0" w:uiPriority="63" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Shading 2 Accent 3" w:semiHidden="0" w:uiPriority="64" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium List 1 Accent 3" w:semiHidden="0" w:uiPriority="65" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium List 2 Accent 3" w:semiHidden="0" w:uiPriority="66" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 1 Accent 3" w:semiHidden="0" w:uiPriority="67" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 2 Accent 3" w:semiHidden="0" w:uiPriority="68" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 3 Accent 3" w:semiHidden="0" w:uiPriority="69" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Dark List Accent 3" w:semiHidden="0" w:uiPriority="70" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful Shading Accent 3" w:semiHidden="0" w:uiPriority="71" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful List Accent 3" w:semiHidden="0" w:uiPriority="72" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful Grid Accent 3" w:semiHidden="0" w:uiPriority="73" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light Shading Accent 4" w:semiHidden="0" w:uiPriority="60" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light List Accent 4" w:semiHidden="0" w:uiPriority="61" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light Grid Accent 4" w:semiHidden="0" w:uiPriority="62" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Shading 1 Accent 4" w:semiHidden="0" w:uiPriority="63" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Shading 2 Accent 4" w:semiHidden="0" w:uiPriority="64" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium List 1 Accent 4" w:semiHidden="0" w:uiPriority="65" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium List 2 Accent 4" w:semiHidden="0" w:uiPriority="66" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 1 Accent 4" w:semiHidden="0" w:uiPriority="67" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 2 Accent 4" w:semiHidden="0" w:uiPriority="68" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 3 Accent 4" w:semiHidden="0" w:uiPriority="69" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Dark List Accent 4" w:semiHidden="0" w:uiPriority="70" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful Shading Accent 4" w:semiHidden="0" w:uiPriority="71" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful List Accent 4" w:semiHidden="0" w:uiPriority="72" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful Grid Accent 4" w:semiHidden="0" w:uiPriority="73" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light Shading Accent 5" w:semiHidden="0" w:uiPriority="60" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light List Accent 5" w:semiHidden="0" w:uiPriority="61" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light Grid Accent 5" w:semiHidden="0" w:uiPriority="62" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Shading 1 Accent 5" w:semiHidden="0" w:uiPriority="63" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Shading 2 Accent 5" w:semiHidden="0" w:uiPriority="64" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium List 1 Accent 5" w:semiHidden="0" w:uiPriority="65" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium List 2 Accent 5" w:semiHidden="0" w:uiPriority="66" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 1 Accent 5" w:semiHidden="0" w:uiPriority="67" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 2 Accent 5" w:semiHidden="0" w:uiPriority="68" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 3 Accent 5" w:semiHidden="0" w:uiPriority="69" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Dark List Accent 5" w:semiHidden="0" w:uiPriority="70" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful Shading Accent 5" w:semiHidden="0" w:uiPriority="71" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful List Accent 5" w:semiHidden="0" w:uiPriority="72" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful Grid Accent 5" w:semiHidden="0" w:uiPriority="73" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light Shading Accent 6" w:semiHidden="0" w:uiPriority="60" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light List Accent 6" w:semiHidden="0" w:uiPriority="61" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Light Grid Accent 6" w:semiHidden="0" w:uiPriority="62" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Shading 1 Accent 6" w:semiHidden="0" w:uiPriority="63" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Shading 2 Accent 6" w:semiHidden="0" w:uiPriority="64" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium List 1 Accent 6" w:semiHidden="0" w:uiPriority="65" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium List 2 Accent 6" w:semiHidden="0" w:uiPriority="66" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 1 Accent 6" w:semiHidden="0" w:uiPriority="67" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 2 Accent 6" w:semiHidden="0" w:uiPriority="68" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Medium Grid 3 Accent 6" w:semiHidden="0" w:uiPriority="69" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Dark List Accent 6" w:semiHidden="0" w:uiPriority="70" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful Shading Accent 6" w:semiHidden="0" w:uiPriority="71" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful List Accent 6" w:semiHidden="0" w:uiPriority="72" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Colorful Grid Accent 6" w:semiHidden="0" w:uiPriority="73" w:unhideWhenUsed="0"/>
              <w:lsdException w:name="Subtle Emphasis" w:semiHidden="0" w:uiPriority="19" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="Intense Emphasis" w:semiHidden="0" w:uiPriority="21" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="Subtle Reference" w:semiHidden="0" w:uiPriority="31" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="Intense Reference" w:semiHidden="0" w:uiPriority="32" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="Book Title" w:semiHidden="0" w:uiPriority="33" w:unhideWhenUsed="0" w:qFormat="1"/>
              <w:lsdException w:name="Bibliography" w:uiPriority="37"/>
              <w:lsdException w:name="TOC Heading" w:uiPriority="39" w:qFormat="1"/>
            </w:latentStyles>
            <w:style w:type="paragraph" w:default="1" w:styleId="a">
              <w:name w:val="Normal"/>
              <w:qFormat/>
              <w:rsid w:val="00323B43"/>
              <w:pPr>
                <w:adjustRightInd w:val="0"/>
                <w:snapToGrid w:val="0"/>
                <w:spacing w:line="240" w:lineRule="auto"/>
              </w:pPr>
              <w:rPr>
                <w:rFonts w:ascii="Tahoma" w:hAnsi="Tahoma"/>
              </w:rPr>
            </w:style>
            <w:style w:type="character" w:default="1" w:styleId="a0">
              <w:name w:val="Default Paragraph Font"/>
              <w:uiPriority w:val="1"/>
              <w:semiHidden/>
              <w:unhideWhenUsed/>
            </w:style>
            <w:style w:type="table" w:default="1" w:styleId="a1">
              <w:name w:val="Normal Table"/>
              <w:uiPriority w:val="99"/>
              <w:semiHidden/>
              <w:unhideWhenUsed/>
              <w:qFormat/>
              <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="numbering" w:default="1" w:styleId="a2">
              <w:name w:val="No List"/>
              <w:uiPriority w:val="99"/>
              <w:semiHidden/>
              <w:unhideWhenUsed/>
            </w:style>
            <w:style w:type="table" w:styleId="a3">
              <w:name w:val="Table Grid"/>
              <w:basedOn w:val="a1"/>
              <w:uiPriority w:val="59"/>
              <w:rsid w:val="00F627BA"/>
              <w:pPr>
                <w:spacing w:after="0" w:line="240" w:lineRule="auto"/>
              </w:pPr>
              <w:tblPr>
                <w:tblInd w:w="0" w:type="dxa"/>
                <w:tblBorders>
                  <w:top w:val="single" w:sz="4" w:space="0" w:color="000000" w:themeColor="text1"/>
                  <w:left w:val="single" w:sz="4" w:space="0" w:color="000000" w:themeColor="text1"/>
                  <w:bottom w:val="single" w:sz="4" w:space="0" w:color="000000" w:themeColor="text1"/>
                  <w:right w:val="single" w:sz="4" w:space="0" w:color="000000" w:themeColor="text1"/>
                  <w:insideH w:val="single" w:sz="4" w:space="0" w:color="000000" w:themeColor="text1"/>
                  <w:insideV w:val="single" w:sz="4" w:space="0" w:color="000000" w:themeColor="text1"/>
                </w:tblBorders>
                <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="paragraph" w:styleId="a4">
              <w:name w:val="Balloon Text"/>
              <w:basedOn w:val="a"/>
              <w:link w:val="Char"/>
              <w:uiPriority w:val="99"/>
              <w:semiHidden/>
              <w:unhideWhenUsed/>
              <w:rsid w:val="007140DC"/>
              <w:pPr>
                <w:spacing w:after="0"/>
              </w:pPr>
              <w:rPr>
                <w:sz w:val="18"/>
                <w:szCs w:val="18"/>
              </w:rPr>
            </w:style>
            <w:style w:type="character" w:customStyle="1" w:styleId="Char">
              <w:name w:val="批注框文本 Char"/>
              <w:basedOn w:val="a0"/>
              <w:link w:val="a4"/>
              <w:uiPriority w:val="99"/>
              <w:semiHidden/>
              <w:rsid w:val="007140DC"/>
              <w:rPr>
                <w:rFonts w:ascii="Tahoma" w:hAnsi="Tahoma"/>
                <w:sz w:val="18"/>
                <w:szCs w:val="18"/>
              </w:rPr>
            </w:style>
          </w:styles>
        </pkg:xmlData>
      </pkg:part>
      <pkg:part pkg:name="/word/fontTable.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml">
        <pkg:xmlData>
          <w:fonts xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
            <w:font w:name="Calibri">
              <w:panose1 w:val="020F0502020204030204"/>
              <w:charset w:val="00"/>
              <w:family w:val="swiss"/>
              <w:pitch w:val="variable"/>
              <w:sig w:usb0="E00002FF" w:usb1="4000ACFF" w:usb2="00000001" w:usb3="00000000" w:csb0="0000019F" w:csb1="00000000"/>
            </w:font>
            <w:font w:name="微软雅黑">
              <w:panose1 w:val="020B0503020204020204"/>
              <w:charset w:val="86"/>
              <w:family w:val="swiss"/>
              <w:pitch w:val="variable"/>
              <w:sig w:usb0="80000287" w:usb1="280F3C52" w:usb2="00000016" w:usb3="00000000" w:csb0="0004001F" w:csb1="00000000"/>
            </w:font>
            <w:font w:name="Times New Roman">
              <w:panose1 w:val="02020603050405020304"/>
              <w:charset w:val="00"/>
              <w:family w:val="roman"/>
              <w:pitch w:val="variable"/>
              <w:sig w:usb0="E0002AFF" w:usb1="C0007841" w:usb2="00000009" w:usb3="00000000" w:csb0="000001FF" w:csb1="00000000"/>
            </w:font>
            <w:font w:name="Tahoma">
              <w:panose1 w:val="020B0604030504040204"/>
              <w:charset w:val="00"/>
              <w:family w:val="swiss"/>
              <w:pitch w:val="variable"/>
              <w:sig w:usb0="E1002EFF" w:usb1="C000605B" w:usb2="00000029" w:usb3="00000000" w:csb0="000101FF" w:csb1="00000000"/>
            </w:font>
            <w:font w:name="宋体">
              <w:altName w:val="SimSun"/>
              <w:panose1 w:val="02010600030101010101"/>
              <w:charset w:val="86"/>
              <w:family w:val="auto"/>
              <w:pitch w:val="variable"/>
              <w:sig w:usb0="00000003" w:usb1="288F0000" w:usb2="00000016" w:usb3="00000000" w:csb0="00040001" w:csb1="00000000"/>
            </w:font>
            <w:font w:name="Cambria">
              <w:panose1 w:val="02040503050406030204"/>
              <w:charset w:val="00"/>
              <w:family w:val="roman"/>
              <w:pitch w:val="variable"/>
              <w:sig w:usb0="E00002FF" w:usb1="400004FF" w:usb2="00000000" w:usb3="00000000" w:csb0="0000019F" w:csb1="00000000"/>
            </w:font>
          </w:fonts>
        </pkg:xmlData>
      </pkg:part>
      <pkg:part pkg:name="/docProps/app.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.extended-properties+xml" pkg:padding="256">
        <pkg:xmlData>
          <Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
            <Template>Normal</Template>
            <TotalTime>0</TotalTime>
            <Pages>1</Pages>
            <Words>19</Words>
            <Characters>114</Characters>
            <Application>Microsoft Office Word</Application>
            <DocSecurity>0</DocSecurity>
            <Lines>1</Lines>
            <Paragraphs>1</Paragraphs>
            <ScaleCrop>false</ScaleCrop>
            <Company/>
            <LinksUpToDate>false</LinksUpToDate>
            <CharactersWithSpaces>132</CharactersWithSpaces>
            <SharedDoc>false</SharedDoc>
            <HyperlinksChanged>false</HyperlinksChanged>
            <AppVersion>12.0000</AppVersion>
          </Properties>
        </pkg:xmlData>
      </pkg:part>
    </pkg:package>
    








    展开全文
  • js将HTML导出生成word文档

    万次阅读 多人点赞 2018-12-07 16:05:31
    在项目开发中中,遇到将HTML导出生成word文档,刚开始在网上找了很多资料,基本都是jQuery中的插件jquery.wordexport.js,刚开始是不想用这个的,这个要引用另一个插件FileSaver.js;但是没有找到更好的方法,所以在...

    在项目开发中中,遇到将HTML导出生成word文档,刚开始在网上找了很多资料,基本都是jQuery中的插件jquery.wordexport.js,刚开始是不想用这个的,这个要引用另一个插件FileSaver.js;但是没有找到更好的方法,所以在这里记录下js将HTML导出生成word文档的方法;如果有其他方法的可以提供下链接;学习下

    jquery.wordexport.js插件的代码,了解到了通过该插件可以导出文本和图片,而图片首先通过canvas的形式

    绘制,文本则需要再依赖FileSaver.js插件,FileSaver.js插件则主要通过H5的文件操作新特性new Blob()和new FileReader()

    来实现文本的导出。

    在这里给出jquery.wordexport.js源码

    if (typeof jQuery !== "undefined" && typeof saveAs !== "undefined") {
        (function ($) {
            $.fn.wordExport = function (fileName) {
                fileName = typeof fileName !== 'undefined' ? fileName : "jQuery-Word-Export";
                var statics = {
                    mhtml: {
                        top: "Mime-Version: 1.0\nContent-Base: " + location.href + "\nContent-Type: Multipart/related; boundary=\"NEXT.ITEM-BOUNDARY\";type=\"text/html\"\n\n--NEXT.ITEM-BOUNDARY\nContent-Type: text/html; charset=\"utf-8\"\nContent-Location: " + location.href + "\n\n<!DOCTYPE html>\n<html>\n_html_</html>",
                        head: "<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<style>\n_styles_\n</style>\n</head>\n",
                        body: "<body>_body_</body>"
                    }
                };
                var options = {
                    maxWidth: 624
                };
                // Clone selected element before manipulating it
                var markup = $(this).clone();
    
                // Remove hidden elements from the output
                markup.each(function () {
                    var self = $(this);
                    if (self.is(':hidden'))
                        self.remove();
                });
    
                // Embed all images using Data URLs
                var images = Array();
                var img = markup.find('img');
                for (var i = 0; i < img.length; i++) {
                    // Calculate dimensions of output image
                    var w = Math.min(img[i].width, options.maxWidth);
                    var h = img[i].height * (w / img[i].width);
                    // Create canvas for converting image to data URL
                    var canvas = document.createElement("CANVAS");
                    canvas.width = w;
                    canvas.height = h;
                    // Draw image to canvas
                    var context = canvas.getContext('2d');
                    context.drawImage(img[i], 0, 0, w, h);
                    // Get data URL encoding of image
                    var uri = canvas.toDataURL("image/png/jpg");
                    $(img[i]).attr("src", img[i].src);
                    img[i].width = w;
                    img[i].height = h;
                    // Save encoded image to array
                    images[i] = {
                        type: uri.substring(uri.indexOf(":") + 1, uri.indexOf(";")),
                        encoding: uri.substring(uri.indexOf(";") + 1, uri.indexOf(",")),
                        location: $(img[i]).attr("src"),
                        data: uri.substring(uri.indexOf(",") + 1)
                    };
                }
    
                // Prepare bottom of mhtml file with image data
                var mhtmlBottom = "\n";
                for (var i = 0; i < images.length; i++) {
                    mhtmlBottom += "--NEXT.ITEM-BOUNDARY\n";
                    mhtmlBottom += "Content-Location: " + images[i].location + "\n";
                    mhtmlBottom += "Content-Type: " + images[i].type + "\n";
                    mhtmlBottom += "Content-Transfer-Encoding: " + images[i].encoding + "\n\n";
                    mhtmlBottom += images[i].data + "\n\n";
                }
                mhtmlBottom += "--NEXT.ITEM-BOUNDARY--";
    
                //TODO: load css from included stylesheet
    
                //var styles=' /* Font Definitions */@font-face{font-family:宋体;panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-alt:SimSun;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 680460288 22 0 262145 0;}  @font-face{font-family:"Cambria Math";panose-1:2 4 5 3 5 4 6 3 2 4;mso-font-charset:1;mso-generic-font-family:roman;mso-font-format:other;mso-font-pitch:variable;mso-font-signature:0 0 0 0 0 0;}  @font-face{font-family:"\@宋体";panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 680460288 22 0 262145 0;}/* Style Definitions */p.MsoNormal, li.MsoNormal, div.MsoNormal{mso-style-unhide:no;mso-style-qformat:yes;mso-style-parent:"";margin:0cm;margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:14.0pt;font-family:宋体;mso-bidi-font-family:宋体;}p.MsoHeader, li.MsoHeader, div.MsoHeader{mso-style-noshow:yes;mso-style-priority:99;mso-style-link:"页眉 Char";margin:0cm;margin-bottom:.0001pt;text-align:center;mso-pagination:widow-orphan;layout-grid-mode:char;font-size:9.0pt;font-family:宋体;mso-bidi-font-family:宋体;}p.MsoFooter, li.MsoFooter, div.MsoFooter{mso-style-noshow:yes;mso-style-priority:99;mso-style-link:"页脚 Char";margin:0cm;margin-bottom:.0001pt;mso-pagination:widow-orphan;layout-grid-mode:char;font-size:9.0pt;font-family:宋体;mso-bidi-font-family:宋体;}p.MsoAcetate, li.MsoAcetate, div.MsoAcetate{mso-style-noshow:yes;mso-style-priority:99;mso-style-link:"批注框文本 Char";margin:0cm;margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:9.0pt;font-family:宋体;mso-bidi-font-family:宋体;}span.Char{mso-style-name:"页眉 Char";mso-style-noshow:yes;mso-style-priority:99;mso-style-unhide:no;mso-style-locked:yes;mso-style-link:页眉;font-family:宋体;mso-ascii-font-family:宋体;mso-fareast-font-family:宋体;mso-hansi-font-family:宋体;}span.Char0{mso-style-name:"页脚 Char";mso-style-noshow:yes;mso-style-priority:99;mso-style-unhide:no;mso-style-locked:yes;mso-style-link:页脚;font-family:宋体;mso-ascii-font-family:宋体;mso-fareast-font-family:宋体;mso-hansi-font-family:宋体;}span.Char1{mso-style-name:"批注框文本 Char";mso-style-noshow:yes;mso-style-priority:99;mso-style-unhide:no;mso-style-locked:yes;mso-style-link:批注框文本;font-family:宋体;mso-ascii-font-family:宋体;mso-fareast-font-family:宋体;mso-hansi-font-family:宋体;}p.msochpdefault, li.msochpdefault, div.msochpdefault{mso-style-name:msochpdefault;mso-style-unhide:no;mso-margin-top-alt:auto;margin-right:0cm;mso-margin-bottom-alt:auto;margin-left:0cm;mso-pagination:widow-orphan;font-size:10.0pt;font-family:宋体;mso-bidi-font-family:宋体;}span.msonormal0{mso-style-name:msonormal;mso-style-unhide:no;}.MsoChpDefault{mso-style-type:export-only;mso-default-props:yes;font-size:10.0pt;mso-ansi-font-size:10.0pt;mso-bidi-font-size:10.0pt;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";mso-font-kerning:0pt;}/* Page Definitions */  @page WordSection1{size:595.3pt 841.9pt;margin:72.0pt 90.0pt 72.0pt 90.0pt;mso-header-margin:42.55pt;mso-footer-margin:49.6pt;mso-paper-source:0;}div.WordSection1{page:WordSection1;}';
    
                var styles = "";
    
                // Aggregate parts of the file together
                var fileContent = statics.mhtml.top.replace("_html_", statics.mhtml.head.replace("_styles_", styles) + statics.mhtml.body.replace("_body_", markup.html())) + mhtmlBottom;
    
                // Create a Blob with the file contents
                var blob = new Blob([fileContent], {
                    type: "application/msword;charset=utf-8"
                });
                saveAs(blob, fileName + ".doc");
            };
        })(jQuery);
    } else {
        if (typeof jQuery === "undefined") {
            console.error("jQuery Word Export: missing dependency (jQuery)");
        }
        if (typeof saveAs === "undefined") {
            console.error("jQuery Word Export: missing dependency (FileSaver.js)");
        }
    }

    和FileSaver.js源码

    /* FileSaver.js
     * A saveAs() FileSaver implementation.
     * 1.3.2
     * 2016-06-16 18:25:19
     *
     * By Eli Grey, http://eligrey.com
     * License: MIT
     *   See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md
     */
    
    /*global self */
    /*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */
    
    /*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
    
    var saveAs = saveAs || (function (view) {
        "use strict";
        // IE <10 is explicitly unsupported
        if (typeof view === "undefined" || typeof navigator !== "undefined" && /MSIE [1-9]\./.test(navigator.userAgent)) {
            return;
        }
        var
            doc = view.document
            // only get URL when necessary in case Blob.js hasn't overridden it yet
            , get_URL = function () {
                return view.URL || view.webkitURL || view;
            }
            , save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a")
            , can_use_save_link = "download" in save_link
            , click = function (node) {
                var event = new MouseEvent("click");
                node.dispatchEvent(event);
            }
            , is_safari = /constructor/i.test(view.HTMLElement)
            , is_chrome_ios = /CriOS\/[\d]+/.test(navigator.userAgent)
            , throw_outside = function (ex) {
                (view.setImmediate || view.setTimeout)(function () {
                    throw ex;
                }, 0);
            }
            , force_saveable_type = "application/octet-stream"
            // the Blob API is fundamentally broken as there is no "downloadfinished" event to subscribe to
            , arbitrary_revoke_timeout = 1000 * 40 // in ms
            , revoke = function (file) {
                var revoker = function () {
                    if (typeof file === "string") { // file is an object URL
                        get_URL().revokeObjectURL(file);
                    } else { // file is a File
                        file.remove();
                    }
                };
                setTimeout(revoker, arbitrary_revoke_timeout);
            }
            , dispatch = function (filesaver, event_types, event) {
                event_types = [].concat(event_types);
                var i = event_types.length;
                while (i--) {
                    var listener = filesaver["on" + event_types[i]];
                    if (typeof listener === "function") {
                        try {
                            listener.call(filesaver, event || filesaver);
                        } catch (ex) {
                            throw_outside(ex);
                        }
                    }
                }
            }
            , auto_bom = function (blob) {
                // prepend BOM for UTF-8 XML and text/* types (including HTML)
                // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF
                if (/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
                    return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type });
                }
                return blob;
            }
            , FileSaver = function (blob, name, no_auto_bom) {
                if (!no_auto_bom) {
                    blob = auto_bom(blob);
                }
                // First try a.download, then web filesystem, then object URLs
                var
                    filesaver = this
                    , type = blob.type
                    , force = type === force_saveable_type
                    , object_url
                    , dispatch_all = function () {
                        dispatch(filesaver, "writestart progress write writeend".split(" "));
                    }
                    // on any filesys errors revert to saving with object URLs
                    , fs_error = function () {
                        if ((is_chrome_ios || (force && is_safari)) && view.FileReader) {
                            // Safari doesn't allow downloading of blob urls
                            var reader = new FileReader();
                            reader.onloadend = function () {
                                var url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;');
                                var popup = view.open(url, '_blank');
                                if (!popup) view.location.href = url;
                                url = undefined; // release reference before dispatching
                                filesaver.readyState = filesaver.DONE;
                                dispatch_all();
                            };
                            reader.readAsDataURL(blob);
                            filesaver.readyState = filesaver.INIT;
                            return;
                        }
                        // don't create more object URLs than needed
                        if (!object_url) {
                            object_url = get_URL().createObjectURL(blob);
                        }
                        if (force) {
                            view.location.href = object_url;
                        } else {
                            var opened = view.open(object_url, "_blank");
                            if (!opened) {
                                // Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html
                                view.location.href = object_url;
                            }
                        }
                        filesaver.readyState = filesaver.DONE;
                        dispatch_all();
                        revoke(object_url);
                    }
                    ;
                filesaver.readyState = filesaver.INIT;
    
                if (can_use_save_link) {
                    object_url = get_URL().createObjectURL(blob);
                    setTimeout(function () {
                        save_link.href = object_url;
                        save_link.download = name;
                        click(save_link);
                        dispatch_all();
                        revoke(object_url);
                        filesaver.readyState = filesaver.DONE;
                    });
                    return;
                }
    
                fs_error();
            }
            , FS_proto = FileSaver.prototype
            , saveAs = function (blob, name, no_auto_bom) {
                return new FileSaver(blob, name || blob.name || "download", no_auto_bom);
            }
            ;
        // IE 10+ (native saveAs)
        if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) {
            return function (blob, name, no_auto_bom) {
                name = name || blob.name || "download";
    
                if (!no_auto_bom) {
                    blob = auto_bom(blob);
                }
                return navigator.msSaveOrOpenBlob(blob, name);
            };
        }
    
        FS_proto.abort = function () { };
        FS_proto.readyState = FS_proto.INIT = 0;
        FS_proto.WRITING = 1;
        FS_proto.DONE = 2;
    
        FS_proto.error =
            FS_proto.onwritestart =
            FS_proto.onprogress =
            FS_proto.onwrite =
            FS_proto.onabort =
            FS_proto.onerror =
            FS_proto.onwriteend =
            null;
    
        return saveAs;
    }(
        typeof self !== "undefined" && self
        || typeof window !== "undefined" && window
        || this.content
    ));
    // `self` is undefined in Firefox for Android content script context
    // while `this` is nsIContentFrameMessageManager
    // with an attribute `content` that corresponds to the window
    
    if (typeof module !== "undefined" && module.exports) {
        module.exports.saveAs = saveAs;
    } else if ((typeof define !== "undefined" && define !== null) && (define.amd !== null)) {
        define([], function () {
            return saveAs;
        });
    }

    调用插件

    <!DOCTYPE html>
    <html>
    
    <head lang="en">
        <meta charset="UTF-8">
        <title>html导出生成word文档</title>
    </head>
    
    <body>
        <div class="word">
            <h1>我们的梦想来自内心深处的孤独</h1>>
            <p align="center" style="font-size:20pt;font-weight:bold;">JS导出Word文档</p>
            <div>我们来自同一个世界</div>
        </div>
        <input type="button" value="导出word">
        <script src="https://cdn.bootcss.com/jquery/2.2.4/jquery.js"></script>
        <script type="text/javascript" src="FileSaver.js"></script>
        <script type="text/javascript" src="jquery.wordexport.js"></script>
        <script>
            $(function () {
                $("input[type='button']").click(function (event) {
                    $(".word").wordExport('word文档');
                });
            })
        </script>
    </body>
    </html>

    导出的html代码样式需要内联样式,

    2.vue中使用

    首先看看结构目录

    2.1 在index.html全局引入jQuery

    2.2   cmd安装FileSaver.js

    npm install file-saver --save

    在需要的组件中引入file-saver

    2.3  在需要的组件中引入

    2.4使用

    .wordExport("生成文档");这个是生成文档的文件名

    展开全文
  • 用js将HTML文本导出生成word文档

    千次阅读 2019-05-23 10:08:59
    在项目开发中中,遇到将HTML导出生成word文档,刚开始在网上找了很多资料,基本都是jQuery中的插件jquery.wordexport.js,刚开始是不想用这个的,这个要引用另一个插件FileSaver.js;但是没有找到更好的方法,所以在...

    在项目开发中中,遇到将HTML导出生成word文档,刚开始在网上找了很多资料,基本都是jQuery中的插件jquery.wordexport.js,刚开始是不想用这个的,这个要引用另一个插件FileSaver.js;但是没有找到更好的方法,所以在这里记录下js将HTML导出生成word文档的方法;如果有其他方法的可以提供下链接;学习下
    jquery.wordexport.js插件的代码,了解到了通过该插件可以导出文本和图片,而图片首先通过canvas的形式
    绘制,文本则需要再依赖FileSaver.js插件,FileSaver.js插件则主要通过H5的文件操作新特性new Blob()和new FileReader()
    来实现文本的导出。
    在这里给出jquery.wordexport.js源码

    if (typeof jQuery !== "undefined" && typeof saveAs !== "undefined") {
        (function ($) {
            $.fn.wordExport = function (fileName) {
                fileName = typeof fileName !== 'undefined' ? fileName : "jQuery-Word-Export";
                var statics = {
                    mhtml: {
                        top: "Mime-Version: 1.0\nContent-Base: " + location.href + "\nContent-Type: Multipart/related; boundary=\"NEXT.ITEM-BOUNDARY\";type=\"text/html\"\n\n--NEXT.ITEM-BOUNDARY\nContent-Type: text/html; charset=\"utf-8\"\nContent-Location: " + location.href + "\n\n<!DOCTYPE html>\n<html>\n_html_</html>",
                        head: "<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n<style>\n_styles_\n</style>\n</head>\n",
                        body: "<body>_body_</body>"
                    }
                };
                var options = {
                    maxWidth: 624
                };
                // Clone selected element before manipulating it
                var markup = $(this).clone();
     
                // Remove hidden elements from the output
                markup.each(function () {
                    var self = $(this);
                    if (self.is(':hidden'))
                        self.remove();
                });
     
                // Embed all images using Data URLs
                var images = Array();
                var img = markup.find('img');
                for (var i = 0; i < img.length; i++) {
                    // Calculate dimensions of output image
                    var w = Math.min(img[i].width, options.maxWidth);
                    var h = img[i].height * (w / img[i].width);
                    // Create canvas for converting image to data URL
                    var canvas = document.createElement("CANVAS");
                    canvas.width = w;
                    canvas.height = h;
                    // Draw image to canvas
                    var context = canvas.getContext('2d');
                    context.drawImage(img[i], 0, 0, w, h);
                    // Get data URL encoding of image
                    var uri = canvas.toDataURL("image/png/jpg");
                    $(img[i]).attr("src", img[i].src);
                    img[i].width = w;
                    img[i].height = h;
                    // Save encoded image to array
                    images[i] = {
                        type: uri.substring(uri.indexOf(":") + 1, uri.indexOf(";")),
                        encoding: uri.substring(uri.indexOf(";") + 1, uri.indexOf(",")),
                        location: $(img[i]).attr("src"),
                        data: uri.substring(uri.indexOf(",") + 1)
                    };
                }
     
                // Prepare bottom of mhtml file with image data
                var mhtmlBottom = "\n";
                for (var i = 0; i < images.length; i++) {
                    mhtmlBottom += "--NEXT.ITEM-BOUNDARY\n";
                    mhtmlBottom += "Content-Location: " + images[i].location + "\n";
                    mhtmlBottom += "Content-Type: " + images[i].type + "\n";
                    mhtmlBottom += "Content-Transfer-Encoding: " + images[i].encoding + "\n\n";
                    mhtmlBottom += images[i].data + "\n\n";
                }
                mhtmlBottom += "--NEXT.ITEM-BOUNDARY--";
     
                //TODO: load css from included stylesheet
     
                //var styles=' /* Font Definitions */@font-face{font-family:宋体;panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-alt:SimSun;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 680460288 22 0 262145 0;}  @font-face{font-family:"Cambria Math";panose-1:2 4 5 3 5 4 6 3 2 4;mso-font-charset:1;mso-generic-font-family:roman;mso-font-format:other;mso-font-pitch:variable;mso-font-signature:0 0 0 0 0 0;}  @font-face{font-family:"\@宋体";panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 680460288 22 0 262145 0;}/* Style Definitions */p.MsoNormal, li.MsoNormal, div.MsoNormal{mso-style-unhide:no;mso-style-qformat:yes;mso-style-parent:"";margin:0cm;margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:14.0pt;font-family:宋体;mso-bidi-font-family:宋体;}p.MsoHeader, li.MsoHeader, div.MsoHeader{mso-style-noshow:yes;mso-style-priority:99;mso-style-link:"页眉 Char";margin:0cm;margin-bottom:.0001pt;text-align:center;mso-pagination:widow-orphan;layout-grid-mode:char;font-size:9.0pt;font-family:宋体;mso-bidi-font-family:宋体;}p.MsoFooter, li.MsoFooter, div.MsoFooter{mso-style-noshow:yes;mso-style-priority:99;mso-style-link:"页脚 Char";margin:0cm;margin-bottom:.0001pt;mso-pagination:widow-orphan;layout-grid-mode:char;font-size:9.0pt;font-family:宋体;mso-bidi-font-family:宋体;}p.MsoAcetate, li.MsoAcetate, div.MsoAcetate{mso-style-noshow:yes;mso-style-priority:99;mso-style-link:"批注框文本 Char";margin:0cm;margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:9.0pt;font-family:宋体;mso-bidi-font-family:宋体;}span.Char{mso-style-name:"页眉 Char";mso-style-noshow:yes;mso-style-priority:99;mso-style-unhide:no;mso-style-locked:yes;mso-style-link:页眉;font-family:宋体;mso-ascii-font-family:宋体;mso-fareast-font-family:宋体;mso-hansi-font-family:宋体;}span.Char0{mso-style-name:"页脚 Char";mso-style-noshow:yes;mso-style-priority:99;mso-style-unhide:no;mso-style-locked:yes;mso-style-link:页脚;font-family:宋体;mso-ascii-font-family:宋体;mso-fareast-font-family:宋体;mso-hansi-font-family:宋体;}span.Char1{mso-style-name:"批注框文本 Char";mso-style-noshow:yes;mso-style-priority:99;mso-style-unhide:no;mso-style-locked:yes;mso-style-link:批注框文本;font-family:宋体;mso-ascii-font-family:宋体;mso-fareast-font-family:宋体;mso-hansi-font-family:宋体;}p.msochpdefault, li.msochpdefault, div.msochpdefault{mso-style-name:msochpdefault;mso-style-unhide:no;mso-margin-top-alt:auto;margin-right:0cm;mso-margin-bottom-alt:auto;margin-left:0cm;mso-pagination:widow-orphan;font-size:10.0pt;font-family:宋体;mso-bidi-font-family:宋体;}span.msonormal0{mso-style-name:msonormal;mso-style-unhide:no;}.MsoChpDefault{mso-style-type:export-only;mso-default-props:yes;font-size:10.0pt;mso-ansi-font-size:10.0pt;mso-bidi-font-size:10.0pt;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman";mso-font-kerning:0pt;}/* Page Definitions */  @page WordSection1{size:595.3pt 841.9pt;margin:72.0pt 90.0pt 72.0pt 90.0pt;mso-header-margin:42.55pt;mso-footer-margin:49.6pt;mso-paper-source:0;}div.WordSection1{page:WordSection1;}';
     
                var styles = "";
     
                // Aggregate parts of the file together
                var fileContent = statics.mhtml.top.replace("_html_", statics.mhtml.head.replace("_styles_", styles) + statics.mhtml.body.replace("_body_", markup.html())) + mhtmlBottom;
     
                // Create a Blob with the file contents
                var blob = new Blob([fileContent], {
                    type: "application/msword;charset=utf-8"
                });
                saveAs(blob, fileName + ".doc");
            };
        })(jQuery);
    } else {
        if (typeof jQuery === "undefined") {
            console.error("jQuery Word Export: missing dependency (jQuery)");
        }
        if (typeof saveAs === "undefined") {
            console.error("jQuery Word Export: missing dependency (FileSaver.js)");
        }
    }
    

    和FileSaver.js源码

    /* FileSaver.js
     * A saveAs() FileSaver implementation.
     * 1.3.2
     * 2016-06-16 18:25:19
     *
     * By Eli Grey, http://eligrey.com
     * License: MIT
     *   See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md
     */
     
    /*global self */
    /*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */
     
    /*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
     
    var saveAs = saveAs || (function (view) {
        "use strict";
        // IE <10 is explicitly unsupported
        if (typeof view === "undefined" || typeof navigator !== "undefined" && /MSIE [1-9]\./.test(navigator.userAgent)) {
            return;
        }
        var
            doc = view.document
            // only get URL when necessary in case Blob.js hasn't overridden it yet
            , get_URL = function () {
                return view.URL || view.webkitURL || view;
            }
            , save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a")
            , can_use_save_link = "download" in save_link
            , click = function (node) {
                var event = new MouseEvent("click");
                node.dispatchEvent(event);
            }
            , is_safari = /constructor/i.test(view.HTMLElement)
            , is_chrome_ios = /CriOS\/[\d]+/.test(navigator.userAgent)
            , throw_outside = function (ex) {
                (view.setImmediate || view.setTimeout)(function () {
                    throw ex;
                }, 0);
            }
            , force_saveable_type = "application/octet-stream"
            // the Blob API is fundamentally broken as there is no "downloadfinished" event to subscribe to
            , arbitrary_revoke_timeout = 1000 * 40 // in ms
            , revoke = function (file) {
                var revoker = function () {
                    if (typeof file === "string") { // file is an object URL
                        get_URL().revokeObjectURL(file);
                    } else { // file is a File
                        file.remove();
                    }
                };
                setTimeout(revoker, arbitrary_revoke_timeout);
            }
            , dispatch = function (filesaver, event_types, event) {
                event_types = [].concat(event_types);
                var i = event_types.length;
                while (i--) {
                    var listener = filesaver["on" + event_types[i]];
                    if (typeof listener === "function") {
                        try {
                            listener.call(filesaver, event || filesaver);
                        } catch (ex) {
                            throw_outside(ex);
                        }
                    }
                }
            }
            , auto_bom = function (blob) {
                // prepend BOM for UTF-8 XML and text/* types (including HTML)
                // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF
                if (/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
                    return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type });
                }
                return blob;
            }
            , FileSaver = function (blob, name, no_auto_bom) {
                if (!no_auto_bom) {
                    blob = auto_bom(blob);
                }
                // First try a.download, then web filesystem, then object URLs
                var
                    filesaver = this
                    , type = blob.type
                    , force = type === force_saveable_type
                    , object_url
                    , dispatch_all = function () {
                        dispatch(filesaver, "writestart progress write writeend".split(" "));
                    }
                    // on any filesys errors revert to saving with object URLs
                    , fs_error = function () {
                        if ((is_chrome_ios || (force && is_safari)) && view.FileReader) {
                            // Safari doesn't allow downloading of blob urls
                            var reader = new FileReader();
                            reader.onloadend = function () {
                                var url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;');
                                var popup = view.open(url, '_blank');
                                if (!popup) view.location.href = url;
                                url = undefined; // release reference before dispatching
                                filesaver.readyState = filesaver.DONE;
                                dispatch_all();
                            };
                            reader.readAsDataURL(blob);
                            filesaver.readyState = filesaver.INIT;
                            return;
                        }
                        // don't create more object URLs than needed
                        if (!object_url) {
                            object_url = get_URL().createObjectURL(blob);
                        }
                        if (force) {
                            view.location.href = object_url;
                        } else {
                            var opened = view.open(object_url, "_blank");
                            if (!opened) {
                                // Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html
                                view.location.href = object_url;
                            }
                        }
                        filesaver.readyState = filesaver.DONE;
                        dispatch_all();
                        revoke(object_url);
                    }
                    ;
                filesaver.readyState = filesaver.INIT;
     
                if (can_use_save_link) {
                    object_url = get_URL().createObjectURL(blob);
                    setTimeout(function () {
                        save_link.href = object_url;
                        save_link.download = name;
                        click(save_link);
                        dispatch_all();
                        revoke(object_url);
                        filesaver.readyState = filesaver.DONE;
                    });
                    return;
                }
     
                fs_error();
            }
            , FS_proto = FileSaver.prototype
            , saveAs = function (blob, name, no_auto_bom) {
                return new FileSaver(blob, name || blob.name || "download", no_auto_bom);
            }
            ;
        // IE 10+ (native saveAs)
        if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) {
            return function (blob, name, no_auto_bom) {
                name = name || blob.name || "download";
     
                if (!no_auto_bom) {
                    blob = auto_bom(blob);
                }
                return navigator.msSaveOrOpenBlob(blob, name);
            };
        }
     
        FS_proto.abort = function () { };
        FS_proto.readyState = FS_proto.INIT = 0;
        FS_proto.WRITING = 1;
        FS_proto.DONE = 2;
     
        FS_proto.error =
            FS_proto.onwritestart =
            FS_proto.onprogress =
            FS_proto.onwrite =
            FS_proto.onabort =
            FS_proto.onerror =
            FS_proto.onwriteend =
            null;
     
        return saveAs;
    }(
        typeof self !== "undefined" && self
        || typeof window !== "undefined" && window
        || this.content
    ));
    // `self` is undefined in Firefox for Android content script context
    // while `this` is nsIContentFrameMessageManager
    // with an attribute `content` that corresponds to the window
     
    if (typeof module !== "undefined" && module.exports) {
        module.exports.saveAs = saveAs;
    } else if ((typeof define !== "undefined" && define !== null) && (define.amd !== null)) {
        define([], function () {
            return saveAs;
        });
    }
    

    HTML页面:

    <!DOCTYPE html>
    <html>
     
    <head lang="en">
        <meta charset="UTF-8">
        <title>html导出生成word文档</title>
    </head>
     
    <body>
        <div class="word">
            <h1>我们的梦想来自内心深处的孤独</h1>>
            <p align="center" style="font-size:20pt;font-weight:bold;">JS导出Word文档</p>
            <div>我们来自同一个世界</div>
        </div>
        <input type="button" value="导出word">
        <script src="https://cdn.bootcss.com/jquery/2.2.4/jquery.js"></script>
        <script type="text/javascript" src="FileSaver.js"></script>
        <script type="text/javascript" src="jquery.wordexport.js"></script>
        <script>
            $(function () {
                $("input[type='button']").click(function (event) {
                    $(".word").wordExport('word文档');
                });
            })
        </script>
    </body>
    </html>
    

    导出的html代码样式需要内联样式

    注意!!! 如果遇到 报错 $(…).wordExport is not a function

    $(function () {
       		//jquery  code
    
    })
    

    改为

    jQuery(document).ready(function($){
    
          //jquery  code
    
    });
    
    展开全文
  • 前言: ...下面就介绍两个导出word文档的方法。 法一:通过jquery.wordexport.js导出word 备注:兼容IE9以上 大概浏览了下jquery.wordexport.js插件的代码,了解到了通过该插件可以导出文本和图...
  • java导出mysql数据表的结构生成word文档

    万次阅读 热门讨论 2018-10-12 11:14:35
    使用sql查询表的结构是比较简单,其实这里难就是难在导出结构到word文档中。。。,使用poi-tl代码也简单 一、首先jdbc工具类,这个不多说了 public class SqlUtils { private static String url = "jdbc:...
  • React纯前端生成word文档(支持多图片导出)前言准备工作代码实现 前言 作为一个入职不就的前端小白来说,前段时间的项目中老大提了一个在我看来十分无理的需求,对!无理。他要求我用纯前端实现一个word文档导出...
  • C#生成Word文档

    2008-10-18 21:36:00
    h5 {mso-style-next:正文; margin-top:14.0pt; margin-right:0cm; margin-bottom:14.5pt; margin-left:6.0cm; text-align:justify; text-justify:inter-ideograph; text-indent:0cm; line-height:...
  • 通过freemarker生成一个word 解决生成word用wps打开有问题的问题,解决出word时中文文件名乱码问题
  • 自动化生成 H5 骨架页面

    千次阅读 2019-06-15 18:40:14
    自动化生成 H5 骨架页面 骨架页面(Skeleton Page)指的是当你打开一个移动端 web 页面,在页面解析和数据加载之前,首先给用户展示页面的大概样式。在骨架页面中,图片、文字、图标都将通过灰色矩形块或圆形块来...
  • 2、提取三级标题下的H5内容(包括表格、图片) 3、将三级标题内容提取为【一级类型】、【二级类型】 1.2、原word文件样式 参考样例文件:wordSample.docx 提取码:u794 2、设计思路 2.1、利用github...
  • web预览word、xls、ppt、pdf文件 <-- // word、ppt、xls文件实现在线预览的方式比较简单可以直接通过调用微软的在线预览功能实现 (预览前提:资源必须是公共可访问的) --> 文件路径' frameborder='1'>iframe> 预览...
  • 在企业应用中,快速将word转化为html帮助文档方法
  • 这次继续分享一个优秀的Vue H5在线拖拽编辑器项目h5Maker。vue+uniapp可视化拖拽布局设计器h5maker 基于vue.js的可视化布局编辑器。大致类似maka及易企秀。支持自定义拖放页面元素及配置属性/动画。支持动画及页面...
  • 虽然电子签名多年来合法性一直遭到质疑,但其在企业工作流审批、请柬、单据保全等场景应用广泛,最近的项目中就有这样一个手写签名并生成PDF文件的需求。 实现思路 使用canvas来实现手写签名的功能,然后将...
  • 这种方法因为要计算每个dom节点的高度,非常耗性能,也要求页面dom元素的颗粒度较细,否则会出现一个页面有大块空白,完全无法模拟出word生成pdf的那种效果,所以就不展开讨论了。如若有读者有比较好的解放方案,...
  • java使用POI转换word为Html的文章有很多,但是很少有涉及到目录解析的,包括一些付费的,开源的,甚至是office自带的另存为...功能都没有涉及到生成目录的。 本篇将介绍目录生成的基本原理和代码实现,windows,linux...
  • 生成二维码的JavaScript代码--qrcode.js /*from tccdn minify at 2014-6-4 14:59:43,file:/cn/c/c/qrcode.js*/ /** * @fileoverview * - Using the 'QRCode for Javascript library' * - F...
  • 这种方法因为要计算每个dom节点的高度,非常耗性能,也要求页面dom元素的颗粒度较细,否则会出现一个页面有大块空白,完全无法模拟出word生成pdf的那种效果,所以就不展开讨论了。如若有读者有比较好的解放方案,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,339
精华内容 1,735
关键字:

h5生成word