在C#中生成PDF文件
辦公室文件和報告經常需要從各種格式(包括 HTML)轉換為 PDF 文件。 我們也可能需要從網頁或URL產生PDF文件。 為此,我們需要一個功能全面的生成器,它可以產生包含與原始 HTML 檔案完全相同內容的 PDF 檔案。 在本教程中,我們將學習如何在 C# 中產生 PDF 檔案。
如何在 C# 中產生 PDF

- 安裝用於產生PDF檔案的C#庫。
- 根據HTML字串產生PDF文件。
- 根據URL產生PDF文件。
- 從HTML來源檔案產生PDF文件。
- 從 ASP.NET 網頁產生 PDF 文件。
- 為產生的PDF文件新增自訂頁首和頁尾。
- 更多的...
什麼是 IronPDF?
IronPDF .NET PDF 庫受到許多設計師的認可,尤其是使用 C# 的電腦程式設計師。 毫無疑問,使用這款出色的工具,您可以為 .NET 建立核心 PDF 庫。
IronPDF 使用 .NET Chromium 引擎將 HTML 頁面轉換為 PDF 文件。 使用 HTML 轉 PDF 功能,無需使用複雜的 API 來定位或規劃 PDF。 IronPdf 支援標準的網頁文件:HTML、ASPX、JS、CSS 和圖片。
它還允許您使用 HTML5、CSS、JavaScript 和圖像建立 .NET 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 成功詳情和原始程式碼中調試錯誤訊息的官方日誌文件。
相容性
它支援 .NET 語言,例如 C#、VB.NET 和 F#。 它與 .NET 平台相容,例如 .NET 6、5、Core 2x 和 3x、Standard 2 和 Framework 4x。 它適用於控制台、Web 和桌面等應用程序,並受 Microsoft Windows、Linux、macOS、Docker 和 Azure OS 支援。 IronPDF 整合開發環境包括 Microsoft Visual Studio、JetBrains ReSharper 和 Rider。
產生PDF文件的步驟
首先,我們需要建立一個新的 Visual Studio 專案。 本次示範我將使用控制台應用程式範本。 您可以根據自己的需求和選擇使用任何一種。
您也可以使用現有的項目,並在其中新增 PDF 文件產生工具。
建立一個 Visual Studio 項目
開啟 Microsoft Visual Studio 2019 或任何其他版本。 建議使用最新版本。 點擊"建立新項目"。 選擇 C# 控制台應用程式作為應用程式模板。 點擊"下一步"按鈕。
為你的項目命名。 我把它命名為"C Sharp Generate PDF"。 你可以隨意命名。 按一下"下一步"按鈕,並設定目標 .NET Framework。 我已將目標 .NET 框架設定為".NET 5.0",這是最新的穩定版本。 點擊"創建"按鈕。 我們將為您建立一個新專案。
在 Visual Studio 中安裝 NuGet 套件
在開始之前,我們需要安裝 IronPDF 庫。 您可以透過以下三種方法之一進行安裝:
軟體包管理器控制台
在軟體包管理器控制台中輸入以下命令。 它將為您下載並安裝該軟體包。
Install-Package IronPdf

NuGet 套件管理器解決方案
您也可以使用 NuGet 套件解決方案安裝條碼庫。 只需按照以下步驟操作:
點選"工具">"NuGet 套件管理器">"管理 NuGet 套件解決方案"。

這將開啟 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 檔案。 以下範例說明了此功能。 如果您只需要在 PDF 文件中添加簡單的文本,請使用此選項。
新增以下命名空間:
using IronPdf;using IronPdf;Imports IronPdf以下程式碼範例可供參考:
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");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");Dim 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")在上面的程式碼中,我創建了一個新的ChromePdfRenderer 。 然後我呼叫了RenderHtmlAsPdf和SaveAs來儲存結果。
輸出
運行程式。 由於我們沒有指定路徑,它將在專案的 bin 資料夾中產生一個 PDF 文件。

產生您的第一個 PDF 文件
安裝 IronPDF 庫後,我們只需幾行程式碼即可輕鬆建立 PDF 文件和 PDF 頁面。 現在我們將協助您用 C# 建立您的第一個 PDF 文件。 複製以下程式碼,將其貼上到 Visual Studio 中並執行程式。
var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");Dim pdf = New ChromePdfRenderer()
Dim doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>")
doc.SaveAs("FirstPDFDocument.pdf")C# 專案執行完畢後,專案 bin 資料夾中將出現一個名為"FirstPDFDocument.pdf"的檔案。 雙擊該文件,PDF 文件將在瀏覽器標籤頁中開啟。

使用 IronPDF,只需幾行程式碼即可在 C# 中建立 PDF 檔案或將 HTML 轉換為 PDF。
從 URL 產生 PDF 文檔
使用 URL 在 C# 中建立 PDF 檔案就像上面的範例一樣簡單,只需要這三行程式碼。 以下程式碼將示範如何使用IronPDF 從 URL 建立 PDF 。
using IronPdf;
var Renderer = new ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");using IronPdf;
var Renderer = new ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");Imports IronPdf
Private Renderer = New ChromePdfRenderer()
' Create a PDF from a URL or local file path
Private pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")
' Export to a file or Stream
pdf.SaveAs("url.pdf")以下是上述程式碼的輸出。

將熱門複雜網站轉換為 PDF 的其他範例。

從 HTML 文件產生 PDF 文件
我們可以從包含圖像、CSS、表單、超連結和 JavaScript 的 HTML 檔案產生 PDF 文件。 如果您可以本機存取來源文檔,請使用此方法。
本範例使用RenderHtmlFileAsPdf並傳回一個名為PDF變數。
呼叫SaveAs將輸出儲存為 PDF 檔案。
以下程式碼範例假設專案的 bin 資料夾中有一個 HTML 檔案。
var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderHtmlFileAsPdf("AccountPage.html");
pdf.SaveAs("AccountPdf.pdf");var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderHtmlFileAsPdf("AccountPage.html");
pdf.SaveAs("AccountPdf.pdf");Dim Renderer = New ChromePdfRenderer()
Dim pdf = Renderer.RenderHtmlFileAsPdf("AccountPage.html")
pdf.SaveAs("AccountPdf.pdf")輸入HTML程式碼:

生成的PDF文件輸出:

從 URL 產生 PDF 文件
我們可以用幾行 C# 或 VB.NET 程式碼從現有網頁產生 PDF 檔案。 當您需要從網站上已有的格式良好的文件產生 PDF 文件時,請使用此選項。
呼叫RenderUrlAsPdf下載網頁內容,以便您可以呼叫SaveAs將 PDF 檔案儲存到本機。
var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
pdf.SaveAs("wikipedia.pdf");var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
pdf.SaveAs("wikipedia.pdf");Dim Renderer = New ChromePdfRenderer()
Dim pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")
pdf.SaveAs("wikipedia.pdf")PDF文件輸出:

從 ASP.NET Web Forms 產生 PDF 文檔
我們可以使用一行程式碼,從 ASP.NET Web 表單而不是 HTML 產生 PDF 文件。 將這行程式碼放在頁面後台程式碼的Page_Load方法中。
- 建立一個新的 ASP.NET Web Forms 應用程式或開啟現有的應用程式
- 安裝 IronPDF 庫的 NuGet 套件
- 使用適當的關鍵字匯入 IronPDF 命名空間
- 開啟要渲染成 PDF 的頁面的程式碼隱藏檔案。 例如,Default.aspx.cs
- 將以下程式碼寫入頁面載入函數中。
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser)PDF文件輸出:

從 ASP MVC 視圖產生 PDF 文件
我們可以利用 ASP MVC 框架來產生 PDF 文件。
在 Visual Studio 中啟動新專案精靈,然後選擇 ASP.NET Web 應用程式 (.NET Framework) > MVC。 或者,開啟一個現有的 MVC 專案。 開啟 Controllers 資料夾中的HomeController文件,取代 Index 方法,或新增一個新的控制器。
以下是程式碼範例:
public ActionResult Index()
{
var pdf = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
return File(pdf.BinaryData, "application/pdf", "Wiki.Pdf");
}
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}public ActionResult Index()
{
var pdf = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
return File(pdf.BinaryData, "application/pdf", "Wiki.Pdf");
}
public ActionResult About()
{
ViewBag.Message = "Your application description page.";
return View();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}Public Function Index() As ActionResult
Dim pdf = IronPdf.ChromePdfRenderer.StaticRenderUrlAsPdf(New Uri("https://en.wikipedia.org"))
Return File(pdf.BinaryData, "application/pdf", "Wiki.Pdf")
End Function
Public Function About() As ActionResult
ViewBag.Message = "Your application description page."
Return View()
End Function
Public Function Contact() As ActionResult
ViewBag.Message = "Your contact page."
Return View()
End FunctionPDF文件輸出:

新增頁首和頁尾
"列印選項"屬性可讓您為 PDF 檔案的每一頁建立頁首和頁尾。您可以在ChromePdfRenderer物件上存取這些選項。 本範例在 .NET Core 主控台應用程式中運作。
- 使用這些模板屬性來建立內容。
{page}{total-pages}{url}{date}{time}{html-title}&{pdf-title}
編寫以下程式碼:
var ChromePdfRenderer = new ChromePdfRenderer();
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}";
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>")
.SaveAs("GeneratePDF.pdf");var ChromePdfRenderer = new ChromePdfRenderer();
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}";
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>")
.SaveAs("GeneratePDF.pdf");Dim ChromePdfRenderer As New ChromePdfRenderer()
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}"
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>").SaveAs("GeneratePDF.pdf")輸出帶有頁首和頁尾的PDF文件

使用 HTML 新增頁首和頁尾
我們可以在 PDF 文件的頁首和頁尾中新增文字、日期、時間和頁碼。
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
Height = 15,
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
Height = 20,
HtmlFragment = "This is Footer {date}",
};
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>")
.SaveAs("GeneratePDF.pdf");var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
Height = 15,
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
Height = 20,
HtmlFragment = "This is Footer {date}",
};
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>")
.SaveAs("GeneratePDF.pdf");Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.Height = 15,
.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
.DrawDividerLine = True
}
ChromePdfRenderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
.Height = 20,
.HtmlFragment = "This is Footer {date}"
}
ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>").SaveAs("GeneratePDF.pdf")如上所示,此範例可在 .NET Core 控制台應用程式中執行。使用HtmlFragment屬性指定 HTML。

使用密碼加密 PDF 文件
我們可以產生帶有密碼的PDF文件。 設定 PDF 文件的"密碼"屬性,即可加密,並強制使用者輸入正確的密碼以查看文件。 此範例可在 .NET Core 控制台應用程式中執行。
var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>");
pdfDocument.Password = "Password@1234";
pdfDocument.SaveAs("secured.pdf");var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>");
pdfDocument.Password = "Password@1234";
pdfDocument.SaveAs("secured.pdf");Dim ChromePdfRenderer As New ChromePdfRenderer()
Dim pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>")
pdfDocument.Password = "Password@1234"
pdfDocument.SaveAs("secured.pdf")PDF文件輸出:

合併和拆分PDF文檔
我們可以將多個PDF文件合併成一個新的PDF文件。 使用以下程式碼進行合併和拆分。
var ChromePdfRenderer = new ChromePdfRenderer();
// Join Multiple Existing PDFs into a single document
var pdfDocuments = new List<PdfDocument>
{
PdfDocument.FromFile("AccountPdf.pdf"),
PdfDocument.FromFile("GeneratePDF.pdf"),
PdfDocument.FromFile("wikipedia.pdf")
};
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 from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
// Copy pages 1,2 and save them as a new document
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf");var ChromePdfRenderer = new ChromePdfRenderer();
// Join Multiple Existing PDFs into a single document
var pdfDocuments = new List<PdfDocument>
{
PdfDocument.FromFile("AccountPdf.pdf"),
PdfDocument.FromFile("GeneratePDF.pdf"),
PdfDocument.FromFile("wikipedia.pdf")
};
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 from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
// Copy pages 1,2 and save them as a new document
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf");Dim ChromePdfRenderer As New ChromePdfRenderer()
' Join Multiple Existing PDFs into a single document
Dim pdfDocuments = New List(Of PdfDocument) From {PdfDocument.FromFile("AccountPdf.pdf"), PdfDocument.FromFile("GeneratePDF.pdf"), PdfDocument.FromFile("wikipedia.pdf")}
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 from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1)
mergedPdfDocument.SaveAs("merged.pdf")
' Copy pages 1,2 and save them as a new document
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf")使用"合併"功能將多個 PDF 檔案合併在一起,或使用"複製頁面"功能從現有文件中分割出若干頁面。 將 PDF 檔案作為"內容"新增至專案中,即可透過檔案名稱存取它們。

從PDF文件中提取影像
此功能需要額外的 NuGet 套件。 安裝System.Drawing.Common 。 使用ExtractAllText取得文本,使用ExtractAllImages取得映像。
var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
// Get all text
var allText = pdfDocument.ExtractAllText();
// Get all Images
var allImages = pdfDocument.ExtractAllImages();
// Or even find the 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();
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
// Get all text
var allText = pdfDocument.ExtractAllText();
// Get all Images
var allImages = pdfDocument.ExtractAllImages();
// Or even find the 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 As New ChromePdfRenderer()
Dim pdfDocument = PdfDocument.FromFile("wikipedia.pdf")
' Get all text
Dim allText = pdfDocument.ExtractAllText()
' Get all Images
Dim allImages = pdfDocument.ExtractAllImages()
' Or even find the 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 index您需要新增System.Drawing才能將影像儲存為點陣圖。
啟用 JavaScript
我們可以使用 IronPDF 在瀏覽器中啟用 JavaScript。 下面的程式碼範例向我們展示如何在網頁瀏覽器中啟用 JavaScript。
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions = new ChromePdfRenderer()
{
EnableJavaScript = true,
RenderDelay = 100
};var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions = new ChromePdfRenderer()
{
EnableJavaScript = true,
RenderDelay = 100
};Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions = New ChromePdfRenderer() With {
.EnableJavaScript = True,
.RenderDelay = 100
}PDF OCR和文字擷取
在許多情況下,您可以直接從 PDF 文件中提取嵌入文字。 編寫以下程式碼:
PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
// Get all text
string Text = PDF.ExtractAllText();PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
// Get all text
string Text = PDF.ExtractAllText();Dim PDF As PdfDocument = PdfDocument.FromFile("GeneratePDF.pdf")
' Get all text
Dim Text As String = PDF.ExtractAllText()如果這樣做行不通,可能是因為你的文字實際上嵌入在圖像中。
使用 IronOCR 庫掃描文檔,尋找非純文字的視覺文字。
摘要
只需幾行程式碼,您就可以產生 PDF 文檔,並以您想要的任何方式對其進行操作和格式化。 只需指定操作,IronPDF 就會處理它們。 此外,還有用於開發的免費版本和購買前的免費試用版。 市面上還有其他 PDF 生成庫,但很多要么效能慢,要么需要付費開發。
IronPDF .NET 程式庫現已隨 Iron Suite for .NET 一起提供。 Iron Suite 包含其他 .NET 函式庫,例如 IronXL、IronOCR、IronBarcode 等。這些程式庫對開發人員非常有用,因此建議嘗試使用它們。 如果您購買全套 Iron Suite 產品,即可以兩件產品的價格獲得全部五件產品。 更多詳情,請點選IronPDF 套件資訊。
您可以從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# 中加密 PDF 文件,方法是將 PdfDocument 物件的 Password 屬性設定為所需的密碼。
如何使用 C# 合併或分割 PDF 檔案?
使用 IronPDF,您可以使用 Merge 方法將多個 PDF 合併為單一文件。要分割文件,您可以使用 CopyPages 方法來提取特定頁面。
使用 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。






