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

本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn