如何在 .NET 中使用文档设置

如何在 .NET 中使用文档设置

本指南展示了如何在 Aspose.Words FOSS for .NET 中使用应用程序级别的文档设置:旧版兼容开关、连字符首选项、已存储的邮件合并配置、视图选项以及写保护。Aspose.Words FOSS for .NET 可通过 NuGet 获取,或通过源码构建。

分步指南

步骤 1:获取库

克隆仓库并构建 Aspose.Words.sln 使用 Release 配置,然后添加项目引用到 Aspose.Words.csproj 来自您自己的 .NET 项目,如在 安装指南。 添加 using Aspose.Words; and using Aspose.Words.Settings; 在读取或写入文档设置的任何文件顶部。


步骤 2:设置旧版兼容选项

Document.CompatibilityOptions(一个 CompatibilityOptions 实例)包含数十个布尔开关,用于复现特定的旧版 Word 布局和间距行为——例如 GrowAutofit、UseWord2010TableStyleRules、AdjustLineHeightInTable、AlignTablesRowByRow、NoExtraLineSpacing、SuppressSpacingAtTopOfPage 和 SpacingInWholePoints。直接设置您需要的各个属性;类中存在 OptimizeFor(MsWordVersion),但在此构建中会抛出 NotImplementedException,因此没有一次性应用完整版本配置的快捷方式。


步骤 3:配置连字符首选项

Document.HyphenationOptions(一个 HyphenationOptions 实例)存储文档的 Word 连字符首选项:AutoHyphenation、ConsecutiveHyphenLimit、HyphenateCaps 和 HyphenationZone。这些属性在保存的文件中来回传递请求;由于此版本没有页面布局引擎,连字符断点本身由 Word 在打开并分页文件时计算,而不是由 Aspose.Words FOSS 计算。


步骤 4:读取和写入邮件合并配置

Document.MailMergeSettings(一个 MailMergeSettings 实例)存储文档中记录的邮件合并配置——MainDocumentType、CheckErrors、Destination、DataSource、DataType、Query、ConnectString、MailSubject、MailAsAttachment、ActiveRecord 和 ViewMergedData——以及 Clear() 和 Clone()。对于通过 Word 的 Office Data Source Object 机制连接的外部数据源,MailMergeSettings.Odso 暴露一个 Odso 实例(DataSource、DataSourceType、TableName、ColumnDelimiter、FirstRowContainsColumnNames),其 FieldMapDatas 和 RecipientDatas 集合描述字段映射和收件人列表。读取和写入此存储的配置在此开源版本中可用;对实时数据源执行合并本身是另一个与本页范围无关的事项。


步骤 5:配置文档视图设置

Document.ViewOptions(一个 ViewOptions 实例)控制 Word 打开文件后的显示方式:ViewType、ZoomType、ZoomPercent、DisplayBackgroundShape、DoNotDisplayPageBoundaries 和 FormsDesign。这些属性是存储的首选项,仅影响 Word 对文档的显示——它们对 Aspose.Words FOSS 本身的处理没有任何影响。


步骤 6:应用写保护

Document.WriteProtection(一个 WriteProtection 实例)公开 IsWriteProtected 和 ReadOnlyRecommended,其中 SetPassword() 用于设置保护密码,ValidatePassword() 用于检查候选密码。请在设置 IsWriteProtected = true 之前调用 SetPassword(),并使用 ValidatePassword() 而不是自行存储或比较原始密码字符串。

常见问题与解决方案

CompatibilityOptions.OptimizeFor() throws NotImplementedException. 此方法在此构建中未实现。设置各个 CompatibilityOptions 布尔属性,直接按需设置即可。

Changing ViewOptions.ZoomPercent 对生成的输出没有可见的影响。 ViewOptions 是 Word 读取的已存储显示偏好,而不是 Aspose.Words FOSS 本身在处理时应用的。无需修复——这是预期的行为。

WriteProtection.ValidatePassword() 意外返回 false. SetPassword() 从未被调用,或者设置了不同的密码。调用 SetPassword() 首先以建立受保护的密码,然后再进行验证。

邮件合并配置已保存,但合并未运行。 MailMergeSettings and Odso 仅存储合并配置;此开源版并不执行合并本身。读取已存储的配置并根据其驱动您自己的字段填充逻辑。

常见问题

CompatibilityOptions.OptimizeFor() 能工作吗?

不——在此构建中它会抛出 NotImplementedException。直接设置所需的各个 CompatibilityOptions 属性。

我该如何对文档设置密码以防止编辑?

在 Document.WriteProtection 上调用 WriteProtection.SetPassword(),然后设置 IsWriteProtected 以启用保护。

当 Aspose.Words FOSS 处理文档时,HyphenationOptions 和 ViewOptions 会改变文档的外观吗?

不。这两者都是 Word 本身在打开并显示文件时应用的存储首选项;此版本没有页面布局引擎可以直接对其进行处理。

我在哪里可以找到外部数据源的邮件合并数据源配置?

MailMergeSettings.Odso — 其 FieldMapDatas 和 RecipientDatas 集合描述了列映射和收件人包含状态。

Document.CompatibilityOptions 和 Document.ViewOptions 有什么区别?

CompatibilityOptions 开关重现旧版 Word 的布局和间距怪癖;ViewOptions 控制 Word 自身界面如何显示文件(缩放、格式标记)。这两者都不是由 Aspose.Words FOSS 本身计算的。

另请参阅

 中文