DevExpress中Word Processing Document API学习记录

文章目录

    • 1 文档结构划分
    • 2 文档操作基础
      • 2.1 Positions and Ranges
      • 2.2 Secitions
      • 2.3 Paragraphs
      • 2.4 Tables
      • 2.5 Lists
      • 2.6 Hyperlinks and Bookmarks
      • 2.7 Comments
      • 2.8 Headers and Footers
      • 2.9 Shapes and Pictures
      • 2.10 Watermarks
      • 2.11 Charts
      • 2.12 OLE Objects
      • 2.13 ActiveX Controls
      • 2.14 Custom XML Parts
      • 2.15 VBA Macros
    • 3 合并和拆分文档
      • 3.1 合并文档
      • 3.2 拆分文档
    • 4 导入和导出
      • 4.1 支持的格式
    • 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.6 Hyperlinks and Bookmarks

2.7 Comments

2.8 Headers and Footers

页眉、页脚

2.9 Shapes and Pictures

插入图片和图形

2.10 Watermarks

水印:褪色了的背景图

2.11 Charts

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

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+);
模板文件格式:

版本是否模板是否含宏文件结构现在是否推荐
.dot97-2003可含二进制仅兼容老系统
.dotx2007+ZIP+XML推荐(无宏)
.dotm2007+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 ;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/97984.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/97984.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Roo Code 的差异_快速编辑功能

什么是差异编辑? 简单来说,差异编辑就像是一位细心的装修师傅:他不会把整个房子拆掉重盖,而是精准地只修补需要改动的部分。Roo Code 的这项功能默认开启,它通过比对代码差异(diff)来实施修改&a…

【Axure高保真原型】标签树分类查询案例

今天和大家分享标签树分类查询案例的原型模版,效果包括: 树形分类——点击左侧树形里的箭头,可以展开或收起子级选项; 查询表格——点击标签树里的选项,如果是末级选项,可以筛选右侧表格用户标签&#xf…

容器化部署项目05

一、工作原理 镜像:容器的模板,包括容器运行时所需的数据 容器:运行中的进程,依赖镜像运行,镜像的具现化 镜像你可以把它看成Python中的类,而容器可以看做是类的实例化对象。 一个类可以有多个对象&#xf…

微信小程序 工作日历 周计划日报 修改等提报和状态展示功能,支持h5,Android ,ios,基于uniapp,适配vue2和vue3

Work-calendar 介绍 (底部附链接) 基于uni-calendar做的定制化开发,主要功能为工作日历展示和提报组件 ​ 1.支持周计划日报状态展示且可配置 ​ 2.支持农历展示配置,回到当日,月份切换 ​ 3.日历,周报…

openharmony 鸿蒙 下 利用蓝牙API(a2dp模块-高级音频,ble模块-低功耗蓝牙等)完成对蓝牙音响的控制(蓝牙广播)

