HtmlSaveOptions
Contents
[
Hide
]HtmlSaveOptions class
Can be used to specify additional options when saving a document into the Html, Mhtml, Epub, Azw3 or Mobi format.
To learn more, visit the Specify Save Options documentation article.
public class HtmlSaveOptions : SaveOptions
Constructors
Name | Description |
---|---|
HtmlSaveOptions() | Initializes a new instance of this class that can be used to save a document in the Html format. |
HtmlSaveOptions(SaveFormat) | Initializes a new instance of this class that can be used to save a document in the Html, Mhtml, Epub, Azw3 or Mobi format. |
Properties
Name | Description |
---|---|
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 . |
AllowNegativeIndent { get; set; } | Specifies whether negative left and right indents of paragraphs are normalized when saving to HTML, MHTML or EPUB. Default value is false . |
CssClassNamePrefix { get; set; } | Specifies a prefix which is added to all CSS class names. Default value is an empty string and generated CSS class names have no common prefix. |
CssSavingCallback { get; set; } | Allows to control how CSS styles are saved when a document is saved to HTML, MHTML or EPUB. |
CssStyleSheetFileName { get; set; } | Specifies the path and the name of the Cascading Style Sheet (CSS) file written when a document is exported to HTML. Default is an empty string. |
CssStyleSheetType { get; set; } | Specifies how CSS (Cascading Style Sheet) styles are exported to HTML, MHTML or EPUB. Default value is Inline for HTML/MHTML and External for EPUB. |
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). |
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. |
DocumentPartSavingCallback { get; set; } | Allows to control how document parts are saved when a document is saved to HTML or EPUB. |
DocumentSplitCriteria { get; set; } | Specifies how the document should be split when saving to Html, Epub or Azw3 format. Default is None for HTML and HeadingParagraph for EPUB and AZW3. |
DocumentSplitHeadingLevel { get; set; } | Specifies the maximum level of headings at which to split the document. Default value is 2 . |
Encoding { get; set; } | Specifies the encoding to use when exporting to HTML, MHTML or EPUB. Default value is new UTF8Encoding(false) (UTF-8 without BOM). |
ExportCidUrlsForMhtmlResources { get; set; } | Specifies whether to use CID (Content-ID) URLs to reference resources (images, fonts, CSS) included in MHTML documents. Default value is false . |
ExportDocumentProperties { get; set; } | Specifies whether to export built-in and custom document properties to HTML, MHTML or EPUB. Default value is false . |
ExportDropDownFormFieldAsText { get; set; } | Controls how drop-down form fields are saved to HTML or MHTML. Default value is false . |
ExportFontResources { get; set; } | Specifies whether font resources should be exported to HTML, MHTML or EPUB. Default is false . |
ExportFontsAsBase64 { get; set; } | Specifies whether fonts resources should be embedded to HTML in Base64 encoding. Default is false . |
ExportGeneratorName { get; set; } | When true , causes the name and version of Aspose.Words to be embedded into produced files. Default value is true . |
ExportHeadersFootersMode { get; set; } | Specifies how headers and footers are output to HTML, MHTML or EPUB. Default value is PerSection for HTML/MHTML and None for EPUB. |
ExportImagesAsBase64 { get; set; } | Specifies whether images are saved in Base64 format to the output HTML, MHTML or EPUB. Default is false . |
ExportLanguageInformation { get; set; } | Specifies whether language information is exported to HTML, MHTML or EPUB. Default is false . |
ExportListLabels { get; set; } | Controls how list labels are output to HTML, MHTML or EPUB. Default value is Auto. |
ExportOriginalUrlForLinkedImages { get; set; } | Specifies whether original URL should be used as the URL of the linked images. Default value is false . |
ExportPageMargins { get; set; } | Specifies whether page margins is exported to HTML, MHTML or EPUB. Default is false . |
ExportPageSetup { get; set; } | Specifies whether page setup is exported to HTML, MHTML or EPUB. Default is false . |
ExportRelativeFontSize { get; set; } | Specifies whether font sizes should be output in relative units when saving to HTML, MHTML or EPUB. Default is false . |
ExportRoundtripInformation { get; set; } | Specifies whether to write the roundtrip information when saving to HTML, MHTML or EPUB. Default value is true for HTML and false for MHTML and EPUB. |
ExportShapesAsSvg { get; set; } | Controls whether Shape nodes are converted to SVG images when saving to HTML, MHTML, EPUB or AZW3. Default value is false . |
ExportTextInputFormFieldAsText { get; set; } | Controls how text input form fields are saved to HTML or MHTML. Default value is false . |
ExportTocPageNumbers { get; set; } | Specifies whether to write page numbers to table of contents when saving HTML, MHTML and EPUB. Default value is false . |
ExportXhtmlTransitional { get; set; } | Specifies whether to write the DOCTYPE declaration when saving to HTML or MHTML. When true , writes a DOCTYPE declaration in the document prior to the root element. Default value is false . When saving to EPUB or HTML5 (Html5) the DOCTYPE declaration is always written. |
FontResourcesSubsettingSizeThreshold { get; set; } | Controls which font resources need subsetting when saving to HTML, MHTML or EPUB. Default is 0 . |
FontSavingCallback { get; set; } | Allows to control how fonts are saved when a document is saved to HTML, MHTML or EPUB. |
FontsFolder { get; set; } | Specifies the physical folder where fonts are saved when exporting a document to HTML. Default is an empty string. |
FontsFolderAlias { get; set; } | Specifies the name of the folder used to construct font URIs written into an HTML document. Default is an empty string. |
HtmlVersion { get; set; } | Specifies version of HTML standard that should be used when saving the document to HTML or MHTML. Default value is Xhtml. |
ImageResolution { get; set; } | Specifies the output resolution for images when exporting to HTML, MHTML or EPUB. Default is 96 dpi . |
ImageSavingCallback { get; set; } | Allows to control how images are saved when a document is saved to HTML, MHTML or EPUB. |
ImagesFolder { get; set; } | Specifies the physical folder where images are saved when exporting a document to HTML format. Default is an empty string. |
ImagesFolderAlias { get; set; } | Specifies the name of the folder used to construct image URIs written into an HTML document. Default is an empty string. |
ImlRenderingMode { get; set; } | Gets or sets a value determining how ink (InkML) objects are rendered. |
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 . |
MetafileFormat { get; set; } | Specifies in what format metafiles are saved when exporting to HTML, MHTML, or EPUB. Default value is Png, meaning that metafiles are rendered to raster PNG images. |
NavigationMapLevel { get; set; } | Specifies the maximum level of headings populated to the navigation map when exporting to EPUB, MOBI, or AZW3 formats. Default value is 3 . |
OfficeMathOutputMode { get; set; } | Controls how OfficeMath objects are exported to HTML, MHTML or EPUB. Default value is Image. |
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. |
ReplaceBackslashWithYenSign { get; set; } | Specifies whether backslash characters should be replaced with yen signs. Default value is false . |
ResolveFontNames { get; set; } | Specifies whether font family names used in the document are resolved and substituted according to FontSettings when being written into HTML-based formats. |
ResourceFolder { get; set; } | Specifies a physical folder where all resources like images, fonts, and external CSS are saved when a document is exported to HTML. Default is an empty string. |
ResourceFolderAlias { get; set; } | Specifies the name of the folder used to construct URIs of all resources written into an HTML document. Default is an empty string. |
override SaveFormat { get; set; } | Specifies the format in which the document will be saved if this save options object is used. Can be Html, Mhtml, Epub, Azw3 or Mobi. |
ScaleImageToShapeSize { get; set; } | Specifies whether images are scaled by Aspose.Words to the bounding shape size when exporting to HTML, MHTML or EPUB. Default value is true . |
TableWidthOutputMode { get; set; } | Controls how table, row and cell widths are exported to HTML, MHTML or EPUB. Default value is All. |
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. |
Examples
Shows how to specify the folder for storing linked images after saving to .html.
Document doc = new Document(MyDir + "Rendering.docx");
string imagesDir = Path.Combine(ArtifactsDir, "SaveHtmlWithOptions");
if (Directory.Exists(imagesDir))
Directory.Delete(imagesDir, true);
Directory.CreateDirectory(imagesDir);
// Set an option to export form fields as plain text instead of HTML input elements.
HtmlSaveOptions options = new HtmlSaveOptions(SaveFormat.Html)
{
ExportTextInputFormFieldAsText = true,
ImagesFolder = imagesDir
};
doc.Save(ArtifactsDir + "HtmlSaveOptions.SaveHtmlWithOptions.html", options);
Shows how to use a specific encoding when saving a document to .epub.
Document doc = new Document(MyDir + "Rendering.docx");
// Use a SaveOptions object to specify the encoding for a document that we will save.
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.SaveFormat = SaveFormat.Epub;
saveOptions.Encoding = Encoding.UTF8;
// By default, an output .epub document will have all its contents in one HTML part.
// A split criterion allows us to segment the document into several HTML parts.
// We will set the criteria to split the document into heading paragraphs.
// This is useful for readers who cannot read HTML files more significant than a specific size.
saveOptions.DocumentSplitCriteria = DocumentSplitCriteria.HeadingParagraph;
// Specify that we want to export document properties.
saveOptions.ExportDocumentProperties = true;
doc.Save(ArtifactsDir + "HtmlSaveOptions.Doc2EpubSaveOptions.epub", saveOptions);
Shows how to split a document into parts and save them.
public void DocumentPartsFileNames()
{
Document doc = new Document(MyDir + "Rendering.docx");
string outFileName = "SavingCallback.DocumentPartsFileNames.html";
// Create an "HtmlFixedSaveOptions" object, which we can pass to the document's "Save" method
// to modify how we convert the document to HTML.
HtmlSaveOptions options = new HtmlSaveOptions();
// If we save the document normally, there will be one output HTML
// document with all the source document's contents.
// Set the "DocumentSplitCriteria" property to "DocumentSplitCriteria.SectionBreak" to
// save our document to multiple HTML files: one for each section.
options.DocumentSplitCriteria = DocumentSplitCriteria.SectionBreak;
// Assign a custom callback to the "DocumentPartSavingCallback" property to alter the document part saving logic.
options.DocumentPartSavingCallback = new SavedDocumentPartRename(outFileName, options.DocumentSplitCriteria);
// If we convert a document that contains images into html, we will end up with one html file which links to several images.
// Each image will be in the form of a file in the local file system.
// There is also a callback that can customize the name and file system location of each image.
options.ImageSavingCallback = new SavedImageRename(outFileName);
doc.Save(ArtifactsDir + outFileName, options);
}
/// <summary>
/// Sets custom filenames for output documents that the saving operation splits a document into.
/// </summary>
private class SavedDocumentPartRename : IDocumentPartSavingCallback
{
public SavedDocumentPartRename(string outFileName, DocumentSplitCriteria documentSplitCriteria)
{
mOutFileName = outFileName;
mDocumentSplitCriteria = documentSplitCriteria;
}
void IDocumentPartSavingCallback.DocumentPartSaving(DocumentPartSavingArgs args)
{
// We can access the entire source document via the "Document" property.
Assert.True(args.Document.OriginalFileName.EndsWith("Rendering.docx"));
string partType = string.Empty;
switch (mDocumentSplitCriteria)
{
case DocumentSplitCriteria.PageBreak:
partType = "Page";
break;
case DocumentSplitCriteria.ColumnBreak:
partType = "Column";
break;
case DocumentSplitCriteria.SectionBreak:
partType = "Section";
break;
case DocumentSplitCriteria.HeadingParagraph:
partType = "Paragraph from heading";
break;
}
string partFileName = $"{mOutFileName} part {++mCount}, of type {partType}{Path.GetExtension(args.DocumentPartFileName)}";
// Below are two ways of specifying where Aspose.Words will save each part of the document.
// 1 - Set a filename for the output part file:
args.DocumentPartFileName = partFileName;
// 2 - Create a custom stream for the output part file:
args.DocumentPartStream = new FileStream(ArtifactsDir + partFileName, FileMode.Create);
Assert.True(args.DocumentPartStream.CanWrite);
Assert.False(args.KeepDocumentPartStreamOpen);
}
private int mCount;
private readonly string mOutFileName;
private readonly DocumentSplitCriteria mDocumentSplitCriteria;
}
/// <summary>
/// Sets custom filenames for image files that an HTML conversion creates.
/// </summary>
public class SavedImageRename : IImageSavingCallback
{
public SavedImageRename(string outFileName)
{
mOutFileName = outFileName;
}
void IImageSavingCallback.ImageSaving(ImageSavingArgs args)
{
string imageFileName = $"{mOutFileName} shape {++mCount}, of type {args.CurrentShape.ShapeType}{Path.GetExtension(args.ImageFileName)}";
// Below are two ways of specifying where Aspose.Words will save each part of the document.
// 1 - Set a filename for the output image file:
args.ImageFileName = imageFileName;
// 2 - Create a custom stream for the output image file:
args.ImageStream = new FileStream(ArtifactsDir + imageFileName, FileMode.Create);
Assert.True(args.ImageStream.CanWrite);
Assert.True(args.IsImageAvailable);
Assert.False(args.KeepImageStreamOpen);
}
private int mCount;
private readonly string mOutFileName;
}
See Also
- class SaveOptions
- namespace Aspose.Words.Saving
- assembly Aspose.Words