HtmlSaveOptions

HtmlSaveOptions class

可用于在将文档保存到Html , Mhtml或者Epub格式.

public class HtmlSaveOptions : SaveOptions

构造函数

姓名 描述
HtmlSaveOptions() 初始化此类的新实例,该实例可用于将文档 保存在Html格式.
HtmlSaveOptions(SaveFormat) 初始化此类的新实例,该实例可用于将文档 保存在Html,Mhtml 或Epub格式.

特性

姓名 描述
AllowEmbeddingPostScriptFonts { get; set; } 获取或设置一个布尔值,该值指示是否允许在保存文档中嵌入 TrueType 字体时使用 PostScript 轮廓嵌入字体 。 默认值为 错误的.
AllowNegativeIndent { get; set; } 指定在保存为 HTML、MHTML 或 EPUB 时是否对段落的负左缩进和右缩进进行规范化 。默认值为错误的.
CssClassNamePrefix { get; set; } 指定添加到所有 CSS 类名的前缀。 默认值为空字符串,生成的 CSS 类名没有公共前缀。
CssSavingCallback { get; set; } 允许控制在将文档保存为 HTML、MHTML 或 EPUB 时如何保存 CSS 样式。
CssStyleSheetFileName { get; set; } 指定将文档 导出为 HTML 时写入的层叠样式表 (CSS) 文件的路径和名称。 默认为空字符串。
CssStyleSheetType { get; set; } 指定如何将 CSS(层叠样式表)样式导出为 HTML、MHTML 或 EPUB。 默认值为Inline对于 HTML/MHTML 和 External对于 EPUB.
CustomTimeZoneInfo { get; set; } 获取或设置用于日期/时间字段的自定义本地时区。
DefaultTemplate { get; set; } 获取或设置默认模板的路径(包括文件名)。 此属性的默认值为 空字符串(Empty ).
Dml3DEffectsRenderingMode { get; set; } 获取或设置一个值,确定如何渲染 3D 效果。
virtual DmlEffectsRenderingMode { get; set; } 获取或设置一个值,确定如何呈现 DrawingML 效果。
DmlRenderingMode { get; set; } 获取或设置一个值,确定如何呈现 DrawingML 形状。
DocumentPartSavingCallback { get; set; } 允许控制在将文档保存为 HTML 或 EPUB 时如何保存文档部分。
DocumentSplitCriteria { get; set; } 指定文档在保存到时应如何拆分Html 或Epub格式。 默认为None对于 HTML 和 HeadingParagraph对于 EPUB.
DocumentSplitHeadingLevel { get; set; } 指定拆分文档的最大标题级别。 默认值为2.
Encoding { get; set; } 指定导出到 HTML、MHTML 或 EPUB 时使用的编码。 默认值为新的 UTF8 编码(假)(没有 BOM 的 UTF-8).
EpubNavigationMapLevel { get; set; } 指定导出为 IDPF EPUB 格式时填充到导航地图的最大标题级别。 默认值为3.
ExportCidUrlsForMhtmlResources { get; set; } 指定是否使用 CID (Content-ID) URL 来引用 MHTML 文档中包含的资源(图像、字体、CSS)。默认值为错误的.
ExportDocumentProperties { get; set; } 指定是否将内置和自定义文档属性导出为 HTML、MHTML 或 EPUB。 默认值为错误的.
ExportDropDownFormFieldAsText { get; set; } 控制下拉表单字段如何保存为 HTML 或 MHTML。 默认值为错误的.
ExportFontResources { get; set; } 指定字体资源是否应导出为 HTML、MHTML 或 EPUB。 默认为错误的.
ExportFontsAsBase64 { get; set; } 指定字体资源是否应该以 Base64 编码嵌入到 HTML。 默认为错误的.
ExportGeneratorName { get; set; } 如果为真,则将 Aspose.Words 的名称和版本嵌入到生成的文件中。 默认值为 真的.
ExportHeadersFootersMode { get; set; } 指定页眉和页脚如何输出到 HTML、MHTML 或 EPUB。 默认值为PerSection对于 HTML/MHTML 和None对于 EPUB.
ExportImagesAsBase64 { get; set; } 指定图像是否以 Base64 格式保存到输出 HTML、MHTML 或 EPUB。 默认为错误的.
ExportLanguageInformation { get; set; } 指定语言信息是否导出为 HTML、MHTML 或 EPUB。 默认为错误的.
ExportListLabels { get; set; } 控制列表标签如何输出到 HTML、MHTML 或 EPUB。 默认值为Auto.
ExportOriginalUrlForLinkedImages { get; set; } 指定是否使用原始 URL 作为链接图像的 URL。 默认值为错误的.
ExportPageMargins { get; set; } 指定页边距是否导出为 HTML、MHTML 或 EPUB。 默认为错误的.
ExportPageSetup { get; set; } 指定页面设置是否导出为 HTML、MHTML 或 EPUB。 默认为错误的.
ExportRelativeFontSize { get; set; } 指定在保存为 HTML、MHTML 或 EPUB 时是否应以相对单位输出字体大小。 默认为错误的.
ExportRoundtripInformation { get; set; } 指定保存为 HTML、MHTML 或 EPUB 时是否写入往返信息。 默认值为真的对于 HTML 和错误的对于 MHTML 和 EPUB.
ExportShapesAsSvg { get; set; } 控制是否Shape节点在保存为 HTML、MHTML 或 EPUB 时会转换为 SVG 图像。 默认值为错误的.
ExportTextInputFormFieldAsText { get; set; } 控制文本输入表单字段如何保存为 HTML 或 MHTML。 默认值为错误的.
ExportTocPageNumbers { get; set; } 指定在保存 HTML、MHTML 和 EPUB 时是否将页码写入目录。 默认值为错误的.
ExportXhtmlTransitional { get; set; } 指定保存为 HTML 或 MHTML 时是否编写 DOCTYPE 声明。 何时真的 在根元素之前的文档中写入 DOCTYPE 声明。 默认值为错误的. 保存到 EPUB 或 HTML5 时 (Html5 ) DOCTYPE 声明总是被写入。
FlatOpcXmlMappingOnly { get; set; } 获取或设置值,确定允许映射哪些文档格式XmlMapping. 仅默认FlatOpc允许映射文档格式。
FontResourcesSubsettingSizeThreshold { get; set; } 控制保存为 HTML、MHTML 或 EPUB 时需要子集的字体资源。 默认为0.
FontSavingCallback { get; set; } 允许控制在将文档保存为 HTML、MHTML 或 EPUB 时如何保存字体。
FontsFolder { get; set; } 指定将文档导出为 HTML 时保存字体的物理文件夹。 默认为空字符串。
FontsFolderAlias { get; set; } 指定用于构造写入 HTML 文档的字体 URI 的文件夹的名称。 默认为空字符串。
HtmlVersion { get; set; } 指定将文档保存为 HTML 或 MHTML 时应使用的 HTML 标准版本。 默认值为Xhtml.
ImageResolution { get; set; } 指定导出为 HTML、MHTML 或 EPUB 时图像的输出分辨率。 默认为96 dpi.
ImageSavingCallback { get; set; } 允许控制在将文档保存为 HTML、MHTML 或 EPUB 时如何保存图像。
ImagesFolder { get; set; } 指定将文档导出为 HTML 格式时保存图像的物理文件夹。 默认为空字符串。
ImagesFolderAlias { get; set; } 指定用于构造写入 HTML 文档的图像 URI 的文件夹的名称。 默认为空字符串。
ImlRenderingMode { get; set; } 获取或设置一个值,确定如何呈现墨水 (InkML) 对象。
MemoryOptimization { get; set; } 获取或设置值确定是否应在保存文档之前执行内存优化。 此属性的默认值为 错误的.
MetafileFormat { get; set; } 指定导出到 HTML、MHTML 或 EPUB 时元文件的保存格式。 默认值为Png,这意味着元文件被渲染为光栅 PNG 图像。
OfficeMathOutputMode { get; set; } 控制 OfficeMath 对象如何导出为 HTML、MHTML 或 EPUB。 默认值为HtmlOfficeMathOutputMode.Image.
PrettyFormat { get; set; } 什么时候真的 , 在适用的情况下输出漂亮的格式。 默认值为 错误的.
ProgressCallback { get; set; } 在保存文档期间调用并接受有关保存进度的数据。
ResolveFontNames { get; set; } 指定文档中使用的字体家族名称是否根据 解析和替换FontSettings当被写入基于 HTML 的格式时。
ResourceFolder { get; set; } 指定一个物理文件夹,当 document 导出为 HTML 时,所有资源(如图像、字体和外部 CSS)都将保存在该文件夹中。默认为空字符串。
ResourceFolderAlias { get; set; } 指定用于构造写入 HTML 文档的所有资源的 URI 的文件夹的名称。 默认为空字符串。
override SaveFormat { get; set; } 指定使用此保存选项对象时将保存文档的格式。 可以是Html,Mhtml 或Epub.
ScaleImageToShapeSize { get; set; } 指定在导出为 HTML、MHTML 或 EPUB 时,图像是否由 Aspose.Words 缩放到边界形状大小。 默认值为真的.
TableWidthOutputMode { get; set; } 控制如何将表格、行和单元格宽度导出为 HTML、MHTML 或 EPUB。 默认值为All.
TempFolder { get; set; } 指定保存到 DOC 或 DOCX 文件时使用的临时文件的文件夹。 默认情况下,此属性为无效的并且没有使用临时文件。
UpdateCreatedTimeProperty { get; set; } 获取或设置一个值,确定是否CreatedTime属性在保存前更新。 默认值为 false;
UpdateFields { get; set; } 获取或设置一个值,该值确定在将文档保存为固定页面格式之前是否应更新某些类型的字段。 此属性的默认值为 真的.
UpdateLastPrintedProperty { get; set; } 获取或设置一个值,确定是否LastPrinted属性在保存之前更新。
UpdateLastSavedTimeProperty { get; set; } 获取或设置一个值,确定是否LastSavedTime属性在保存之前更新。
UpdateSdtContent { get; set; } 获取或设置值确定内容是否StructuredDocumentTag在保存之前更新。
UseAntiAliasing { get; set; } 获取或设置一个值,确定是否使用抗锯齿进行渲染。
UseHighQualityRendering { get; set; } 获取或设置一个确定是否使用高质量(即慢速)渲染算法的值。

