使用Aspose.PDF for .NET将PDF转换为HTML格式示例解读(3)——将字体另存为WOFF或TTF

时间:2019-10-31
本文章向大家介绍使用Aspose.PDF for .NET将PDF转换为HTML格式示例解读(3)——将字体另存为WOFF或TTF,主要包括使用Aspose.PDF for .NET将PDF转换为HTML格式示例解读(3)——将字体另存为WOFF或TTF使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Aspose.PDF for .NET是一种高级PDF处理和解析API,用于在跨平台应用程序中执行文档管理和操作任务。API可以轻松用于生成,修改,转换,渲染,保护和打印PDF文档,而无需使用Adobe Acrobat。此外,还提供PDF压缩选项,表格创建和操作,图形和图像功能,广泛的超链接功能,印章和水印任务,扩展的安全控制和自定义字体处理。

PDF是当今最流行的文档格式之一,各种应用程序将其用作最终输出。由于支持多种数据类型和可移植性,因此它是创建和共享内容的首选格式。作为对开发文档管理应用程序感兴趣的.NET应用程序开发人员,可能希望嵌入处理功能,以读取PDF文档并将其转换为其他文件格式,例如HTML。

PDF转HTML-将字体另存为WOFF或TTF

Aspose.PDF for .NET提供了将HTML文件转换为PDF格式并将PDF文件转换为HTML的功能。在PDF到HTML的转换过程中,PDF中使用的TrueType字体可以保存在文件系统中。为了确保最大的浏览器兼容性,可以嵌入几种字体类型.

生成TIFF或WOFF字体

为了实现此要求,已添加了HtmlSaveOptions.FontSavingModes枚举数和HtmlSaveOptions.FontSavingMode转换选项。以下代码段可在将PDF文件转换为HTML格式时将字体另存为TTF。

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

//输出HTML文件路径信息
string outFile = Path.GetFullPath(dataDir + "36192_out.html");

//源PDF文档
Document doc = new Document(dataDir + "input.pdf");

//使用测试的功能创建HtmlSaveOption
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.FixedLayout = true;
saveOptions.SplitIntoPages = false;

//将字体另存为TTF格式
saveOptions.FontSavingMode = HtmlSaveOptions.FontSavingModes.AlwaysSaveAsTTF;
string htmlFile = Path.GetFullPath(outFile);
string linkedFilesFolder = Path.GetDirectoryName(htmlFile) + @"\36192_files";

if (Directory.Exists(linkedFilesFolder))
{
    Directory.Delete(linkedFilesFolder, true);
}

//保存输出
doc.Save(outFile, saveOptions);

要以WOFF格式保存字体,请使用以下代码:

saveOptions。FontSavingMode  =  HtmlSaveOptions。FontSavingModes。AlwaysSaveAsWOFF ;

生成3套字体

Aspose.PDF for .NET v9.3.0发行之前,API支持将字体保存为WOFF或TTF。这意味着无法在Internet Explorer 6至8中加载字体,因此在这些浏览器中查看文档时看起来不正确。同样对于移动浏览器,TTF字体是最大兼容性所必需的。解决方案是生成3组字体,以确保最大程度的浏览器兼容性,然后在CSS中引用所有字体,如下所示。以下格式类似于此处描述的格式。

@font-face {
    font-family:"WBULFR+Arial-BoldMT";
    src:url("fa507958-0001-0000-0000-000000000000.eot");
    src:url("fa507958-0001-0000-0000-000000000000.eot?#iefix") format("embedded-opentype"),
    url("fa507958-0001-0000-0000-000000000000.woff") format("woff"),
    url("fa507958-0001-0000-0000-000000000000.ttf") format("truetype");
}

为了实现此要求,SaveInAllFormats在HtmlSaveOptions.FontSavingModes枚举中引入了字体保存模式。下面的代码片段演示了如何生成3组字体。

//文档目录的路径。
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion_PDFToHTMLFormat();
        
Document doc = new Document(dataDir + "input.pdf");
HtmlSaveOptions htmlOptions = new HtmlSaveOptions();
htmlOptions.FixedLayout = true;
htmlOptions.RasterImagesSavingMode = HtmlSaveOptions.RasterImagesSavingModes.AsExternalPngFilesReferencedViaSvg;
htmlOptions.FontSavingMode = HtmlSaveOptions.FontSavingModes.SaveInAllFormats;

doc.Save(dataDir + "ThreeSetFonts_out.html", htmlOptions);

如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183)。

原文地址:https://www.cnblogs.com/mnrssj-Aspsoe/p/11770639.html