如何使用C#在ASP.NET中生成PDF
HTML和URL生成PDF是2026年.NET開發人員的關鍵能力,無論您是將網頁轉換為文件、存檔線上內容,還是將HTML報告轉換為便攜格式。 使用正確的.NET PDF程式庫,您可以只需幾行程式碼捕捉網頁和HTML內容為專業的PDF文件,保持原始來源的外觀和結構。
IronPDF是HTML到PDF轉換時最簡單、最通用的.NET PDF生成器 - 它具有非常簡單的學習曲線,讓您能在幾分鐘內而非數小時內從網頁內容生成PDF。 這本全面的指南將向您展示如何使用IronPDF從HTML和URL在C#中生成PDF文件 - 這是一個能提供像素完美結果的強大生成器,支持所有現代.NET平台,包括.NET 10和C# 14(均於2025年11月發行)。 雖然本教程涵蓋了從簡單的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操作功能。 專為C#開發人員構建,IronPDF消除了與PDF生成相關的傳統複雜性。
IronPDF使用.NET Chromium引擎將HTML頁面轉換為PDF文件。 使用HTML到PDF,不需要使用複雜的API來定位或設計PDF。 IronPDF支持標準網頁文件:HTML、ASPX、JS、CSS和圖像。
它允許您使用HTML5、CSS3、JavaScript和圖像建立PDF文件。 您可以輕鬆編輯、加印和向PDF新增頁眉和頁腳。 此外,它讓用IronPDF高效地讀取PDF內容並提取圖像變得簡單。
IronPDF提供了解決所有PDF相關問題的全面解決方案。 使用IronPDF時,您可以在一個程式庫中獲得所有的轉換,以及PDF操作任務,不需要外部依賴。 IronPDF是一個完整的包,是開發人員和C#程式設計師的好工具。
IronPDF幫助我們從以下生成PDF文件:
- HTML字串和範本
- ASPX WebForms
- MVC視圖
- HTML文件
- 任何URL
IronPDF功能
IronPDF幫助您從HTML 4和5、CSS和JavaScript建立PDF文件,並從URL生成PDF。 它還能載入具有自定義網路登錄憑證、使用者代理、代理、Cookie、HTTP標頭和表單變數的URL,允許在HTML登錄表單後面登錄。 您可以輕鬆地從PDF中提取圖像和文字,將新的HTML內容加印到現有PDF頁面上,以及新增邏輯或HTML頁眉和頁腳。 它可以載入並提取現有的PDF文件,合併和拆分PDF文件中的內容。 它具有自定義的"基URL",允許網上的資源文件存取,並接受任何主要文件編碼中的HTML(預設為UTF-8)。 您可以從文件、二進制資料或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。 它可以在控制台、網頁和桌面版應用上運行,並由Microsoft Windows、Linux、macOS、Docker和Azure支持。 IronPDF與Microsoft Visual Studio 2022/2026、JetBrains ReSharper和Rider配合使用。 此程式庫完全相容C# 14(於2025年11月發佈)。
生成PDF文件的步驟
首先,建立一個新的Visual Studio項目。 本教程使用Console Application範本,但可以根據您的需求使用任何範本。
您也可以將其用於您的現有項目中,想要新增PDF生成功能。
建立Visual Studio項目
打開Microsoft Visual Studio(推薦使用2022或2026版本)。 點擊"建立新項目"。 選擇C# Console Application範本。 點擊"下一步"。
給您的項目指定一個名稱。 本教程使用的是"CSharpGeneratePDF",但您可以選擇任何名稱。 點擊"下一步",並設置目標.NET Framework。 我們推薦使用.NET 10(最新的LTS)或.NET 9。 點擊"建立",將建立一個新項目。
在Visual Studio中安裝NuGet包
在開始之前,使用以下方法之一安裝IronPDF Library:
包管理器控制台
在包管理器控制台中輸入以下命令,以下載並安裝包:
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
查看IronPDF在NuGet上有關安裝和更新的內容,以了解有關版本更新和安裝的更多資訊。
還有其他IronPDF NuGet Packages,適用于特定的Linux、Mac、Azure和AWS目標部署,詳情在IronPDF高級NuGet安裝指南中記錄。
IronPDF Library已安裝,接下來我們將進行下一步。
從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")
在上面的程式碼中,建立一個新的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文件顯示渲染的標題
在C#中建立PDF文件或將HTML轉換為PDF只需使用IronPDF的幾行程式碼。
從URL生成PDF文件
在C#中使用URL建立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")
輸出

Wikipedia首頁捕捉為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 Package。 使用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(500-1000毫秒,用於複雜的SPAs)。
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 library以掃描文件中的視覺文字:
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 透過將 PdfDocument 物件的 Password 屬性設置為所需密碼,在 C# 中加密 PDF 文件。
如何使用 C# 合併或分割 PDF 文件?
using IronPDF,您可以透過 Merge 方法合併多個 PDF 到一個文件。要分割文件,您可以使用 CopyPages 方法提取特定頁面。
using IronPDF 的系統要求是什麼?
IronPDF 支持 C#、VB.NET、F# 等 .NET 語言。它與 .NET 6、5、Core 2.x 和 3.x、Standard 2 和 Framework 4.x 相容。它可運行於 Windows、Linux、macOS、Docker 和 Azure OS。
我可以從 C# 的 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# 語言功能和異步友好的 API。