例子

显示保存为 .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);

// 设置一个选项以将表单字段导出为纯文本而不是 HTML 输入元素。
HtmlSaveOptions options = new HtmlSaveOptions(SaveFormat.Html)
{
    ExportTextInputFormFieldAsText = true, 
    ImagesFolder = imagesDir
};

doc.Save(ArtifactsDir + "HtmlSaveOptions.SaveHtmlWithOptions.html", options);

显示将文档保存到 .epub 时如何使用特定编码。

Document doc = new Document(MyDir + "Rendering.docx");

// 使用 SaveOptions 对象来指定我们要保存的文档的编码。
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.SaveFormat = SaveFormat.Epub;
saveOptions.Encoding = Encoding.UTF8;

// 默认情况下,输出的 .epub 文档将其所有内容都放在一个 HTML 部分中。
// 分割标准允许我们将文档分割成几个 HTML 部分。
// 我们将设置将文档拆分为标题段落的标准。
// 这对于无法阅读比特定大小更重要的 HTML 文件的读者很有用。
saveOptions.DocumentSplitCriteria = DocumentSplitCriteria.HeadingParagraph;

// 指定我们要导出文档属性。
saveOptions.ExportDocumentProperties = true;

doc.Save(ArtifactsDir + "HtmlSaveOptions.Doc2EpubSaveOptions.epub", saveOptions);

