翻譯|使用教程|編輯:李顯亮|2019-09-24 14:39:24.190|閱讀 381 次
概述:在Aspose.PDF for .Net中,提供了免費(fèi)的HTML到PDF的基本轉(zhuǎn)換,而且還允許指定各種選項(xiàng)來(lái)實(shí)現(xiàn)所需的功能,比如將網(wǎng)頁(yè)轉(zhuǎn)換為PDF、使用SVG數(shù)據(jù)渲染HTML等等。本文將為大家通過(guò)示例解讀的方式講解如何實(shí)現(xiàn)這些功能。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
推薦閱讀:【Aspose使用教程資源最全分享!(Aspose.PDF篇)】
Aspose.PDF for .NET是一種高級(jí)PDF處理和解析API,用于在跨平臺(tái)應(yīng)用程序中執(zhí)行文檔管理和操作任務(wù)。API可以輕松用于生成,修改,轉(zhuǎn)換,渲染,保護(hù)和打印PDF文檔,而無(wú)需使用Adobe Acrobat。此外,還提供PDF壓縮選項(xiàng),表格創(chuàng)建和操作,圖形和圖像功能,廣泛的超鏈接功能,印章和水印任務(wù),擴(kuò)展的安全控制和自定義字體處理。
HTML到PDF的轉(zhuǎn)換在將不同文件格式相互轉(zhuǎn)換之間具有其自身的意義,可以使用其他可用的應(yīng)用程序,工具和在線服務(wù)將HTML轉(zhuǎn)換為PDF。同樣,我們也可以使用編程的方式,將HTML轉(zhuǎn)換為PDF。
在Aspose.PDF for .Net中,提供了免費(fèi)的HTML到PDF的基本轉(zhuǎn)換,而且還允許指定各種選項(xiàng)來(lái)實(shí)現(xiàn)所需的功能,比如將網(wǎng)頁(yè)轉(zhuǎn)換為PDF、使用SVG數(shù)據(jù)渲染HTML等等。接下來(lái)我們一起通過(guò)示例解讀的方式學(xué)習(xí)如何實(shí)現(xiàn)這些功能。
>>Aspose.PDF for .NET更新至最新版v19.9,點(diǎn)擊下載體驗(yàn)。
只需使用幾行代碼和資源加載回調(diào)就可以以非常基本的方式將HTML轉(zhuǎn)換為PDF,以下是使您達(dá)到目的的代碼段:
// The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion(); HtmlLoadOptions options = new HtmlLoadOptions(); options.CustomLoaderOfExternalResources = new LoadOptions.ResourceLoadingStrategy(SamePictureLoader); Document pdfDocument = new Document(dataDir + "HTMLToPDF.html", options); pdfDocument.Save("HTMLToPDF_out.pdf");
private static LoadOptions.ResourceLoadingResult SamePictureLoader(string resourceURI) { string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion(); byte[] resultBytes = File.ReadAllBytes(dataDir + "aspose-logo.jpg"); LoadOptions.ResourceLoadingResult result = new LoadOptions.ResourceLoadingResult(resultBytes); return result; }
通常需要將網(wǎng)頁(yè)轉(zhuǎn)換為PDF,并且如果手動(dòng)執(zhí)行此操作,則需要執(zhí)行多個(gè)步驟。API提供的功能可以使用下面顯示的代碼執(zhí)行。需要注意的是,以下代碼段涵蓋了Web頁(yè)面到PDF轉(zhuǎn)換操作的兩個(gè)主要和基本方面:
//文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion(); //創(chuàng)建對(duì)該URL的請(qǐng)求。 WebRequest request = WebRequest.Create("// En.wikipedia.org/wiki/Main_Page"); //如果服務(wù)器需要,請(qǐng)?jiān)O(shè)置憑據(jù)。 request.Credentials = CredentialCache.DefaultCredentials; //在請(qǐng)求超時(shí)之前以毫秒為單位超時(shí) // Request.Timeout = 100; //獲取響應(yīng)。 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //獲取包含服務(wù)器返回內(nèi)容的流。 Stream dataStream = response.GetResponseStream(); //使用StreamReader打開流以方便訪問(wèn)。 StreamReader reader = new StreamReader(dataStream); //閱讀內(nèi)容。 string responseFromServer = reader.ReadToEnd(); reader.Close(); dataStream.Close(); response.Close(); MemoryStream stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(responseFromServer)); HtmlLoadOptions options = new HtmlLoadOptions("// En.wikipedia.org/wiki/"); //加載HTML文件 Document pdfDocument = new Document(stream, options); options.PageInfo.IsLandscape = true; //將輸出另存為PDF格式 pdfDocument.Save(dataDir + "WebPageToPDF_out.pdf");
以下代碼段顯示了如何將帶有SVG圖形標(biāo)簽的HTML文件轉(zhuǎn)換為Tagged PDF Document:
//文檔目錄的路徑 string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion(); //設(shè)置輸入文件路徑 string inFile = dataDir + "HTMLSVG.html"; //設(shè)置輸出文件路徑 string outFile = dataDir + "RenderHTMLwithSVGData.pdf"; //初始化HtmlLoadOptions HtmlLoadOptions options = new HtmlLoadOptions(Path.GetDirectoryName(inFile)); //初始化Document對(duì)象 Document pdfDocument = new Document(inFile, options); //保存 pdfDocument.Save(outFile);
*想要購(gòu)買Aspose正版授權(quán)的朋友可以哦~
ASPOSE技術(shù)交流QQ群(642018183)已開通,各類資源及時(shí)分享,歡迎交流討論!
掃描關(guān)注“慧聚IT”微信公眾號(hào),及時(shí)獲取更多產(chǎn)品最新動(dòng)態(tài)及最新資訊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn