没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2019-11-14 09:52:01.370|阅读 335 次
概述:Aspose.PDF for .NET支持将PDF文件转换为HTML格式的功能。在转换过程中,格式信息将保存在style.css文件中。本文将介绍如何添加前缀以导入指令。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
PDF是当今最流行的文档格式之一,各种应用程序将其用作最终输出。由于支持多种数据类型和可移植性,因此它是创建和共享内容的首选格式。作为对开发文档管理应用程序感兴趣的.NET应用程序开发人员,可能希望嵌入处理功能,以读取PDF文档并将其转换为其他文件格式,例如HTML。
Aspose.PDF for .NET是一种高级PDF处理和解析API,用于在跨平台应用程序中执行文档管理和操作任务。API可以轻松用于生成,修改,转换,渲染,保护和打印PDF文档,而无需使用Adobe Acrobat。
在本文中,我们将探索并演示Aspose.PDF for .NET API的强大转换功能,以使用多种选项读取PDF文件并将其转换为HTML。
购买Aspose文档系列产品领取优惠券专享折上折,满额更有iPhone 11相送!更多活动详情可哦~
Aspose.PDF for .NET支持将PDF文件转换为HTML格式的功能。在转换过程中,格式信息将保存在style.css文件中。在输出HTML文件中引用了style.css文件。我们被要求@import 'style1p1.css';在style.css文件中为此类导入指令添加前缀。例如:
@import '//localhost:24661/document-viewer/GetResourceForHtmlHandler? 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; // 使用测试的功能创建HtmlSaveOption HtmlSaveOptions 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 = "// Localhost:24661/document-viewer/GetResourceForHtmlHandler?documentPath=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技术交流群(642018183),我们很高兴为您提供查询和咨询。
如果您对Aspose有任何需求和疑难,记得扫描下方二维码告诉我们哦~

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn




在使用Parasoft C/C++test执行BugDetective数据流分析时,可能会遇到用户自定义的资源API,那在这种情况下,若要判断是否存在资源问题,如资源泄露等,则需要手动配置测试配置。
大型SaaS系统的自动化测试常常受制于界面变化快、结构复杂、加载机制多变等因素。从元素识别到脚本管理,SmartBear TestComplete帮助Salesforce建了可靠的自动化测试体系。
BarTender 标签管理系统,正是帮助企业轻松实现 GS1 标准化标签设计、编码生成与信息联动的强大工具。
Parasoft C/C++test 是一款功能强大的 C/C++ 软件测试工具,集成了静态代码分析、单元测试、集成测试和覆盖率分析等功能,单元测试作为其关键功能之一,为了适配多样化的目标部署环境,C/C++test 设计了灵活的测试结果收集机制。通过Socket通讯方式来收集单元测试结果,从而扩展其测试覆盖范围与应用场景。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
半岛外围网上直营