显示如何将文档拆分为多个部分并保存它们。

public void DocumentPartsFileNames()
{
    Document doc = new Document(MyDir + "Rendering.docx");
    string outFileName = "SavingCallback.DocumentPartsFileNames.html";

    // 创建一个“HtmlFixedSaveOptions”对象,我们可以将它传递给文档的“Save”方法
    // 修改我们如何将文档转换为 HTML。
    HtmlSaveOptions options = new HtmlSaveOptions();

    // 如果我们正常保存文档,就会有一个输出HTML
    // 包含所有源文档内容的文档。
    // 将“DocumentSplitCriteria”属性设置为“DocumentSplitCriteria.SectionBreak”以
    // 将我们的文档保存到多个 HTML 文件中:每个部分一个。
    options.DocumentSplitCriteria = DocumentSplitCriteria.SectionBreak;

    // 将自定义回调分配给“DocumentPartSavingCallback”属性以更改文档部分保存逻辑。
    options.DocumentPartSavingCallback = new SavedDocumentPartRename(outFileName, options.DocumentSplitCriteria);

    // 如果我们将包含图像的文档转换为 html,我们最终会得到一个链接到多个图像的 html 文件。
    // 每个图像都会在本地文件系统中以文件的形式存在。
    // 还有一个回调可以自定义每张图片的名称和文件系统位置。
    options.ImageSavingCallback = new SavedImageRename(outFileName);

    doc.Save(ArtifactsDir + outFileName, options);
}

/// <summary>
/// 为保存操作将文档拆分成的输出文档设置自定义文件名。
/// </summary>
private class SavedDocumentPartRename : IDocumentPartSavingCallback
{
    public SavedDocumentPartRename(string outFileName, DocumentSplitCriteria documentSplitCriteria)
    {
        mOutFileName = outFileName;
        mDocumentSplitCriteria = documentSplitCriteria;
    }

    void IDocumentPartSavingCallback.DocumentPartSaving(DocumentPartSavingArgs args)
    {
        // 我们可以通过“Document”属性访问整个源文档。
        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)}";

        // 下面是指定 Aspose.Words 将文档的每个部分保存在哪里的两种方法。
        // 1 - 为输出部分文件设置文件名:
        args.DocumentPartFileName = partFileName;

        // 2 - 为输出部分文件创建自定义流:
        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>
/// 为 HTML 转换创建的图像文件设置自定义文件名。
/// </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)}";

        // 下面是指定 Aspose.Words 将文档的每个部分保存在哪里的两种方法。
        // 1 - 设置输出图像文件的文件名:
        args.ImageFileName = imageFileName;

        // 2 - 为输出图像文件创建自定义流:
        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;
}

也可以看看