DevExpress中Word Processing Document API学习记录

文章目录

    • [1 文档结构划分](#1 文档结构划分)
    • [2 文档操作基础](#2 文档操作基础)
      • [2.1 Positions and Ranges](#2.1 Positions and Ranges)
      • [2.2 Secitions](#2.2 Secitions)
      • [2.3 Paragraphs](#2.3 Paragraphs)
      • [2.4 Tables](#2.4 Tables)
      • [2.5 Lists](#2.5 Lists)
      • [2.6 Hyperlinks and Bookmarks](#2.6 Hyperlinks and Bookmarks)
      • [2.7 Comments](#2.7 Comments)
      • [2.8 Headers and Footers](#2.8 Headers and Footers)
      • [2.9 Shapes and Pictures](#2.9 Shapes and Pictures)
      • [2.10 Watermarks](#2.10 Watermarks)
      • [2.11 Charts](#2.11 Charts)
      • [2.12 OLE Objects](#2.12 OLE Objects)
      • [2.13 ActiveX Controls](#2.13 ActiveX Controls)
      • [2.14 Custom XML Parts](#2.14 Custom XML Parts)
      • [2.15 VBA Macros](#2.15 VBA Macros)
    • [3 合并和拆分文档](#3 合并和拆分文档)
      • [3.1 合并文档](#3.1 合并文档)
      • [3.2 拆分文档](#3.2 拆分文档)
    • [4 导入和导出](#4 导入和导出)
      • [4.1 支持的格式](#4.1 支持的格式)
    • [5 字段域代码](#5 字段域代码)

1 文档结构划分

document→section→page/paragraphs,注意可以嵌套

2 文档操作基础

2.1 Positions and Ranges

位置和范围:

2.2 Secitions

分节符、分页符

2.3 Paragraphs

2.4 Tables

2.5 Lists

有序列表,无序列表

2.7 Comments

2.8 Headers and Footers

页眉、页脚

2.9 Shapes and Pictures

插入图片和图形

2.10 Watermarks

水印:褪色了的背景图

2.11 Charts

图表,使用之前必写代码:

js 复制代码
OfficeCharts.Instance.ActivateCrossPlatformCharts();

2.12 OLE Objects

在Word中,OLE技术(Object Linking and Embedding,对象链接与嵌入)是一种允许用户将其他应用程序创建的对象(如Excel表格、PowerPoint幻灯片、PDF文件、图片等)插入到Word文档中的技术。它使得不同应用程序之间可以共享和复用内容,增强文档的交互性和丰富性。

2.13 ActiveX Controls

Word 中的 ActiveX 控件 是一种可编程的交互式组件,允许用户在文档中嵌入如按钮、文本框、下拉列表等控件,并通过 VBA 代码实现动态交互功能。它常用于制作电子表单、调查问卷、合同模板等需要用户输入的文档。

注意:ActiveX 控件可能被执行恶意代码,微软已在 Office 2024 和 Microsoft 365 中默认禁用 。

2.14 Custom XML Parts

Word 中的 Custom XML Parts(自定义 XML 部件) 是一种将任意 XML 数据"隐形"嵌入 .docx 文件的技术。

它不会出现在正文、页眉页脚或任何可见区域,却能在后台为文档提供结构化数据,供内容控件、外接程序或第三方系统读写,实现"数据与格式分离"的模板化、自动化场景。

2.15 VBA Macros

Word 中的 VBA 宏

= 用 Visual Basic for Applications 写的小程序,保存在 .doc(m) 或 .dot(m) 里,

一键自动完成"重复、繁琐、容易出错"的手工操作------本质上就是 让 Word 当"脚本解释器"。

3 合并和拆分文档

3.1 合并文档

注意:合并文档时,不同页面有不同的格式需特殊处理;不同页眉页脚也需特殊处理;

3.2 拆分文档

4 导入和导出

4.1 支持的格式

Plain Text:纯文本;

Rich Text Format:带格式的文本源码,比纯文本大,比doc轻量;

DOCX:

DOC:

DOCM:启用宏的word文档(2007+);

模板文件格式:

版本 是否模板 是否含宏 文件结构 现在是否推荐
.dot 97-2003 可含 二进制 仅兼容老系统
.dotx 2007+ ZIP+XML 推荐(无宏)
.dotm 2007+ ZIP+XML 推荐(有宏)

WordML:是 Microsoft 在 Office 2003 时代推出的一种基于 XML 的纯文本文件格式,用于完整描述 Word 文档的内容、样式与结构,文件扩展名通常就是 .xml;

FlatOpc (XML):单文件xml文件,用于传输和存储,可转会标准文档;

FlatOpcMacroEnabled (XML):以上含宏;

FlatOpcTemplate (XML):单文件xml文件,模板不含宏;

FlatOpcMacroEnabledTemplate (XML):同上含宏;

MHT:.mht(或 .mhtml)并不是 Word 的默认格式,而是一种 网页归档格式(MIME HTML)。它可以将整个网页(包括 HTML、图片、CSS 等)打包成一个单一文件;

HTML:纯静态网页;

ODT:Word 能无缝读写 ODT,但"能存"≠"100% 保真";跨平台协作前先测一版,确认公式、宏、字体没问题再大规模使用;

PDF:不支持。

5 字段域代码

AUTHOR:作者,Non-MailMerge ;

COMMENTS:备注,Non-MailMerge ;

CREATEDATE:创建时间;

DATE:当前日期,Non-MailMerge ;

DOCPROPERTY:文档信息域(插入 → 文档部件 → 字段),Non-MailMerge ;

DOCVARIABLE:文档自动化域(插入 → 文档部件 → 域 → 类别选"文档自动化" → 域名选 DocVariable → 在"新名称"里填变量名);

HYPERLINK:超链接域,Non-MailMerge;

IF:

INCLUDEPICTURE:插入图片;

KEYWORDS:关键词文档属性域,Non-MailMerge;

LASTSAVEDBY:最后一次保存者,Non-MailMerge ;

MERGEFIELD:邮件合并专用域;

NUMPAGES:总页数,Non-MailMerge;

PAGE:页码,Non-MailMerge;

PRINTDATE:最后打印日期,Non-MailMerge ;

REF:交叉引用,Non-MailMerge ;

REVNUM:文档修订次数,Non-MailMerge ;

SAVEDATE:文档最后保存时间,Non-MailMerge ;

SECTIONPAGES:本节总页数,没有分节, 结果与 NUMPAGES 相同,Non-MailMerge ;

SEQ:按顺序标号,Non-MailMerge ;

STYLEREF:从当前文档中查找并显示具有指定样式的最近文本,Non-MailMerge ;

SUBJECT:把【文件属性】里"主题(Subject)"那一栏的内容搬到文档里来,Non-MailMerge ;

SYMBOL:按"字符编码"把某个符号插进来,Non-MailMerge ;

TC:手动设置目录内容,Non-MailMerge ;

TEMPLATE:实时显示使用的模板路径,Non-MailMerge ;

TIME:当前时间,Non-MailMerge ;

TITLE:本文档标题,Non-MailMerge ;

TOC:目录,Non-MailMerge ;

相关推荐
半夏知半秋2 小时前
基于跳跃表的zset实现解析(lua版)
服务器·开发语言·redis·学习·lua
棉晗榜2 小时前
C#写字符串到Modbus中
c#·modbus
AnySpaceOne2 小时前
PDF转Word在线转换教程:多种实用方法分享
学习·pdf·word
在路上`8 小时前
前端学习之后端java小白(四)之数据库设计
sql·学习
咔咔学姐kk10 小时前
大模型微调技术宝典:Transformer架构,从小白到专家
人工智能·深度学习·学习·算法·transformer
Jayyih11 小时前
嵌入式系统学习Day35(sqlite3数据库)
数据库·学习·sqlite
Hello.Reader12 小时前
从零到一上手 Protocol Buffers用 C# 打造可演进的通讯录
java·linux·c#
lingggggaaaa13 小时前
小迪安全v2023学习笔记(八十一讲)—— 框架安全&ThinkPHP&Laravel&Struts2&SpringBoot&CVE复现
笔记·学习·struts·安全·网络安全·laravel
浪扼飞舟13 小时前
c#基础(一)
开发语言·c#