MsWordVersion
Contents
[
Hide
]MsWordVersion enumeration
Allows Aspose.Wods to mimic MS Word version-specific application behavior.
public enum MsWordVersion
Values
Name | Value | Description |
---|---|---|
Word2000 | 0 | Optimize Aspose.Words behavior to match MS Word 2000 version. |
Word2002 | 1 | Optimize Aspose.Words behavior to match MS Word 2002 version. |
Word2003 | 2 | Optimize Aspose.Words behavior to match MS Word 2003 version. |
Word2007 | 3 | Optimize Aspose.Words behavior to match MS Word 2007 version. |
Word2010 | 4 | Optimize Aspose.Words behavior to match MS Word 2010 version. |
Word2013 | 5 | Optimize Aspose.Words behavior to match MS Word 2013 version. |
Word2016 | 6 | Optimize Aspose.Words behavior to match MS Word 2016 version. |
Word2019 | 7 | Optimize Aspose.Words behavior to match MS Word 2019 version. |
Examples
Shows how to optimize the document for different versions of Microsoft Word.
public void OptimizeFor()
{
Document doc = new Document();
// This object contains an extensive list of flags unique to each document
// that allow us to facilitate backward compatibility with older versions of Microsoft Word.
CompatibilityOptions options = doc.CompatibilityOptions;
// Print the default settings for a blank document.
Console.WriteLine("\nDefault optimization settings:");
PrintCompatibilityOptions(options);
// We can access these settings in Microsoft Word via "File" -> "Options" -> "Advanced" -> "Compatibility options for...".
doc.Save(ArtifactsDir + "CompatibilityOptions.OptimizeFor.DefaultSettings.docx");
// We can use the OptimizeFor method to ensure optimal compatibility with a specific Microsoft Word version.
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>
/// Groups all flags in a document's compatibility options object by state, then prints each group.
/// </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}");
}
}
}
See Also
- namespace Aspose.Words.Settings
- assembly Aspose.Words