MsWordVersion

MsWordVersion enumeration

允许 Aspose.Wods 模仿 MS Word 版本特定的应用程序行为。

public enum MsWordVersion

价值观

姓名价值描述
Word20000优化 Aspose.Words 行为以匹配 MS Word 2000 版本。
Word20021优化 Aspose.Words 行为以匹配 MS Word 2002 版本。
Word20032优化 Aspose.Words 行为以匹配 MS Word 2003 版本。
Word20073优化 Aspose.Words 行为以匹配 MS Word 2007 版本。
Word20104优化 Aspose.Words 行为以匹配 MS Word 2010 版本。
Word20135优化 Aspose.Words 行为以匹配 MS Word 2013 版本。
Word20166优化 Aspose.Words 行为以匹配 MS Word 2016 版本。
Word20197优化 Aspose.Words 行为以匹配 MS Word 2019 版本。

例子

演示如何针对不同版本的 Microsoft Word 优化文档。

public void OptimizeFor()
{
    Document doc = new Document();

    // 该对象包含每个文档特有的广泛标志列表
    // 这使我们能够促进与旧版本 Microsoft Word 的向后兼容性。
    CompatibilityOptions options = doc.CompatibilityOptions;

    // 打印空白文档的默认设置。
    Console.WriteLine("\nDefault optimization settings:");
    PrintCompatibilityOptions(options);

    // 我们可以通过“文件”-> 在 Microsoft Word 中访问这些设置“选项”-> “高级”-> “兼容选项...”。
    doc.Save(ArtifactsDir + "CompatibilityOptions.OptimizeFor.DefaultSettings.docx");

    // 我们可以使用 OptimizeFor 方法来确保与特定 Microsoft Word 版本的最佳兼容性。
    doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010);
    Console.WriteLine("\nOptimized for Word 2010:");
    PrintCompatibilityOptions(options);

    doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2000);
    Console.WriteLine("\nOptimized for Word 2000:");
    PrintCompatibilityOptions(options);
}

/// <summary>
/// 按状态对文档兼容性选项对象中的所有标志进行分组,然后打印每个组。
/// </summary>
private static void PrintCompatibilityOptions(CompatibilityOptions options)
{
    for (int i = 1; i >= 0; i--)
    {
        Console.WriteLine(Convert.ToBoolean(i) ? "\tEnabled options:" : "\tDisabled options:");
        SortedSet<string> optionNames = new SortedSet<string>();

        foreach (System.ComponentModel.PropertyDescriptor descriptor in System.ComponentModel.TypeDescriptor.GetProperties(options))
        {
            if (descriptor.PropertyType == Type.GetType("System.Boolean") && i == Convert.ToInt32(descriptor.GetValue(options)))
            {
                optionNames.Add(descriptor.Name);
            }
        }

        foreach (string s in optionNames)
        {
            Console.WriteLine($"\t\t{s}");
        }
    }
}

也可以看看