1.首先是登录页面(利用webapi 和本地数据存储完成登陆操作) 2.添加设备(利用ble.startBLEScan 和 ble.on("BLEDeviceFind", onReceiveEvent);完成蓝牙扫描与显示) 3.蓝牙ble连接(利用ble.createGattClientDe…

17、逻辑回归与分类评估 - 从连续到离散的智能判断

学习目标:理解分类问题的本质和评估方法,掌握逻辑回归的数学原理和概率解释,学会二分类和多分类问题的处理方法,熟练使用分类评估指标,理解过拟合和正则化的基本概念。 > 从第16章到第17章:从预测数值到判断类别 在第16章中,我们学习了线性回归,解决的是预测连续数…

自动化脚本的核心引擎

自动化脚本作为现代软件开发与运维的重要工具,其核心引擎承担着解析指令、调度任务和执行逻辑的关键职能。这种引擎本质上是一个轻量级的运行时环境,通过预定义的规则集将人类可读的脚本语言转化为机器可执行的原子操作。在持续集成/持续交付&#xff08…

【Vue2 ✨】Vue2 入门之旅 · 进阶篇(九):Vue2 性能优化

在前几篇文章中,我们学习了 Vuex 的内部机制以及 Vue Router 的工作原理。本篇将深入探讨 Vue2 性能优化,帮助你掌握在开发中提升 Vue 应用性能的方法和技巧。 目录 性能优化的意义响应式系统优化虚拟 DOM 与渲染优化组件懒加载与按需渲染事件与计算属性…

【题解】B2600 【深基1.例2】简单的分苹果

题目描述 这里有 101010 个苹果,小 A 拿走了 222 个,Uim 拿走了 444 个,八尾勇拿走剩下的所有的苹果。我们想知道: 小A 和 Uim 两个人一共拿走多少苹果?八尾勇能拿走多少苹果? 现在需要编写一个程序&#x…

中小企业 4G 专网部署:性能与成本的最佳平衡

在数字化转型的浪潮中,中小企业同样需要安全、稳定和高效的通信网络。然而,传统专网的高成本和复杂部署往往成为阻碍。IPLOOK 提供的4G轻量级核心网与专网解决方案,正是帮助中小企业在性能与成本之间找到最佳平衡的关键。 中小企业的网络挑…

LeetCode每日一题,20250914

元音拼写检查器 思路 精确匹配 用 HashSet 保存原始单词&#xff0c;查询时直接判断是否存在。 大小写忽略匹配 用 HashMap<String, String> 保存 小写单词 -> 第一次出现的原始单词。用 putIfAbsent&#xff0c;确保只记录第一次出现的单词。 元音模糊匹配 把单词…

i2s_record_play

这章主要讲述i2s 1&#xff1a;环境及配件 esp32c3 esp32s3 idf5.4.1 INMP441 MAX98357A 都使用dma 2&#xff1a;eps32c3 测试 只有1个i2s 只能一边录 完 再播放 &#xff0c;内存太小&#xff0c;这里用 flash 存audio里 只说能 录音 能播放 &#xff0c;效果不好&#xff0…

Spring Boot 3 + EasyExcel 文件导入导出实现

SpringBoot集成EasyExcel 3.x&#xff1a;高效实现Excel数据的优雅导入与导出 在现代企业应用中&#xff0c;Excel作为数据交换的重要工具&#xff0c;几乎无处不在。如何高效且优雅地实现Excel数据的导入与导出&#xff0c;是每个开发者都需要面对的问题。EasyExcel是阿里巴巴…

Ruby编程实践:20个实用练习

1、编写一个程序,计算一年有多少小时。 以下是两种实现方式的代码: 方式一: puts 24*365方式二: puts 24*365 puts "(or #{24*366} on a leap year)"2、编写一个程序,计算十年中有多少分钟。 以下两种实现方式: 简单计算(未考虑闰年数量差异): ru…

逻辑回归(二):从原理到实战 - 训练、评估与应用指南

引言&#xff1a; 上期我们讲了什么是逻辑回归&#xff0c;了解了它如何利用Sigmoid函数将线性回归的输出转化为概率&#xff0c;并通过最大似然估计来寻找最佳参数。今天&#xff0c;我们将继续这段旅程&#xff0c;学习如何训练这个 模型、如何评估它的表现&#xff0c;以及如…

9.8C++作业

思维导图#include <iostream> #include <vector> #include <fstream> using namespace std;class Stu {friend ofstream &operator<<(ofstream &ofs,const Stu &stu); private:string name;string id;int age;double score; public:Stu(){…

Linux内存管理章节十六:非均匀的内存访问:深入Linux NUMA架构内存管理

引言 在传统的SMP&#xff08;对称多处理&#xff09;系统中&#xff0c;所有CPU核心通过一条共享总线访问同一块内存&#xff0c;所有内存访问延迟是均匀的&#xff08;UMA&#xff09;。然而&#xff0c;随着CPU核心数量的增加&#xff0c;共享总线成为了巨大的性能和 scalab…

【论文翻译】Seg-Zero: Reasoning-Chain Guided Segmentation via Cognitive Reinforcement

0. 摘要Traditional methods for reasoning segmentation rely on supervised fine-tuning with categorical labels and simple descriptions, limiting its out-of-domain generalization and lacking explicit reasoning processes. To address these limitations, we propo…

Playwright MCP浏览器自动化教程

你是否曾厌倦在编程软件和浏览器之间反复切换&#xff0c;只为了检查AI生成的代码能否正常运行&#xff1f;现在&#xff0c;有了Playwright MCP&#xff08;Model Context Protocol&#xff09;&#xff0c;你可以直接让AI自己操作浏览器&#xff0c;查看自己写的代码运行效果…

矩阵中遍历某个点周围的九个点

又是学习新知识的一天,以下为Java版本部分关键代码int[] neighbors {0, 1, -1};int rows board.length;int cols board[0].length;int[][] copyBoard new int[rows][cols];for (int row 0; row < rows; row) {for (int col 0; col < cols; col) {int liveNeighbors…