类 HtmlSaveOptions

HtmlSaveOptions class

允许在将文档保存为 HTML 格式时指定其他选项。

public class HtmlSaveOptions : SaveOptions

构造函数

名称描述
HtmlSaveOptions()默认构造函数。

属性

名称描述
CssPerPageGeneration { get; set; }获取或设置是否为每个新页面单独生成 StyleSheet 文件。
CssSavingCallback { get; set; }获取或设置用于创建存储 CSS 资源的回调。
DocumentPerPageGeneration { get; set; }获取或设置一个值,指示是否启用每页生成文档。
ExportCss { get; set; }获取或设置 CSS 的导出方式。
ExportFonts { get; set; }获取或设置字体的导出方式。
ExportImages { get; set; }获取或设置图像的导出方式。
FontFaceTypes { get; set; }获取或设置字体类型。
FontSavingCallback { get; set; }获取或设置用于创建存储字体资源的回调。
FontsSubsystem { get; set; }获取或设置在保存时使用的字体设置
ImageSavingCallback { get; set; }获取或设置用于创建存储图像资源的回调。
PageCount { get; set; }获取或设置要保存的页数。默认值为 MaxValue,表示将渲染文档的所有页面。
PageIndex { get; set; }获取或设置要保存的第一页的索引。默认值为 0。
PageSavingCallback { get; set; }获取或设置用于创建存储页面资源的回调。
SaveFormat { get; }获取文档保存的格式。

示例

展示如何以 HTML 格式保存文档,并将所有资源(css/字体/图像)存储到单独的文件中。

string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
var document = new Document(Path.Combine(dataDir, "Aspose.one"));

var options = new HtmlSaveOptions()
             {
                 ExportCss = ResourceExportType.ExportAsStream,
                 ExportFonts = ResourceExportType.ExportAsStream,
                 ExportImages = ResourceExportType.ExportAsStream,
                 FontFaceTypes = FontFaceType.Ttf
             };
document.Save(dataDir + "document_out.html", options);

展示如何以 HTML 格式将文档保存到流中,并嵌入所有资源(css/字体/图像)。

string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
var document = new Document(Path.Combine(dataDir, "Aspose.one"));

var options = new HtmlSaveOptions()
             {
                 ExportCss = ResourceExportType.ExportEmbedded,
                 ExportFonts = ResourceExportType.ExportEmbedded,
                 ExportImages = ResourceExportType.ExportEmbedded,
                 FontFaceTypes = FontFaceType.Ttf
             };

var r = new MemoryStream();
document.Save(r, options);

展示如何创建文档并在指定页面范围内以 HTML 格式保存。

// 文档目录的路径。
string dataDir = RunExamples.GetDataDir_LoadingAndSaving();

// 初始化 OneNote 文档
Document doc = new Document();

Page page = doc.AppendChildLast(new Page());

// 文档中所有文本的默认样式。
ParagraphStyle textStyle = new ParagraphStyle { FontColor = Color.Black, FontName = "Arial", FontSize = 10 };
page.Title = new Title()
             {
                 TitleText = new RichText() { Text = "Title text.", ParagraphStyle = textStyle },
                 TitleDate = new RichText() { Text = new DateTime(2011, 11, 11).ToString("D", CultureInfo.InvariantCulture), ParagraphStyle = textStyle },
                 TitleTime = new RichText() { Text = "12:34", ParagraphStyle = textStyle }
             };

// 保存为 HTML 格式
dataDir = dataDir + "CreateAndSavePageRange_out.html";
doc.Save(dataDir, new HtmlSaveOptions
                  {
                      PageCount = 1,
                      PageIndex = 0
                  });

展示如何使用用户定义的回调函数,以 html 格式保存文档并存储所有资源(css/字体/图像)。

// 下面的代码创建了 'documentFolder' 文件夹,其中包含 document.html,'css' 文件夹内有 'style.css' 文件,'images' 文件夹内有图像,'fonts' 文件夹内有字体。
// 'style.css' 文件将在末尾包含以下字符串 "/* This line is appended to stream manually by user */"
var savingCallbacks = new UserSavingCallbacks()
                          {
                              RootFolder = "documentFolder",
                              CssFolder = "css",
                              KeepCssStreamOpened = true,
                              ImagesFolder = "images",
                              FontsFolder = "fonts"
                          };
var options = new HtmlSaveOptions
              {
                  FontFaceTypes = FontFaceType.Ttf,
                  CssSavingCallback = savingCallbacks,
                  FontSavingCallback = savingCallbacks,
                  ImageSavingCallback = savingCallbacks
              };

if (!Directory.Exists(savingCallbacks.RootFolder))
{
    Directory.CreateDirectory(savingCallbacks.RootFolder);
}

string dataDir = RunExamples.GetDataDir_LoadingAndSaving();
var document = new Document(Path.Combine(dataDir, "Aspose.one"));

using (var stream = File.Create(Path.Combine(savingCallbacks.RootFolder, "document.html")))
{
    document.Save(stream, options);
}

using (var writer = new StreamWriter(savingCallbacks.CssStream))
{
    writer.WriteLine();
    writer.WriteLine("/* This line is appended to stream manually by user */");
}

另请参阅