在瀏覽各種網站時,您可能希望將網頁的 HTML 內容下載為 PDF 文件以供日後使用。在這種情況下,您需要一個一體化轉換器來將您的內容從 HTML 正確轉換為 PDF。作為 C# 開發人員,我們可以輕鬆地將 HTML 內容從 HTML 文件轉換為 PDF 文檔。我們還可以從 HTML 字符串生成 PDF 文檔,或從實時 URL 將網頁另存為 PDF。在本文中,我們將學習如何在 C# 中從 HTML 生成 PDF。
本文應涵蓋以下主題:
從 HTML 生成 PDF 的 C# API
要從 HTML 文件生成 PDF 文檔,我們將使用 Aspose.HTML for .NET API。它是一種高級 HTML 處理 API,允許從 HTML 文檔創建、修改和提取數據。它還允許在沒有任何外部軟件的情況下轉換和呈現 HTML 文檔。
API 的 HTMLDocument 類表示我們在瀏覽器中看到的 HTML 文檔或網頁。 PdfSaveOptions 類允許在另存為 PDF 時指定各種保存選項。我們有 Converter 類,它提供對流行格式(如 PDF、XPS、圖像格式等)的廣泛轉換。它提供 ConvertHTML() 方法將 HTML 轉換為其他格式格式。
請 下載 API 的 DLL 或使用 NuGet 安裝它。
PM> Install-Package Aspose.Html
在 C# 中從 HTML 生成 PDF 文檔
我們可以按照以下步驟輕鬆地從 HTML 文件生成 PDF 文檔:
- 首先,使用 HTMLDocument 類加載 HTML 文檔。
- 接下來,創建 PdfSaveOptions 類的實例。
- 最後,調用 Converter.ConvertHTML() 方法生成 PDF。它以 HTMLDocument、PdfSaveOptions 和輸出 PDF 文件路徑作為參數。
以下代碼示例顯示瞭如何使用 C# 從 HTML 文件生成 PDF 文檔。
// 此代碼示例演示如何從 HTML 文件生成 PDF 文檔。
// 輸入 HTML 文件路徑
string documentPath = @"C:\Files\sample.html";
// 輸出PDF文件路徑
string savePath = Path.Combine(@"C:\Files\output.pdf");
// 加載輸入 HTML 文件
var document = new HTMLDocument(documentPath);
// 初始化 PdfSaveOptions
var options = new PdfSaveOptions();
// 將 HTML 轉換為 PDF
Converter.ConvertHTML(document, options, savePath);
使用 C# 中的保存選項將 HTML 轉換為 PDF
我們可以按照下面給出的步驟從帶有附加保存選項的 HTML 文件生成 PDF 文檔:
- 首先,使用 HTMLDocument 類加載 HTML 文檔。
- 接下來,創建 PdfSaveOptions 類的實例。
- 之後,指定保存選項,例如 HorizontalResolution、VerticalResolution 等。
- 最後,調用 Converter.ConvertHTML() 方法生成 PDF。
以下代碼示例顯示瞭如何使用 C# 中的其他選項從 HTML 文件生成 PDF。
// 此代碼示例演示如何使用保存選項從 HTML 文件生成 PDF 文檔。
// 輸入 HTML 文件路徑
string documentPath = @"C:\Files\sample.html";
// 輸出PDF文件路徑
string savePath = Path.Combine(@"C:\Files\output.pdf");
// 加載輸入 HTML 文件
var document = new HTMLDocument(documentPath);
// 初始化 PdfSaveOptions。
// 設置頁面大小、邊距、分辨率並將背景顏色更改為 AliceBlue
var options = new PdfSaveOptions()
{
HorizontalResolution = 200,
VerticalResolution = 200,
JpegQuality = 100,
BackgroundColor = Color.AliceBlue
};
options.PageSetup.AnyPage = new Page(new Aspose.Html.Drawing.Size(600, 300), new Margin(20, 10, 10, 10));
// 將 HTML 轉換為 PDF
Converter.ConvertHTML(document, options, savePath);
在 C# 中從 HTML 字符串生成 PDF
我們還可以按照以下步驟從 HTML 字符串生成 PDF 文檔:
- 首先,創建 PdfSaveOptions 類的實例。
- 或者,定義保存選項。
- 最後,調用 Converter.ConvertHTML() 方法生成 PDF。它以 HTML 字符串、PdfSaveOptions 和輸出 PDF 文件路徑作為參數。
以下代碼示例顯示瞭如何使用 C# 從 HTML 字符串生成 PDF。
// 此代碼示例演示如何從 HTML 字符串生成 PDF 文檔。
string htmlString = @"<h1>Convert HTML to PDF!</h1><br/><h2>This is Sample Heading!</h2><p>This is first paragraph.</p>";
// 初始化 PdfSaveOptions
var options = new PdfSaveOptions();
// 調用 ConvertHTML 方法將 HTML 代碼轉換為 PDF
Converter.ConvertHTML(htmlString, ".", options, @"C:\Files\HtmlStringToPdf.pdf");
在 C# 中從 Live URL 生成 PDF
在上一節中,我們了解瞭如何從 HTML 字符串生成 PDF。我們還可以按照以下步驟將網頁從 URL 保存為 PDF 文檔:
- 首先,使用網頁的 URL 創建 Url 類的實例。
- 接下來,創建 PdfSaveOptions 類的實例。
- 或者,定義保存選項。
- 最後,使用 Converter.ConvertHTML() 方法將 HTML 保存為 PDF。它以 Url、PdfSaveOptions 和輸出 PDF 文件路徑作為參數。
以下代碼示例展示瞭如何使用 C# 從 Live URL 生成 PDF。
// 網址
Url url = new Url("https://docs.aspose.com/diagram/net/");
// 初始化 PdfSaveOptions
var options = new PdfSaveOptions();
// 將 HTML 代碼轉換為 PDF
Converter.ConvertHTML(url, options, @"C:\Files\outputFrom網址.pdf");
獲得免費許可證
您可以獲得免費的臨時許可證 試用 Aspose.HTML for .NET,而沒有評估限制。
結論
在本文中,我們學習瞭如何:
- 以編程方式加載 HTML 文件;
- 定義 PDF 保存選項;
- 將 HTML 字符串保存為 PDF;
- 將網頁保存為 PDF 文檔;
- 在 C# 中將 HTML 文件轉換為 PDF。
除了在 C# 中從 HTML 生成 PDF 之外,您還可以使用 文檔 了解有關 Aspose.HTML for .NET API 的更多信息。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。