OoxmlSaveOptions

OoxmlSaveOptions class

Can be used to specify additional options when saving a document into the Docx, Docm, Dotx, Dotm or FlatOpc format.

To learn more, visit the Specify Save Options documentation article.

public class OoxmlSaveOptions : SaveOptions

Constructors

NameDescription
OoxmlSaveOptions()Initializes a new instance of this class that can be used to save a document in the Docx format.
OoxmlSaveOptions(SaveFormat)Initializes a new instance of this class that can be used to save a document in the Docx, Docm, Dotx, Dotm or FlatOpc format.

Properties

NameDescription
AllowEmbeddingPostScriptFonts { get; set; }Gets or sets a boolean value indicating whether to allow embedding fonts with PostScript outlines when embedding TrueType fonts in a document upon it is saved. The default value is false.
Compliance { get; set; }Specifies the OOXML version for the output document. The default value is Ecma376_2006.
CompressionLevel { get; set; }Specifies the compression level used to save document. The default value is Normal.
CustomTimeZoneInfo { get; set; }Gets or sets custom local time zone used for date/time fields.
DefaultTemplate { get; set; }Gets or sets path to default template (including filename). Default value for this property is empty string (Empty).
DigitalSignatureDetails { get; set; }Gets or sets DigitalSignatureDetails object used to sign a document.
Dml3DEffectsRenderingMode { get; set; }Gets or sets a value determining how 3D effects are rendered.
virtual DmlEffectsRenderingMode { get; set; }Gets or sets a value determining how DrawingML effects are rendered.
DmlRenderingMode { get; set; }Gets or sets a value determining how DrawingML shapes are rendered.
ExportGeneratorName { get; set; }When true, causes the name and version of Aspose.Words to be embedded into produced files. Default value is true.
ImlRenderingMode { get; set; }Gets or sets a value determining how ink (InkML) objects are rendered.
KeepLegacyControlChars { get; set; }Keeps original representation of legacy control characters.
MemoryOptimization { get; set; }Gets or sets value determining if memory optimization should be performed before saving the document. Default value for this property is false.
Password { get; set; }Gets/sets a password to encrypt document using ECMA376 Standard encryption algorithm.
PrettyFormat { get; set; }When true, pretty formats output where applicable. Default value is false.
ProgressCallback { get; set; }Called during saving a document and accepts data about saving progress.
override SaveFormat { get; set; }Specifies the format in which the document will be saved if this save options object is used. Can be Docx, Docm, Dotx, Dotm or FlatOpc.
TempFolder { get; set; }Specifies the folder for temporary files used when saving to a DOC or DOCX file. By default this property is null and no temporary files are used.
UpdateCreatedTimeProperty { get; set; }Gets or sets a value determining whether the CreatedTime property is updated before saving. Default value is false;
UpdateFields { get; set; }Gets or sets a value determining if fields of certain types should be updated before saving the document to a fixed page format. Default value for this property is true.
UpdateLastPrintedProperty { get; set; }Gets or sets a value determining whether the LastPrinted property is updated before saving.
UpdateLastSavedTimeProperty { get; set; }Gets or sets a value determining whether the LastSavedTime property is updated before saving.
UseAntiAliasing { get; set; }Gets or sets a value determining whether or not to use anti-aliasing for rendering.
UseHighQualityRendering { get; set; }Gets or sets a value determining whether or not to use high quality (i.e. slow) rendering algorithms.
Zip64Mode { get; set; }Specifies whether or not to use ZIP64 format extensions for the output document. The default value is Never.

Examples

Shows how to set an OOXML compliance specification for a saved document to adhere to.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// If we configure compatibility options to comply with Microsoft Word 2003,
// inserting an image will define its shape using VML.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2003);
builder.InsertImage(ImageDir + "Transparent background logo.png");

Assert.AreEqual(ShapeMarkupLanguage.Vml, ((Shape)doc.GetChild(NodeType.Shape, 0, true)).MarkupLanguage);

// The "ISO/IEC 29500:2008" OOXML standard does not support VML shapes.
// If we set the "Compliance" property of the SaveOptions object to "OoxmlCompliance.Iso29500_2008_Strict",
// any document we save while passing this object will have to follow that standard. 
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions
{
    Compliance = OoxmlCompliance.Iso29500_2008_Strict,
    SaveFormat = SaveFormat.Docx
};

doc.Save(ArtifactsDir + "OoxmlSaveOptions.Iso29500Strict.docx", saveOptions);

// Our saved document defines the shape using DML to adhere to the "ISO/IEC 29500:2008" OOXML standard.
doc = new Document(ArtifactsDir + "OoxmlSaveOptions.Iso29500Strict.docx");

Assert.AreEqual(ShapeMarkupLanguage.Dml, ((Shape)doc.GetChild(NodeType.Shape, 0, true)).MarkupLanguage);

See Also