在C#中生成PDF文件(2026指南)
對於 2026 年的 .NET 開發人員來說,從 HTML 和 URL 產生 PDF 是一項至關重要的能力,無論您是將網頁轉換為文件、存檔線上內容,還是將 HTML 報告轉換為可移植格式。 借助合適的 .NET PDF 庫,只需幾行程式碼即可將網頁和 HTML 內容捕獲為專業的 PDF 文檔,並保留原始原始檔案的確切外觀和結構。
IronPDF是最簡單、最全面的 .NET PDF 產生器,用於將 HTML 轉換為 PDF,其學習曲線非常平緩,只需幾分鐘(而不是幾個小時)即可從 Web 內容產生 PDF。 本綜合指南將向您展示如何使用 IronPDF(一款功能強大的生成器,可產生像素級完美的結果,並支援所有現代 .NET 平台,包括.NET 10 和 C# 14 (均於 2025 年 11 月發布))在C# 中從 HTML 和 URL 生成 PDF 文件。 雖然本教學涵蓋了從簡單的 URL 轉換到複雜的多頁 HTML 報告的所有內容,但不要被嚇倒——從頭開始,逐步學習。 您將學習多種 PDF 生成方法,從捕獲單個網頁到批量轉換 HTML 文件,以及如何解決常見問題並針對各種 HTML 轉 PDF 場景優化效能。
如何在 C# 中產生 PDF
- 安裝用於產生PDF檔案的C#庫。
- 根據HTML字串產生PDF文件。
- 根據URL產生PDF文件。
- 從HTML來源檔案產生PDF文件。
- 從 ASP.NET 網頁產生 PDF 文件。
- 為產生的PDF文件新增自訂頁首和頁尾。
- 更多的...
什麼是 IronPDF?
IronPDF是一個領先的.NET PDF 庫,因其 HTML 到 PDF 的轉換和全面的 PDF 操作功能而受到全球開發人員的認可。 IronPDF 專為 C# 開發人員打造,消除了傳統 PDF 生成過程中存在的複雜性。
IronPDF 使用.NET Chromium 引擎將 HTML 頁面轉換為 PDF 文件。 使用 HTML 轉 PDF,無需使用複雜的 API 來定位或設計 PDF。 IronPDF 支援標準 Web 文件:HTML、ASPX、JS、CSS 和影像。
它使您能夠使用 HTML5、CSS3、JavaScript 和圖像建立 PDF 文件。 您可以輕鬆編輯 PDF 文件,新增圖章、頁首和頁尾。 此外, IronPDF 還可以輕鬆且有效率地讀取 PDF 內容並擷取影像。
IronPDF 為所有與 PDF 相關的問題提供了全面的解決方案。 使用 IronPDF,您可以在一個庫中獲得所有轉換功能以及 PDF 操作任務,無需任何外部相依性。 IronPDF 是一個功能齊全的軟體包,對於開發人員和 C# 程式設計師來說是一個很棒的工具。
IronPDF 可以幫助我們從以下來源產生 PDF 檔案:
- HTML 字串和模板
- ASPX WebForms
- MVC視圖
- HTML 文件 *任何網址
IronPDF 功能
IronPDF 可協助您使用 HTML 4 和 5、CSS 和 JavaScript 建立 PDF 文檔,並可從 URL 產生 PDF。 它還可以載入帶有自訂網頁登入憑證、使用者代理程式、代理程式、Cookie、HTTP 標頭和表單變數的 URL,從而允許在 HTML 登入表單後面登入。 您可以輕鬆地從 PDF 中提取圖像和文本,將新的 HTML 內容新增至現有的 PDF 頁面,並新增邏輯或 HTML 頁首和頁尾。 它可以載入和提取現有的PDF文件,合併和分割PDF文檔中的內容。 它具有自訂的"基本 URL",允許透過網路存取資源文件,並接受以任何主要文件編碼(預設為 UTF-8)編碼的 HTML。 您可以從文件、二進位資料或 MemoryStreams 儲存和加載,將 PDF 文件轉換為 PrintDocument 物件以便無需 Adobe 即可列印(只需編寫最少的程式碼),並匯出有關 API 成功和偵錯錯誤的詳細日誌文件。
相容性
IronPDF 支援 .NET 語言,如C#、VB.NET 和 F# 。 它與.NET 10、.NET 9、.NET 8、.NET 6、.NET 5 、.NET Core 2x 和 3x、.NET Standard 2 以及 .NET Framework 4x 相容。 它適用於控制台、Web 和桌面應用程序,並受 Microsoft Windows、Linux、macOS、Docker 和 Azure 支援。 IronPDF 可與 Microsoft Visual Studio 2022/2026、JetBrains ReSharper 和 Rider 搭配使用。 該庫與 C# 14(2025 年 11 月發布)完全相容。
產生PDF文件的步驟
首先,建立一個新的 Visual Studio 專案。 本教學使用控制台應用程式模板,但您可以根據需要使用任何模板。
您也可以使用現有的項目,並在其中新增 PDF 生成功能。
建立一個 Visual Studio 項目
開啟 Microsoft Visual Studio(建議使用 2022 或 2026 版本)。 點擊"建立新項目"。 選擇 C# 控制台應用程式範本。 點選"下一步"。
為你的項目命名。 本教學使用"CSharpGeneratePDF",但您可以選擇任何名稱。 按一下"下一步",然後設定目標 .NET Framework。 我們推薦使用.NET 10 (最新 LTS 版本)或.NET 9 。 點擊"建立",即可建立新專案。
在 Visual Studio 中安裝 NuGet 套件
在開始之前,請使用以下方法之一安裝 IronPDF 庫:
軟體包管理器控制台
在軟體包管理器控制台中輸入以下命令以下載並安裝軟體包:
Install-Package IronPdf
軟體包管理器控制台顯示 IronPDF 安裝指令
NuGet 套件管理器解決方案
您也可以依照以下步驟使用 NuGet 套件管理器安裝 IronPDF:
點選"工具">"NuGet 套件管理員">"管理解決方案的 NuGet 套件"。
從 Visual Studio 選單存取 NuGet 套件管理器
這將開啟 NuGet 套件管理器。 點擊"瀏覽"並搜尋 IronPDF,如下所示。
在 NuGet 套件管理器中搜尋 IronPDF
點選 IronPDF,然後點選"安裝"。 這將把 IronPDF 安裝到您的專案中。 現在您可以開始使用它的各項功能了。
直接下載 IronPDF ZIP 文件
或者,您可以下載 IronPDF ZIP 套件進行整合。
請記住,使用 IronPDF 時,請務必將以下語句新增至任何 .cs 類別檔案的頂部:
using IronPdf;
using IronPdf;
Imports IronPdf
請訪問NuGet 查看 IronPDF 的安裝和更新信息,以了解更多關於版本更新和安裝的資訊。
IronPDF 也提供了其他適用於 Linux、Mac、Azure 和 AWS 目標的特定部署的 NuGet 套件,這些套件在IronPDF 進階 NuGet 安裝指南中有詳細說明。
IronPDF 庫已經安裝完畢,接下來我們進行下一步。
從 HTML 字串產生 PDF 文件
IronPDF 可以輕鬆地從 HTML 文字產生 PDF 檔案。 以下範例說明了此功能。 當您需要將 HTML 標記轉換為 PDF 時,請使用此選項。
新增以下命名空間:
using IronPdf;
using IronPdf;
Imports IronPdf
以下程式碼範例可供參考:
// Instantiate the PDF renderer
var Renderer = new ChromePdfRenderer();
// Render HTML as PDF and save the result
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF</h1>")
.SaveAs("GeneratePDF.pdf");
// Instantiate the PDF renderer
var Renderer = new ChromePdfRenderer();
// Render HTML as PDF and save the result
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF</h1>")
.SaveAs("GeneratePDF.pdf");
' Instantiate the PDF renderer
Dim Renderer As New ChromePdfRenderer()
' Render HTML as PDF and save the result
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF</h1>") _
.SaveAs("GeneratePDF.pdf")
在上面的程式碼中,建立一個新的 ChromePdfRenderer,然後呼叫 RenderHtmlAsPdf 和 SaveAs 取得結果。
輸出
運行程式。 它將在專案的 bin 資料夾中產生一個 PDF 文件(如果沒有指定路徑)。
根據 HTML 字串產生的 PDF 文件,顯示格式化標題
產生您的第一個 PDF 文件
安裝 IronPDF 後,您只需幾行程式碼即可輕鬆建立 PDF 檔案。 複製以下程式碼,將其貼上到 Visual Studio 中,然後執行程式。
// Create a new PDF renderer
var pdf = new ChromePdfRenderer();
// Render HTML to PDF
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
// Save the document
doc.SaveAs("FirstPDFDocument.pdf");
// Create a new PDF renderer
var pdf = new ChromePdfRenderer();
// Render HTML to PDF
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
// Save the document
doc.SaveAs("FirstPDFDocument.pdf");
' Create a new PDF renderer
Dim pdf As New ChromePdfRenderer()
' Render HTML to PDF
Dim doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>")
' Save the document
doc.SaveAs("FirstPDFDocument.pdf")
執行後,專案 bin 資料夾中將出現一個名為"FirstPDFDocument.pdf"的檔案。 雙擊檔案即可在瀏覽器中開啟。
第一個顯示渲染標題的 PDF 文檔
使用 IronPDF,只需幾行程式碼即可在 C# 中建立 PDF 檔案或將 HTML 轉換為 PDF。
從 URL 產生 PDF 文檔
使用 URL 在 C# 中建立 PDF 檔案與前面的範例一樣簡單,只需三行程式碼即可。 以下程式碼示範如何使用IronPDF 從 URL 建立 PDF 。
using IronPdf;
// Instantiate renderer
var Renderer = new ChromePdfRenderer();
// Render URL as PDF
var PDF = Renderer.RenderUrlAsPdf("https://www.wikipedia.org");
// Save to file
PDF.SaveAs("wikipedia.pdf");
using IronPdf;
// Instantiate renderer
var Renderer = new ChromePdfRenderer();
// Render URL as PDF
var PDF = Renderer.RenderUrlAsPdf("https://www.wikipedia.org");
// Save to file
PDF.SaveAs("wikipedia.pdf");
Imports IronPdf
' Instantiate renderer
Dim Renderer As New ChromePdfRenderer()
' Render URL as PDF
Dim PDF = Renderer.RenderUrlAsPdf("https://www.wikipedia.org")
' Save to file
PDF.SaveAs("wikipedia.pdf")
輸出
維基百科首頁截圖,儲存為PDF文檔,並保留了所有樣式
從 HTML 檔案產生 PDF
IronPDF 也可以從磁碟上現有的 HTML 檔案產生 PDF 檔案。 當您有預先設計好的 HTML 範本或需要轉換的靜態檔案時,這非常有用。
using IronPdf;
// Instantiate renderer
var Renderer = new ChromePdfRenderer();
// Load and render HTML file
var PDF = Renderer.RenderHtmlFileAsPdf("HtmlPage.html");
// Save the PDF
PDF.SaveAs("FromHtmlFile.pdf");
using IronPdf;
// Instantiate renderer
var Renderer = new ChromePdfRenderer();
// Load and render HTML file
var PDF = Renderer.RenderHtmlFileAsPdf("HtmlPage.html");
// Save the PDF
PDF.SaveAs("FromHtmlFile.pdf");
Imports IronPdf
' Instantiate renderer
Dim Renderer As New ChromePdfRenderer()
' Load and render HTML file
Dim PDF = Renderer.RenderHtmlFileAsPdf("HtmlPage.html")
' Save the PDF
PDF.SaveAs("FromHtmlFile.pdf")
輸出
HTML檔案轉換為PDF格式,所有樣式和佈局均得以保留。
從 ASP.NET Web Forms 產生 PDF 文檔
IronPDF 可與 ASP.NET Web Forms 無縫集成,讓您可以將動態網頁渲染為 PDF 文件。
using IronPdf.AspNetCore;
// Render current page as PDF
var currentPagePdf = AspNetCore.RenderThisPageAsPdf();
// Render specific page as PDF
var specificPagePdf = AspNetCore.RenderPageAsPdf("/Page.aspx");
// Render page with parameters
var pageWithParamsPdf = AspNetCore.RenderPageAsPdf("/Page.aspx?id=100");
// Save the result
currentPagePdf.SaveAs("MyASPXPage.pdf");
using IronPdf.AspNetCore;
// Render current page as PDF
var currentPagePdf = AspNetCore.RenderThisPageAsPdf();
// Render specific page as PDF
var specificPagePdf = AspNetCore.RenderPageAsPdf("/Page.aspx");
// Render page with parameters
var pageWithParamsPdf = AspNetCore.RenderPageAsPdf("/Page.aspx?id=100");
// Save the result
currentPagePdf.SaveAs("MyASPXPage.pdf");
Imports IronPdf.AspNetCore
' Render current page as PDF
Dim currentPagePdf = AspNetCore.RenderThisPageAsPdf()
' Render specific page as PDF
Dim specificPagePdf = AspNetCore.RenderPageAsPdf("/Page.aspx")
' Render page with parameters
Dim pageWithParamsPdf = AspNetCore.RenderPageAsPdf("/Page.aspx?id=100")
' Save the result
currentPagePdf.SaveAs("MyASPXPage.pdf")
輸出
ASP.NET WebForm 以 PDF 格式呈現,並包含動態內容
從 ASP.NET MVC 視圖產生 PDF
IronPDF 與 ASP.NET MVC 應用程式完美集成,讓您可以將 MVC 視圖直接渲染為 PDF 文件。
using IronPdf.AspNetCore;
// Render MVC View as PDF
var viewPdf = AspNetCore.RenderViewAsPdf("/Home/Index");
// Render with model data
var modelData = new YourModelClass { Name = "John Doe", OrderId = 12345 };
var viewWithModelPdf = AspNetCore.RenderViewAsPdf("/Views/Invoice/Index", modelData);
// Save the PDF
viewPdf.SaveAs("MyMVCView.pdf");
using IronPdf.AspNetCore;
// Render MVC View as PDF
var viewPdf = AspNetCore.RenderViewAsPdf("/Home/Index");
// Render with model data
var modelData = new YourModelClass { Name = "John Doe", OrderId = 12345 };
var viewWithModelPdf = AspNetCore.RenderViewAsPdf("/Views/Invoice/Index", modelData);
// Save the PDF
viewPdf.SaveAs("MyMVCView.pdf");
Imports IronPdf.AspNetCore
' Render MVC View as PDF
Dim viewPdf = AspNetCore.RenderViewAsPdf("/Home/Index")
' Render with model data
Dim modelData = New YourModelClass With {.Name = "John Doe", .OrderId = 12345}
Dim viewWithModelPdf = AspNetCore.RenderViewAsPdf("/Views/Invoice/Index", modelData)
' Save the PDF
viewPdf.SaveAs("MyMVCView.pdf")
輸出
MVC視圖以PDF格式渲染,包含模型資料和樣式
為PDF文件新增頁首和頁尾
專業的 PDF 文件通常需要頁首和頁腳,用於品牌標識、頁碼、日期和元資料。 IronPDF 提供兩種方法:文字為主的頁首和頁尾以及基於 HTML 的頁首和頁尾。
新增簡單的文字頁首和頁尾
var ChromePdfRenderer = new ChromePdfRenderer();
// Configure page numbering
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1;
// Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}";
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial";
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12;
// Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial";
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10;
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
// Generate PDF with headers and footers
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial</h1>")
.SaveAs("GeneratePDF.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
// Configure page numbering
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1;
// Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}";
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial";
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12;
// Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial";
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10;
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
// Generate PDF with headers and footers
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial</h1>")
.SaveAs("GeneratePDF.pdf");
Dim ChromePdfRenderer = New ChromePdfRenderer()
' Configure page numbering
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1
' Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = True
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}"
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial"
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12
' Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = True
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial"
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"
' Generate PDF with headers and footers
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial</h1>") _
.SaveAs("GeneratePDF.pdf")
輸出帶有頁首和頁尾的PDF文件
帶有文字格式頁首和頁尾的 PDF 文檔,顯示日期、時間和頁碼。
使用 HTML 新增頁首和頁尾
對於更複雜的設計,請使用具有完整樣式控制的基於 HTML 的頁首和頁尾。
var ChromePdfRenderer = new ChromePdfRenderer();
// Configure HTML footer
ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
Height = 15,
HtmlFragment = "<center><i>{page} of {total-pages}</i></center>",
DrawDividerLine = true
};
// Configure HTML header
ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
Height = 20,
HtmlFragment = "<div style='text-align: center; font-weight: bold;'>This is Header {date}</div>",
};
// Generate PDF
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.</h1>")
.SaveAs("GeneratePDF.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
// Configure HTML footer
ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
Height = 15,
HtmlFragment = "<center><i>{page} of {total-pages}</i></center>",
DrawDividerLine = true
};
// Configure HTML header
ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
Height = 20,
HtmlFragment = "<div style='text-align: center; font-weight: bold;'>This is Header {date}</div>",
};
// Generate PDF
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.</h1>")
.SaveAs("GeneratePDF.pdf");
Dim ChromePdfRenderer = New ChromePdfRenderer()
' Configure HTML footer
ChromePdfRenderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.Height = 15,
.HtmlFragment = "<center><i>{page} of {total-pages}</i></center>",
.DrawDividerLine = True
}
' Configure HTML header
ChromePdfRenderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
.Height = 20,
.HtmlFragment = "<div style='text-align: center; font-weight: bold;'>This is Header {date}</div>"
}
' Generate PDF
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.</h1>").SaveAs("GeneratePDF.pdf")
具有基於 HTML 的頁首和頁尾且具有自訂樣式的 PDF 文件
使用密碼加密 PDF 文件
對於敏感文件而言,安全至關重要。 IronPDF 讓使用密碼保護加密 PDF 文件變得簡單。
var ChromePdfRenderer = new ChromePdfRenderer();
// Generate PDF document
var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world</h1>");
// Set password to encrypt the document
pdfDocument.Password = "Password@1234";
// Save the secured PDF
pdfDocument.SaveAs("secured.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
// Generate PDF document
var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world</h1>");
// Set password to encrypt the document
pdfDocument.Password = "Password@1234";
// Save the secured PDF
pdfDocument.SaveAs("secured.pdf");
Dim ChromePdfRenderer = New ChromePdfRenderer()
' Generate PDF document
Dim pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world</h1>")
' Set password to encrypt the document
pdfDocument.Password = "Password@1234"
' Save the secured PDF
pdfDocument.SaveAs("secured.pdf")
PDF 檔案輸出
開啟加密 PDF 文件時提示輸入密碼
合併和拆分PDF文檔
IronPDF 提供強大的功能,可用於合併多個 PDF 文件和分割現有文件中的頁面。
var ChromePdfRenderer = new ChromePdfRenderer();
// Load existing PDFs
var pdfDocuments = new List<PdfDocument>
{
PdfDocument.FromFile("AccountPdf.pdf"),
PdfDocument.FromFile("GeneratePDF.pdf"),
PdfDocument.FromFile("wikipedia.pdf")
};
// Merge PDFs into a single document
var mergedPdfDocument = PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("merged.pdf");
// Add a cover page
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));
// Remove the last page
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
// Extract specific pages
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
// Load existing PDFs
var pdfDocuments = new List<PdfDocument>
{
PdfDocument.FromFile("AccountPdf.pdf"),
PdfDocument.FromFile("GeneratePDF.pdf"),
PdfDocument.FromFile("wikipedia.pdf")
};
// Merge PDFs into a single document
var mergedPdfDocument = PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("merged.pdf");
// Add a cover page
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));
// Remove the last page
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
// Extract specific pages
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf");
Dim ChromePdfRenderer = New ChromePdfRenderer()
' Load existing PDFs
Dim pdfDocuments = New List(Of PdfDocument) From {
PdfDocument.FromFile("AccountPdf.pdf"),
PdfDocument.FromFile("GeneratePDF.pdf"),
PdfDocument.FromFile("wikipedia.pdf")
}
' Merge PDFs into a single document
Dim mergedPdfDocument = PdfDocument.Merge(pdfDocuments)
mergedPdfDocument.SaveAs("merged.pdf")
' Add a cover page
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"))
' Remove the last page
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1)
mergedPdfDocument.SaveAs("merged.pdf")
' Extract specific pages
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf")
將 PDF 檔案作為"內容"新增至專案中,即可透過檔案名稱存取它們。
合併多個來源文件的 PDF 文檔
從PDF文件中提取影像
此功能需要 System.Drawing.Common NuGet 套件。 使用 ExtractAllText 取得文本,使用 ExtractAllImages 取得圖像。
var ChromePdfRenderer = new ChromePdfRenderer();
// Load existing PDF
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
// Get all text
var allText = pdfDocument.ExtractAllText();
// Get all Images
var allImages = pdfDocument.ExtractAllImages();
// Extract images and text by page
for (var index = 0; index < pdfDocument.PageCount; index++)
{
var pageNumber = index + 1;
var pageText = pdfDocument.ExtractTextFromPage(index);
var pageImages = pdfDocument.ExtractImagesFromPage(index);
}
var ChromePdfRenderer = new ChromePdfRenderer();
// Load existing PDF
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
// Get all text
var allText = pdfDocument.ExtractAllText();
// Get all Images
var allImages = pdfDocument.ExtractAllImages();
// Extract images and text by page
for (var index = 0; index < pdfDocument.PageCount; index++)
{
var pageNumber = index + 1;
var pageText = pdfDocument.ExtractTextFromPage(index);
var pageImages = pdfDocument.ExtractImagesFromPage(index);
}
Dim ChromePdfRenderer = New ChromePdfRenderer()
' Load existing PDF
Dim pdfDocument = PdfDocument.FromFile("wikipedia.pdf")
' Get all text
Dim allText = pdfDocument.ExtractAllText()
' Get all Images
Dim allImages = pdfDocument.ExtractAllImages()
' Extract images and text by page
For index = 0 To pdfDocument.PageCount - 1
Dim pageNumber = index + 1
Dim pageText = pdfDocument.ExtractTextFromPage(index)
Dim pageImages = pdfDocument.ExtractImagesFromPage(index)
Next
您需要新增 System.Drawing 才能將影像儲存為點陣圖。
啟用 JavaScript
現代網頁依靠 JavaScript 來實現動態內容。 IronPDF 的 Chromium 引擎完全支援 JavaScript 執行。
var ChromePdfRenderer = new ChromePdfRenderer();
// Enable JavaScript rendering
ChromePdfRenderer.RenderingOptions = new ChromePdfRenderOptions()
{
EnableJavaScript = true,
RenderDelay = 100 // Wait for JavaScript to execute
};
var ChromePdfRenderer = new ChromePdfRenderer();
// Enable JavaScript rendering
ChromePdfRenderer.RenderingOptions = new ChromePdfRenderOptions()
{
EnableJavaScript = true,
RenderDelay = 100 // Wait for JavaScript to execute
};
Dim ChromePdfRenderer = New ChromePdfRenderer()
' Enable JavaScript rendering
ChromePdfRenderer.RenderingOptions = New ChromePdfRenderOptions() With {
.EnableJavaScript = True,
.RenderDelay = 100 ' Wait for JavaScript to execute
}
對於 JavaScript 處理繁重或 AJAX 呼叫較多的頁面,請增加 RenderDelay(複雜 SPA 需要 500-1000 毫秒)。
PDF OCR和文字擷取
在許多情況下,您可以直接從 PDF 文件中提取嵌入文字:
// Load PDF
PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
// Extract all text
string Text = PDF.ExtractAllText();
// Load PDF
PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
// Extract all text
string Text = PDF.ExtractAllText();
' Load PDF
Dim PDF As PdfDocument = PdfDocument.FromFile("GeneratePDF.pdf")
' Extract all text
Dim Text As String = PDF.ExtractAllText()
如果直接提取不起作用,則您的文字可能嵌入在圖像中。 使用IronOCR 庫掃描文件以提取可視文字:
using IronOcr;
var ocr = new IronTesseract();
var result = ocr.Read("scanned-document.pdf");
string recognizedText = result.Text;
using IronOcr;
var ocr = new IronTesseract();
var result = ocr.Read("scanned-document.pdf");
string recognizedText = result.Text;
Imports IronOcr
Dim ocr As New IronTesseract()
Dim result = ocr.Read("scanned-document.pdf")
Dim recognizedText As String = result.Text
摘要
只需幾行程式碼,即可產生 PDF 文檔,並對其進行操作和格式化。 IronPDF 會為您處理所有複雜步驟。 開發用戶可以免費使用,購買前還可以免費試用。 雖然還有其他 PDF 庫,但很多要么效能慢,要么需要複雜的底層編碼。
IronPDF .NET 庫現已隨Iron Suite for .NET一起提供。 Iron Suite 包含五個強大的庫: IronPDF、IronXL、IronOCR、IronBarcode 和 IronQR 。 這些庫可以無縫協作,實現全面的文件處理。 如果您購買完整的 Iron Suite 套裝,您只需支付兩件產品的價格即可獲得全部五件產品。
IronPDF 與.NET 10 和 C# 14 (2025 年 11 月發布)完全相容,同時也相容於 .NET 9、.NET 8、.NET 6 和所有現代 .NET 平台。
您可以從IronPDF C# PDF 產生教學課程下載專案檔。
常見問題解答
如何在 C# 中從 HTML 字符串生成 PDF?
您可以使用 IronPDF 的 ChromePdfRenderer 中的 RenderHtmlAsPdf 方法從 HTML 字符串生成 PDF。此方法將 HTML 內容轉換為 PDF 格式,然後可以使用 SaveAs 方法保存。
我可以從網頁 URL 創建 PDF 文檔嗎?
是的,您可以使用 IronPDF 從網頁 URL 創建 PDF。利用 ChromePdfRenderer 的 RenderUrlAsPdf 方法將網頁內容轉換為 PDF 文檔。
如何在 C# 中向 PDF 添加頁眉和頁腳?
要在 C# 中向 PDF 添加頁眉和頁腳,可以使用 IronPDF 的 ChromePdfRenderer 來設置 RenderingOptions 中的 TextHeader 和 TextFooter 屬性。您可以包含動態元素,如頁碼和日期。
在 C# 中加密 PDF 文檔是否可行?
是的,您可以使用 IronPDF 在 C# 中通過設置 PdfDocument 對象的 Password 屬性為所需密碼來加密 PDF 文檔。
如何使用 C# 合併或拆分 PDF 文件?
使用 IronPDF,您可以通過 Merge 方法將多個 PDF 合併為一個文檔。要拆分文檔,您可以使用 CopyPages 方法來提取特定頁面。
使用 IronPDF 有哪些系統要求?
IronPDF 支持 .NET 語言,如 C#、VB.NET 和 F#。它兼容 .NET 6、5、Core 2.x 和 3.x,Standard 2 和 Framework 4.x。 它可以在 Windows、Linux、macOS、Docker 及 Azure OS 上運行。
我可以從 PDF 文件中提取圖像嗎?
是的,您可以使用 IronPDF 的 ExtractAllImages 方法來從 PDF 文件中提取圖像。確保包含 System.Drawing.Common NuGet 包以處理圖像。
如何在我的 C# 項目中安裝 IronPDF?
您可以通過在 Visual Studio 的 NuGet 包管理器中搜索 IronPDF 或使用包管理器控制台使用命令 Install-Package IronPDF 將 IronPDF 安裝到您的項目中。
IronPDF 提供哪些附加功能?
IronPDF 提供多源創建 PDF、添加頁眉和頁腳、加密文檔、提取文本和圖像、轉換 HTML 內容等功能。它還支持 JavaScript 執行和 OCR 能力,用於從嵌入圖像的 PDF 中提取文本。
IronPDF是否與.NET 10兼容,這帶來了哪些好處?
是的,IronPDF完全與.NET 10兼容。它在.NET 10項目中開箱即用,就像在較早的.NET版本中一樣,跨Windows、Linux、容器和macOS運作。好處包括提高的運行時性能,零配置的解決方案,和訪問新的C#語言功能以及支持async的API。



