学习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

相关推荐
2501_930707783 天前
使用C#代码为新创建的 Word 文档创建目录
c#·word
SunnyDays10113 天前
Java 拆分 Word 文档教程:按页、分页符和分节符拆分
java·word·分页·拆分
copilot中国版4 天前
Word Copilot|一键提取文档关键信息,告别逐字阅读
word·copilot
天人合一peng6 天前
西北工业大学校外访问系统
word
古少侠6 天前
deepseek转word工具怎么选?DS随心转与4种方案对比实测
人工智能·word·powerpoint
小羊没烦恼!7 天前
Memory 记忆设计讨论:Agent Memory 的安全边界:权限、删除、版本与回执
java·大数据·word·powerpoint·.net
拆房老料7 天前
BaseMetas FileView 1.3.0 发布:大文件更稳,PDF 预览更完整
pdf·word·开源软件·ppt
weixin_416660077 天前
DeepSeek、豆包生成的表格怎么导出Excel,避免内容挤在一列?
word·豆包·deepseek
鲲穹AI种草9 天前
Word 文稿批量规范化处理,多款 Word 批量处理工具能力客观记录
word·批量处理·页面页脚
SunnyDays10119 天前
使用 Python 提取 Word 文档中的表格数据
python·word