翻譯|使用教程|編輯:李顯亮|2019-11-14 09:52:01.370|閱讀 335 次
概述:Aspose.PDF for .NET支持將PDF文件轉(zhuǎn)換為HTML格式的功能。在轉(zhuǎn)換過程中,格式信息將保存在style.css文件中。本文將介紹如何添加前綴以導(dǎo)入指令。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
PDF是當(dāng)今最流行的文檔格式之一,各種應(yīng)用程序?qū)⑵溆米髯罱K輸出。由于支持多種數(shù)據(jù)類型和可移植性,因此它是創(chuàng)建和共享內(nèi)容的首選格式。作為對(duì)開發(fā)文檔管理應(yīng)用程序感興趣的.NET應(yīng)用程序開發(fā)人員,可能希望嵌入處理功能,以讀取PDF文檔并將其轉(zhuǎn)換為其他文件格式,例如HTML。
Aspose.PDF for .NET是一種高級(jí)PDF處理和解析API,用于在跨平臺(tái)應(yīng)用程序中執(zhí)行文檔管理和操作任務(wù)。API可以輕松用于生成,修改,轉(zhuǎn)換,渲染,保護(hù)和打印PDF文檔,而無需使用Adobe Acrobat。
在本文中,我們將探索并演示Aspose.PDF for .NET API的強(qiáng)大轉(zhuǎn)換功能,以使用多種選項(xiàng)讀取PDF文件并將其轉(zhuǎn)換為HTML。
點(diǎn)擊下載最新版Aspose.PDF for .NET
購買Aspose文檔系列產(chǎn)品領(lǐng)取優(yōu)惠券專享折上折,滿額更有iPhone 11相送!更多活動(dòng)詳情可哦~
Aspose.PDF for .NET支持將PDF文件轉(zhuǎn)換為HTML格式的功能。在轉(zhuǎn)換過程中,格式信息將保存在style.css文件中。在輸出HTML文件中引用了style.css文件。我們被要求@import 'style1p1.css';在style.css文件中為此類導(dǎo)入指令添加前綴。例如:
@import '//localhost:24661/document-viewer/GetResourceForHtmlHandler? documentPath=Deutschland201207Arbeit.pdf&resourcePath=style1p1.css&fileNameOnly=false';
下面的代碼顯示了如何執(zhí)行此任務(wù)。
//文檔目錄的路徑。 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; // 使用測(cè)試的功能創(chuàng)建HtmlSaveOption HtmlSaveOptions saveOptions = new HtmlSaveOptions(); saveOptions.CustomStrategyOfCssUrlCreation = new HtmlSaveOptions.CssUrlMakingStrategy(Strategy_10_CSS_ReturnResultPathInPredefinedTestFolder); saveOptions.CustomCssSavingStrategy = new HtmlSaveOptions.CssSavingStrategy(Strategy_10_CSS_WriteCssToResourceFolder); //---------------------------------------------------------------------------- //運(yùn)行轉(zhuǎn)換器 //---------------------------------------------------------------------------- pdfDocument.Save(outHtmlFile, saveOptions);
private static void Strategy_10_CSS_WriteCssToResourceFolder(HtmlSaveOptions.CssSavingInfo resourceInfo) { // ------------------------------------------------------- // 這只是保存的可能實(shí)現(xiàn)方式之一 // 如果您愿意,可以編寫和使用自己的實(shí)現(xiàn) // ------------------------------------------------------- // 從請(qǐng)求的文件中獲取CSS文件名。 // 需要一些技巧,因?yàn)槲覀儷@得了此方法的參數(shù) //不是純文件名,而是完整的URL //通過使用我們?cè)赟trategy_9_CSS_ReturnResultPathInPredefinedTestFolder()中返回的模板創(chuàng)建的 // 因此,了解該模板后,我們必須從中提取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; }
執(zhí)行完上述代碼后,打開style.css文件并確保它以CSS-import指令開頭,并包含以下內(nèi)容(如果在計(jì)算機(jī)上運(yùn)行時(shí)可以在代碼段中更改它們的確切路徑將有所不同) :
@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';
還想要更多嗎?您可以點(diǎn)擊閱讀【2019 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請(qǐng)隨時(shí)加入Aspose技術(shù)交流群(642018183),我們很高興為您提供查詢和咨詢。
如果您對(duì)Aspose有任何需求和疑難,記得掃描下方二維碼告訴我們哦~
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn