学习C#调用OpenXml操作word文档的基本用法(13:学习文档设置类)

  OpenXml中使用DocumentSettingsPart类保存Word文档的文档级设置,例如文档保护、字段更新行为等信息。采用解压缩软件打开Word文档,其内的word文件夹中有独立的settings.xml文件,用于保存文档设置信息。
  1)WriteProtection属性:用于文档的写入保护设置。 写入保护是指无法编辑文档内容的模式,并且不能使用相同的文件名重新保存文档。类型为WriteProtection,其主要属性如下表所示:

序号 名称 说明
1 Recommended 在用户界面中推荐写入保护,OnOffValue类型
2 CryptographicProviderType 加密提供程序类型,从枚举值CryptProviderValues内取值,如RsaFull、Custom等
3 CryptographicAlgorithmClass 加密算法类,从枚举值CryptAlgorithmClassValues内取值,如Hash、Custom等
4 CryptographicAlgorithmType 加密算法类型,从枚举值CryptAlgorithmValues内取值,如TypeAny、Custom等
5 CryptographicAlgorithmSid 加密哈希算法,类型为Int32Value,如1(MD2)、2(MD4)、3(MD5)、4(SHA-1)等,详细介绍见参考文献5
6 CryptographicSpinCount 运行哈希算法的迭代次数,类型为UInt32Value
7 CryptographicProvider 加密提供程序,字符串类型
8 AlgorithmIdExtensibility 加密算法扩展性,此值应基于特性的值 algIdExtSource 进行解释,以确定使用的算法,
9 AlgorithmIdExtensibilitySource 算法扩展性源,指定定义特性指定的algIdExt算法值的应用程序
10 CryptographicProviderTypeExtensibility 加密提供程序类型扩展性,指定已使用Office Open XML标准版未定义的加密提供程序类型来生成随本文档一起存储的哈希值
11 CryptographicProviderTypeExtSource 提供程序类型扩展性源,指定定义由 cryptProviderTypeExt 特性指定的提供程序类型值的应用程序
12 Hash 密码哈希,指定随文档一起存储的密码的哈希值
13 Salt 密码验证程序
14 AlgorithmName 指定自定义加密算法的名称

  2)View属性:用于文档视图设置,指定应用程序打开时应显示文档内容的方式,类型为View,从枚举值ViewValues内取值。

  3)Zoom属性:用于放大设置,指定应用程序显示文档时应应用于文档的放大级别,类型为Zoom,主要包括Percent 、Val,前者设置缩放百分比,后者从枚举值PresetZoomValues内取值。

  4)RemovePersonalInformation属性:设置是否从文档属性中删除个人信息,类型为RemovePersonalInformation,布尔值类型。
  5)RemoveDateAndTime属性:设置是否从批注中删除日期和时间,类型为RemoveDateAndTime,布尔值类型。
  6)DoNotDisplayPageBoundaries属性:设置是否显示页眉/页脚或页之间的视觉边界,类型为DoNotDisplayPageBoundaries,布尔值类型。
  7)DisplayBackgroundShape属性:设置是否显示文档时显示背景对象,类型为DisplayBackgroundShape,布尔值类型。
  8)PrintPostScriptOverText属性:设置是否使用文档文本打印PostScript代码,类型为PrintPostScriptOverText,布尔值类型。
  9)PrintFractionalCharacterWidth属性:设置是否打印小数字符宽度,类型为PrintFractionalCharacterWidth,布尔值类型。
  10)PrintFormsData属性:设置是否仅打印表单字段内容,类型为PrintFormsData,布尔值类型。
  11)EmbedTrueTypeFonts属性:设置是否嵌入TrueType字体,类型为EmbedTrueTypeFonts,布尔值类型。
  12)EmbedSystemFonts属性:设置是否嵌入通用系统字体,类型为EmbedSystemFonts,布尔值类型。
  13)SaveSubsetFonts属性:设置是否保存嵌入时的子集字体,类型为SaveSubsetFonts,布尔值类型。
  14)SaveFormsData属性:设置是否仅保存表单字段内容,类型为SaveFormsData,布尔值类型。
  15)MirrorMargins属性:设置是否启用镜像页边距,类型为MirrorMargins,布尔值类型。
  16)AlignBorderAndEdges属性:设置是否将段落边框和表格边框与页面边框对齐,类型为AlignBorderAndEdges,布尔值类型。
  17)BordersDoNotSurroundHeader属性:设置是否页面边框排除页眉,类型为BordersDoNotSurroundHeader,布尔值类型。
  18)BordersDoNotSurroundFooter属性:设置是否页面边框排除页脚,类型为BordersDoNotSurroundFooter,布尔值类型。
  19)GutterAtTop属性:设置是否将Gutter置于页面顶部,类型为GutterAtTop,布尔值类型。
  20)HideSpellingErrors属性:设置是否隐藏拼写错误的视觉指示,类型为HideSpellingErrors,布尔值类型。
  21)HideGrammaticalErrors属性:设置是否隐藏语法错误的视觉指示,类型为HideGrammaticalErrors,布尔值类型。

参考文献

1https://github.com/dotnet/Open-XML-SDK

2https://learn.microsoft.com/zh-cn/office/open-xml/open-xml-sdk

3https://learn.microsoft.com/zh-cn/dotnet/api/documentformat.openxml.wordprocessing.style?view=openxml-3.0.1

4https://blog.csdn.net/i042416/article/details/126228816

5https://learn.microsoft.com/zh-cn/dotnet/api/documentformat.openxml.wordprocessing.writeprotection.cryptographicalgorithmsid?view=openxml-3.0.1

相关推荐
农村小镇哥8 小时前
怎么把HTM格式转化成WORD
ui·c#·word
AC赳赳老秦9 小时前
网页公开附件自动采集:OpenClaw 批量下载页面内嵌 Word/Excel 附件,统一格式后结构化入库
java·python·word·php·excel·deepseek·openclaw
asdzx671 天前
Java 实战:基于 Spire.Doc 高效提取 Word 文档文本与图片
java·c#·word
VBAMatrix1 天前
表格导航!实现Word合并附注与多个Excel的数据同步
word·excel·审计报告·审计·会计师事务所·报告工具
DS随心转小程序2 天前
文心文字怎么转为 word?告别繁琐排版操作,AI 导出鸭一站式完成文档转换工作
人工智能·word·豆包·deepseek·ai导出鸭
AI导出鸭3 天前
怎么让千问做表格?AI导出鸭苹果版将千问输出的管道表格智能解析为二维结构,一键导出为Excel或Word标准表格。
人工智能·chatgpt·word·excel·ai导出鸭
zyplayer-doc3 天前
zyplayer-doc企业知识库能做什么:从文档创建、权限管理到AI问答的完整能力
大数据·javascript·数据库·人工智能·pdf·word
zyplayer-doc4 天前
企业文档改错或误删后怎么办:zyplayer-doc编辑历史、版本回滚和回收站怎么用
大数据·开发语言·javascript·数据库·pdf·word
Ai-_Man5 天前
豆包智能体内容批量导出:哪些该存、存成什么、怎么存v
人工智能·ai·小程序·word
weixin_416660075 天前
解决方案:DeepSeek不支持直接导出Word
word