反馈
本主题讨论 WordprocessingML 文档的基本结构并回顾重要的 Open XML SDK 类,该类通常用于创建 WordprocessingML 文档。
WordProcessingML 文档的基本文档结构由 <document> 和 <body> 元素组成,后跟一个或多个块级元素,例如代表 paragraph 的 <p>。 paragraph 包含一个或多个 <r> 元素。 <r> 代表 run,它是具有一组共同属性(如格式设置)的文本区域。 run 包含一个或多个 <t> 元素。 <t> 元素包含文本范围。
[](#important-wordprocessingml-parts)
Open XML SDK 2.5 API 在 DocumentFormat.OpenXML.WordprocessingML 命名空间中提供强类型类,与 WordprocessingML 元素对应。
下表列出一些重要的 WordprocessingML 元素、这些元素所对应的 WordprocessingML 文档包部分(如果适用),以及表示 Open XML SDK 2.5 API 中的元素的托管类。
包部分
WordprocessingML 元素
Open XML SDK 2.5 类
说明
主文档
document
主文档部分的根元素。
评论
comments
批注部分的根元素。
文档设置
settings
文档设置部分的根元素。
尾注
endnotes
尾注部分的根元素。
页脚
ftr
页脚部分的根元素。
脚注
footnotes
脚注部分的根元素。
词汇表文档
glossaryDocument
术语表文档部分的根元素。
标头
hdr
页眉部分的根元素。
样式定义
styles
样式定义部分的根元素。
[](#minimum-document-scenario)
WordprocessingML 文档是根据文章概念组织的。 文章是 WordprocessingML 文档中的内容区域。 WordprocessingML 文章包括:
并非所有文章都必须存在于有效的 WordprocessingML 文档中。 最简单、有效的 WordprocessingML 文档只需要一个文章 - 主文档文章。 在 WordprocessingML 中,主文档文章由主文档部分表示。 至少,若要使用代码创建有效的 WordprocessingML 文档,请向该文档添加主文档部分。
ISO/IEC 29500 中的以下信息介绍为完成最小文档方案,主文档部分中所需的 WordprocessingML 元素。
最简单的 WordprocessingML 文档的主文档文章包括以下 XML 元素:
document - WordprocessingML 的主文档部件的根元素,用于定义主文档文章。
body - 包含主文章的块级别结构集合的容器。
p - 一个段落。
r - 一段连续文本。
t - 一个文本范围。
© ISO/IEC29500: 2008.
[](#open-xml-sdk-code-example)
以下代码使用 Open XML SDK 2.5 来创建包含文本"Hello, Word!"的简单 WordprocessingML 文档
C# 复制
public static void CreateWordDoc(string filepath, string msg)
{
using (WordprocessingDocument doc = WordprocessingDocument.Create(filepath, DocumentFormat.OpenXml.WordprocessingDocumentType.Document))
{
// Add a main document part.
MainDocumentPart mainPart = doc.AddMainDocumentPart();
// Create the document structure and add some text.
mainPart.Document = new Document();
Body body = mainPart.Document.AppendChild(new Body());
Paragraph para = body.AppendChild(new Paragraph());
Run run = para.AppendChild(new Run());
// String msg contains the text, "Hello, Word!"
run.AppendChild(new Text(msg));
}
}
VB 复制
Public Shared Sub CreateWordDoc(filepath As String, msg As String)
Using doc As WordprocessingDocument = WordprocessingDocument.Create(filepath, DocumentFormat.OpenXml.WordprocessingDocumentType.Document)
' Add a main document part.
Dim mainPart As MainDocumentPart = doc.AddMainDocumentPart()
' Create the document structure and add some text.
mainPart.Document = New Document()
Dim body As Body = mainPart.Document.AppendChild(New Body())
Dim para As Paragraph = body.AppendChild(New Paragraph())
Dim run As Run = para.AppendChild(New Run())
' String msg contains the text, "Hello, Word!"
run.AppendChild(New Text(msg))
End Using
End Sub
[](#generated-wordprocessingml)
在前一节中运行 Open XML SDK 2.5 代码生成文档后,可以浏览 .zip 包内容以查看 WordprocessingML XML 代码。 To view the .zip package, rename the extension on the minimum document from .docx to .zip. .zip 包包含构成文档的部分。 本例中,由于代码创建了最小 WordprocessingML 文档,因此只有单个部分,即主文档部分。下图在 .zip 包的 word 文件夹下显示了包含单行文本的最小文档的结构。图画占位符document.xml 文件对应于 WordprocessingML 主文档部分,这是包含文档主正文内容的部分。 在上一节中运行 Open XML SDK 2.5 代码时,将在 document.xml 文件中生成以下 XML 代码。
XML 复制
<?xml version="1.0" encoding="utf-8"?>
<w:document xmlns:w="https://schemas.openxmlformats.org/wordprocessingml/2006/main">
<w:body>
<w:p>
<w:r>
<w:t>Hello, Word!</w:t>
</w:r>
</w:p>
</w:body>
</w:document
[](#typical-document-scenario)
典型文档不会是空白的最小文档。 例如,典型文档可能包含批注、标题、页脚、脚注和尾注。 所有这些其他部分都包含在字处理文档的 zip 包中。
下图显示典型文档中包含的许多部分。
图 1. 典型文档结构
原网址: 访问
创建于: 2023-06-02 13:05:16
目录: default
标签: 无
未标明原创文章均为采集,版权归作者所有,转载无需和我联系,请注明原出处,南摩阿彌陀佛,知识,不只知道,要得到
java windows火焰图_mob64ca12ec8020的技术博客_51CTO博客 - 在windows下不可行,不知道作者是怎样搞的 监听SpringBoot 服务启动成功事件并打印信息_监听springboot启动完毕-CSDN博客 SpringBoot中就绪探针和存活探针_management.endpoint.health.probes.enabled-CSDN博客 u2u转换板 - 嘉立创EDA开源硬件平台 Spring Boot 项目的轻量级 HTTP 客户端 retrofit 框架,快来试试它!_Java精选-CSDN博客 手把手教你打造一套最牛的知识笔记管理系统! - 知乎 - 想法有重合-理论可参考 安宇雨 闲鱼 机械键盘 客制化 开贴记录 文本 linux 使用find命令查找包含某字符串的文件_beijihukk的博客-CSDN博客_find 查找字符串 ---- mac 也适用 安宇雨 打字音 记录集合 B站 bilibili 自行搭建 开坑 真正的客制化 安宇雨 黑苹果开坑 查找工具包maven pom 引用地 工具网站 Dantelis 介绍的玩轴入坑攻略 --- 关于轴的一些说法 --- 非官方 ---- 心得而已 --- 长期开坑更新 [本人问题][新开坑位]关于自动化测试的工具与平台应用 机械键盘 开团 网站记录 -- 能做一个收集的程序就好了 不过现在没时间 -- 信息大多是在群里发的 - 你要让垃圾佬 都去一个地方看难度也是很大的 精神支柱 [超级前台]sprinbboot maven superdesk-app 记录 [信息有用] [环境准备] [基本完成] [sebp/elk] 给已创建的Docker容器增加新的端口映射 - qq_30599553的博客 - CSDN博客 [正在研究] Elasticsearch, Logstash, Kibana (ELK) Docker image documentation elasticsearch centos 安装记录 及 启动手记 正式服务器 39 elasticsearch 问题合集 不断更新 6.1.1 | 6.5.1 两个版本 博客程序 - 测试 - bug记录 等等问题 laravel的启动过程解析 - lpfuture - 博客园 OAuth2 Server PHP 用 Laravel 搭建带 OAuth2 验证的 RESTful 服务 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 利用Laravel 搭建oauth2 API接口 附 Unauthenticated 解决办法 - 煮茶的博客 - SegmentFault 思否 使用 OAuth2-Server-php 搭建 OAuth2 Server - 午时的海 - 博客园 基于PHP构建OAuth 2.0 服务端 认证平台 - Endv - 博客园 Laravel 的 Artisan 命令行工具 Laravel 的文件系统和云存储功能集成 浅谈Chromium中的设计模式--终--Observer模式 浅谈Chromium中的设计模式--二--pre/post和Delegate模式 浅谈Chromium中的设计模式--一--Chromium中模块分层和进程模型 DeepMind 4 Hacking Yourself README.md update 20211011
Laravel China 简书 知乎 博客园 CSDN博客 开源中国 Go Further Ryan是菜鸟 | LNMP技术栈笔记 云栖社区-阿里云 Netflix技术博客 Techie Delight Linkedin技术博客 Dropbox技术博客 Facebook技术博客 淘宝中间件团队 美团技术博客 360技术博客 古巷博客 - 一个专注于分享的不正常博客 软件测试知识传播 - 测试窝 有赞技术团队 阮一峰 语雀 静觅丨崔庆才的个人博客 软件测试从业者综合能力提升 - isTester IBM Java 开发 使用开放 Java 生态系统开发现代应用程序 pengdai 一个强大的博主 HTML5资源教程 | 分享HTML5开发资源和开发教程 蘑菇博客 - 专注于技术分享的博客平台 个人博客-leapMie 流星007 CSDN博客 - 舍其小伙伴 稀土掘金 Go 技术论坛 | Golang / Go 语言中国知识社区
最新评论