HTML轉PDF C#:如何在ASP.NET MVC應用程式中將HTML轉換為PDF
#在今天的數位時代,越來越多人使用PDF文件存檔、共享和檢視文件。有時,將HTML轉換成PDF檔案可以讓您的使用者更方便地瀏覽文件。在本篇文章中,我們將會了解如何使用C#將HTML轉換為PDF。
為了將HTML轉換為PDF,我們需要使用一個名為WkHtmlToPdf的函式庫。這個函式庫是基於WebKit,可以將HTML頁面轉換為PDF檔。該程式庫提供了許多設定選項,可以輕鬆地將HTML轉換成想要的格式。
讓我們開始吧!首先需要從NuGet套件管理器安裝WkHtmlToPdf函式庫。開啟Visual Studio,並在專案中右鍵點選「引用」路徑,選擇「管理NuGet套件」。在搜尋框中輸入“WkHtmlToPdf”,然後按回車。選擇該庫,並安裝它。
接下來,我們需要建立一個名為「HtmlToPdfConverter」的類,負責處理HTML到PDF的轉換。在這個類別中,我們需要寫以下方法:
public byte[] ConvertHtmlToPdf(string html) { byte[] pdfBuffer; // 将转换后的PDF文件存储到字节数组中 var options = new PdfOptions { // 设置PDF选项,包括页面大小、宽度和高度等 PageSize = PaperKind.A4, Orientation = PdfOrientation.Portrait }; var htmlToPdf = new HtmlToPdfConverter(options); // 创建HTML转换PDF对象 pdfBuffer = htmlToPdf.GeneratePdf(html); // 生成PDF文件,并将其存储在缓冲区中 return pdfBuffer; }
透過上述程式碼,我們將參數化的HTML轉換為PDF格式,然後將檔案儲存在位元組陣列中。 HtmlToPdfConverter類別是WkHtmlToPdf庫的核心類,它提供了許多有用的選項來配置PDF輸出。在上述程式碼中,我們設定了頁面大小和頁面方向等選項。
接下來,讓我們如何在ASP.NET MVC應用程式中使用我們的HtmlToPdfConverter類別。首先,我們需要在控制器中建立一個操作方法來呼叫我們的轉換器。例如:
public ActionResult ConvertHtmlToPdf() { string html = "测试HTML转PDF
"; byte[] pdfBuffer = new HtmlToPdfConverter().ConvertHtmlToPdf(html); return File(pdfBuffer, "application/pdf"); // 返回转换后的PDF文件 }
在這個範例中,我們從簡單的HTML字串中取得內容,將其傳遞給我們的HtmlToPdfConverter方法,並從傳回的位元組陣列中取得PDF檔案。最後,我們使用MVC傳回類型「File」將PDF檔案傳送到客戶端。在這個回傳類型中,第一個參數是位元組數組,第二個參數是輸出MIME類型,也就是「application/pdf」。
最後,我們將操作方法配置為在某個URL上呼叫。例如,在預設路由中新增以下程式碼,以便存取「/Home/ConvertHtmlToPdf」:
routes.MapRoute( name: "ConvertHtmlToPdf", url: "Home/ConvertHtmlToPdf", defaults: new { controller = "Home", action = "ConvertHtmlToPdf" });
接下來,我們只需在應用程式中導航到該URL即可將HTML轉換為PDF。
本文中,我們介紹如何在ASP.NET MVC應用程式中使用C#將HTML轉換為PDF。我們使用WkHtmlToPdf庫來執行HTML到PDF的轉換,並使用簡單的操作方法將其輸出到客戶端。此方法可用於產生各種類型的PDF文件,有助於優化應用程式的使用者體驗和資料共享。
以上是html 轉 pdf c的詳細內容。更多資訊請關注PHP中文網其他相關文章!