Word模版之替换删除的实现(Word2003以上,XML,Schema)
来源:互联网 发布:jsp引入java包 编辑:程序博客网 时间:2024/05/08 12:21
最近做了一个关于Word模板的项目。
主要功能是基于一个Word 2003 XMl 形式的Word文档
1)删除不需要的章节,内容,图片。
2)替换章节,内容,图片。
一.首先是定制一个Schema文件,用来规范Word模板
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="urn:schemas-microsoft.memo"
targetNamespace="urn:schemas-microsoft.memo"
elementFormDefault="qualified">
<xsd:element name="ReplaceBlock" type="ReplaceBlockType"/>
<xsd:element name="ReplaceText" type="ReplaceTextType"/>
<xsd:complexType name="ReplaceBlockType" mixed="true">
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="ReplaceBlock" type="ReplaceBlockType" minOccurs="0"/>
<xsd:element name="ReplaceText" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ReplaceTextType" mixed="true">
<xsd:all>
</xsd:all>
</xsd:complexType>
</xsd:schema>
以上就内容就是定制了2各类型
1.ReplaceBlock 用来替换删除章
2.ReplaceText用来替换删文字
详细schema 内容参照 http://www.w3school.com.cn/schema/el_complextype.asp
然后打开Word->Tool->Template and Addin->XMLschema->Addschema (日文版的Word,直接翻译的,英文不知道对不对)
添加后Ctrl+F1打开侧栏,选到XMLDataStruct,然后就可以在Word中圈圈叉叉啦。(PS每个Tag都可以加自己的placeHolder,方便寻找)
最后保存成XML Word形式后,模板就建立好了。
二.替换
简单的说就是根据上面做好的 WordXML 去检索对应的XMLNode,然后把内容换掉。
至于怎么样找到需要替换的XMLNode,可以去MSDN上找一下。
检索就用 Xpath,如果要看WordXML的构造话,可以用XMLEditor,很好用。
Word里面图片保存的形式是Base64编码,要替换的话,把自己本机的图片转成Base64之后,替换掉即可。
就写这么点了,第一篇:)
- Word模版之替换删除的实现(Word2003以上,XML,Schema)
- 用word验证xml的schema
- xml-schema替换
- 对XML文档进行Schema校验的方法(适用于Framework2.0及以上版本)
- (三)XML之Schema
- XML简介之XML的Schema约束
- solr 5.5以上版本找不到Schema.xml
- XML - Schema之引入其他Schema的方式
- word------word怎么让复制以后的图片居中(word2003)
- poi操作word模板(word2003,word2007)
- 基于jdom实现xml的schema验证
- schema实现对xml的约束
- Word替换实现中英文混排文档中删除空格
- XML数据的底层结构之Schema
- Solr基础教程之Schema.xml(二)
- XML学习之 schema
- Xml Schema 之 指示器
- xml之schema
- Vray材质——金属材质
- 怎么修改我站的字体
- 天天入托记(二)
- java 使用eval.jar解析公式
- linux的HZ, Tick, xtime, Jiffies, RTC && mdelay() 与msleep()的区别
- Word模版之替换删除的实现(Word2003以上,XML,Schema)
- 简单FTP服务器的搭建(linux 、windows)
- flex 收集的资源(转帖)
- Vray材质学习笔记04——磨砂金属材质
- 类之间的关系
- BMP位图文件结构及VC操作
- JAVA动态代理的内部实现
- 在 MS SQL Server 中删除表
- Firefox中切换User-Agent请求头消息