• <menu id="w2i4a"></menu>
  • logo Aspose.PDF for .NET開發(fā)者使用教程

    文檔首頁>>Aspose.PDF for .NET開發(fā)者使用教程>>PDF管理控件Aspose.PDF for .Net使用教程(二十四):將HTML和Web Page轉(zhuǎn)換為PDF

    PDF管理控件Aspose.PDF for .Net使用教程(二十四):將HTML和Web Page轉(zhuǎn)換為PDF


    Aspose.PDF for .NET是一種高PDF處理和解析API,用于在跨平臺應(yīng)用程序中執(zhí)行文檔管理和操作任務(wù)。API可以輕松用于生成、修改、轉(zhuǎn)換、渲染、保護和打印PDF文檔,而無需使用Adobe Acrobat。此外,API還提供PDF壓縮選項,表格創(chuàng)建和操作,圖形和圖像功能,廣泛的超鏈接功能,印章和水印任務(wù),擴展的安全控制和自定義字體處理。

    在接下來的系列教程中,將為開發(fā)者帶來Aspose.PDF for .NET的一系列使用教程,例如進行文檔間的轉(zhuǎn)換,如何標記PDF文件,如何使用表單和圖表等等。本文將介紹如何將HTML和Web Page轉(zhuǎn)換為PDF。

    >>Aspose.PDF for .NET更新至最新版v19.12,歡迎下載體驗。


    ▲C#中將HTML轉(zhuǎn)換為PDF格式

    用于.NET的Aspose.PDF可以將HTML頁面轉(zhuǎn)換為PDF格式,并在轉(zhuǎn)換過程中具有“資源加載回調(diào)”功能。當在不訪問本地文件系統(tǒng)的情況下將外部資源加載到云服務(wù)中時,此功能很有用。

    為了完成此功能,將  CustomLoaderOfExternalResources 屬性添加到了  HtmlSaveOptions 對象中。以下代碼段將HTML中引用的圖片替換為預(yù)定義的圖片。

    // 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");
    // For complete examples and data files, please go to https://github.com/aspose-pdf/Aspose.PDF-for-.NET
    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;
    }

    12月即將走過!Aspose.Total10000元直降活動即將落下帷幕!趕緊聯(lián)系慧都客服1分鐘了解全部資訊!

    ▲將Web Page轉(zhuǎn)換為PDF

    HtmlLoadOptions  選項提供的功能,負載HTML內(nèi)容并解析HTML標簽據(jù)此,使它們產(chǎn)生的PDF中分別呈現(xiàn)。為了將網(wǎng)頁內(nèi)容轉(zhuǎn)換為PDF格式,首先可以使用WebRequest  實例獲取HTML頁面內(nèi)容,創(chuàng)建StreamReader對象并讀取頁面內(nèi)容。最后,將內(nèi)容傳遞給Document對象,并以PDF格式呈現(xiàn)輸出。

    將網(wǎng)絡(luò)服務(wù)器上托管的網(wǎng)頁轉(zhuǎn)換為PDF時:

    • 使用HttpWebRequest 對象讀取頁面的內(nèi)容  。

    • 將內(nèi)容傳遞給  StreamReader 對象。

    • 創(chuàng)建的實例  MemoryStream。

    • HtmlLoadOptions 在傳遞網(wǎng)頁URL時實例化該  對象。

    • Document 在傳遞流對象時初始化一個  對象。

    • (可選)將頁面方向設(shè)置為,  Landscape 以便可以在頁面上容納更多內(nèi)容。

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
    // Create a request for the URL.
    WebRequest request = WebRequest.Create("https:// En.wikipedia.org/wiki/Main_Page");
    // If required by the server, set the credentials.
    request.Credentials = CredentialCache.DefaultCredentials;
    // Time out in miliseconds before the request times out
    // Request.Timeout = 100;
    
    // Get the response.
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    
    // Get the stream containing content returned by the server.
    Stream dataStream = response.GetResponseStream();
    // Open the stream using a StreamReader for easy access.
    StreamReader reader = new StreamReader(dataStream);
    // Read the content.
    string responseFromServer = reader.ReadToEnd();
    reader.Close();
    dataStream.Close();
    response.Close();
    
    MemoryStream stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(responseFromServer));
    HtmlLoadOptions options = new HtmlLoadOptions("https:// En.wikipedia.org/wiki/");
    
    
    // Load HTML file
    Document pdfDocument = new Document(stream, options);
    
    options.PageInfo.IsLandscape = true;
    
    // Save output as PDF format
    pdfDocument.Save(dataDir + "WebPageToPDF_out.pdf");

    還想要更多嗎?您可以點擊閱讀【2019 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入Aspose技術(shù)交流群(642018183),我們很高興為您提供查詢和咨詢。

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();