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)。