使用Aspose.PDF for .NET将PDF转换为HTML格式示例解读(7)——添加前缀以导入指令

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

Aspose.PDF for .NET是一种高级PDF处理和解析API,用于在跨平台应用程序中执行文档管理和操作任务。API可以轻松用于生成,修改,转换,渲染,保护和打印PDF文档,而无需使用Adobe Acrobat。

购买Aspose文档系列产品领取优惠券专享折上折,满额更有iPhone 11相送!更多活动详情可咨询在线客服哦~


PDF转HTML-添加前缀以导入指令

Aspose.PDF for .NET支持将PDF文件转换为HTML格式的功能。在转换过程中,格式信息将保存在style.css文件中。在输出HTML文件中引用了style.css文件。我们被要求@import ‘style1p1.css’;在style.css文件中为此类导入指令添加前缀。例如:

@import 'http://localhost:24661/document-viewer/GetResourceForHtmlHandlernbsp;documentPath=Deutschland201207Arbeit.pdf&resourcePath=style1p1.css&fileNameOnly=false';

下面的代码显示了如何执行此任务。

//文档目录的路径。string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion_PDFToHTMLFormat();string linceseFile = ""; //例如@“ F: _ Sources  Aspose.Total.lic”(new Aspose.Pdf.License()).SetLicense(linceseFile);Document pdfDocument = new Document(dataDir + "input.pdf");string outHtmlFile = dataDir + "PrefixToImportDirectives_out.html";_folderForReferencedResources_36435 = dataDir;// 使用测试的功能创建HtmlSaveOptionHtmlSaveOptions saveOptions = new HtmlSaveOptions();saveOptions.CustomStrategyOfCssUrlCreation = new HtmlSaveOptions.CssUrlMakingStrategy(Strategy_10_CSS_ReturnResultPathInPredefinedTestFolder);saveOptions.CustomCssSavingStrategy = new HtmlSaveOptions.CssSavingStrategy(Strategy_10_CSS_WriteCssToResourceFolder);//----------------------------------------------------------------------------//运行转换器//----------------------------------------------------------------------------pdfDocument.Save(outHtmlFile, saveOptions);
private static void Strategy_10_CSS_WriteCssToResourceFolder(HtmlSaveOptions.CssSavingInfo resourceInfo){    // -------------------------------------------------------    // 这只是保存的可能实现方式之一    // 如果您愿意,可以编写和使用自己的实现    // -------------------------------------------------------    // 从请求的文件中获取CSS文件名。    // 需要一些技巧,因为我们获得了此方法的参数    //不是纯文件名,而是完整的URL    //通过使用我们在Strategy_9_CSS_ReturnResultPathInPredefinedTestFolder()中返回的模板创建的    // 因此,了解该模板后,我们必须从中提取CSS文件名本身    string guid = System.Guid.NewGuid().ToString();    string fullPathWithGuid = Strategy_10_CSS_ReturnResultPathInPredefinedTestFolder(new HtmlSaveOptions.CssUrlRequestInfo());    fullPathWithGuid = string.Format(fullPathWithGuid, guid);    int prefixLength = fullPathWithGuid.IndexOf(guid);    int suffixLength = fullPathWithGuid.Length - (fullPathWithGuid.IndexOf(guid) + guid.Length);    string fullPath = resourceInfo.SupposedURL;    fullPath = fullPath.Substring(prefixLength);    string cssFileNameCore = fullPath.Substring(0, fullPath.Length - suffixLength);    // 获取要保存的最终文件名    string cssFileName = "style" + cssFileNameCore + ".css";    string path = _folderForReferencedResources_36435 + cssFileName;    // 保存自己    System.IO.BinaryReader reader = new BinaryReader(resourceInfo.ContentStream);    System.IO.File.WriteAllBytes(path, reader.ReadBytes((int)resourceInfo.ContentStream.Length));}private static string Strategy_10_CSS_ReturnResultPathInPredefinedTestFolder(HtmlSaveOptions.CssUrlRequestInfo requestInfo){    string template = "http:// Localhost:24661/document-viewer/GetResourceForHtmlHandlerocumentPath=Deutschland201207Arbeit.pdf&resourcePath=style{0}.css&fileNameOnly=false";    return template;}

执行完上述代码后,打开style.css文件并确保它以CSS-import指令开头,并包含以下内容(如果在计算机上运行时可以在代码段中更改它们的确切路径将有所不同) :

@import 'file://F:/ExternalTestsData/36435_1_files/style_page_1_part_1.css';@import 'file://F:/ExternalTestsData/36435_1_files/style_page_1_part_2.css';@import 'file://F:/ExternalTestsData/36435_1_files/style_page_1_part_3.css';@import 'file://F:/ExternalTestsData/36435_1_files/style_page_1_part_4.css';@import 'file://F:/ExternalTestsData/36435_1_files/style_page_1_part_5.css';@import 'file://F:/ExternalTestsData/36435_1_files/style_page_1_part_6.css';@import 'file://F:/ExternalTestsData/36435_1_files/style_page_1_part_7.css';@import 'file://F:/ExternalTestsData/36435_1_files/style_page_1_part_8.css';

还想要更多吗可以点击阅读【2019 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询


如果您对Aspose有任何需求和疑难,记得扫描下方二维码告诉我们哦~

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年10月11日
下一篇 2019年10月11日

相关推荐

发表回复

登录后才能评论