使用IRONPDF 在C#中生成PDF文件 Curtis Chau 更新日期:8月 24, 2025 Download IronPDF NuGet 下載 DLL 下載 Windows 安裝程式 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 辦公文件和報告通常需要從各種格式(包括HTML)轉換為PDF文件。 我們可能還需要從網頁或URL生成PDF文件。 為此,我們需要一個多功能的生成器,能夠生成包含與原始HTML文件完全相同內容的PDF文件。 在本教程中,我們將學習如何在C#中生成PDF文件。 class="hsg-featured-snippet"> 如何在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支持標準的Web文檔: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文檔 任何URL IronPDF功能 IronPDF幫助您從HTML 4和5、CSS和JavaScript創建PDF文檔,並從URL創建PDF文件。 它還幫助以自定義網絡登錄憑據、用戶代理、代理、Cookie、HTTP標頭和表單變量加載URL,允許在HTML登錄表單後登錄。 您可以輕鬆地從PDF提取圖像和文本,並將新的HTML內容標記到任何現有的PDF頁面上,也允許您添加邏輯或HTML標頭和頁腳。 它可以輕鬆載入並提取現有的PDF文件,合併並拆分PDF文檔中的內容。 它提供自定義的'基本URL',允許跨Web的資源文件可訪問,並接受以任何主要文件編碼編碼的HTML(默認為UTF-8)。 您可以簡單地從文件、二進制數據或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 IDE包括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 $vbLabelText $csharpLabel 查看IronPDF在NuGet上的安裝和更新以了解更多關於版本更新和安裝的內容。 IronPDF NuGet Packages中有其他可用於特定部署到Linux、Mac、Azure和AWS目標的文檔IronPDF高級NuGet安裝指南中有記錄。 現在已安裝IronPDF庫,讓我們轉到下一步。 從HTML字符串生成PDF文件 IronPDF可以很容易地從HTML文本生成PDF文件。 以下示例展示了這種能力。 當您只需向PDF文件中添加簡單文本時使用此選項。 添加以下命名空間: using IronPdf; using IronPdf; Imports IronPdf $vbLabelText $csharpLabel 使用以下代碼示例: 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") $vbLabelText $csharpLabel 在上面的代碼中,我創建了一個新的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") $vbLabelText $csharpLabel 在執行您的C#專案後,您的專案bin文件夾中會有一個名為"FirstPDFDocument.pdf"的文件。 雙擊該文件,PDF文件將在瀏覽器選項卡中打開。 在C#中創建PDF文件或將HTML轉換為PDF,只需使用IronPDF的一些代碼行即可完成。 從URL生成PDF文檔 在C#中使用URL創建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") $vbLabelText $csharpLabel 以下是上述代碼的輸出。 其他将流行复杂网站转化为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") $vbLabelText $csharpLabel 輸入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") $vbLabelText $csharpLabel PDF文件輸出: 從ASP.NET Web Forms生成PDF文檔 我們可以通過一行代碼由ASP.NET網頁表單而不是HTML生成PDF文件。 將這行代碼放在網頁代碼後面的Page_Load方法中。 創建新的ASP.NET網頁應用程序或打開現有的ASP.NET網頁應用程序 為IronPDF庫安裝NuGet包 使用適當的關鍵字導入IronPDF命名空間 打開要呈現為PDF的頁面的代碼後面。 例如,Default.aspx.cs 在Page Load函數中編寫以下代碼。 AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser); AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser); AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser) $vbLabelText $csharpLabel PDF文件輸出: 從ASP MVC視圖生成PDF文件 我們可以從ASP MVC框架生成PDF文件。 在Visual Studio中啟動新項目嚮導,並選擇ASP.NET Web Application(.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 Function $vbLabelText $csharpLabel PDF文件輸出: 添加標頭和頁腳 打印選項屬性允許您為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") $vbLabelText $csharpLabel 帶有標頭和頁腳的PDF文件輸出 添加標頭和頁腳 with 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") $vbLabelText $csharpLabel 如上所述,此示例在.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") $vbLabelText $csharpLabel 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") $vbLabelText $csharpLabel 使用"合併"功能將多個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 $vbLabelText $csharpLabel 您需要添加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 } $vbLabelText $csharpLabel 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() $vbLabelText $csharpLabel 如果這無法實現,可能是因為您的文本實際上嵌入在圖像中。 使用IronOCR庫掃描文件中那些不是純文本的可視文本。 總結 您可以生成、操作和格式化PDF文件,只需幾行代碼,就能以任何想要的方式。 只需指定操作,IronPDF將處理它們。 還有一個免費的版本供開發使用,以及購買前的免費試用。 市場上還有其他PDF生成庫,但許多在性能上都相對較慢或需要支付開發費用。 IronPDF .NET 庫現在可以與Iron Suite for .NET一起使用。 Iron Suite包含其他.NET庫,如IronXL、IronOCR、Iron Barcode等。 這些其他庫對開發人員非常有用,因此建議嘗試。 如果您購買完整的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?相容 .NET 10 能帶來哪些好處? 是的,IronPDF 完全相容於 .NET 10。它與先前的 .NET 版本一樣,可以在 .NET 10 專案中開箱即用,支援 Windows、Linux、容器和 macOS 等多種平台。其優勢包括更高的運行時效能、無需任何配置即可使用,以及可以使用新的 C# 語言特性和非同步友善的 API。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 相關文章 發表日期 11月 13, 2025 如何在 C# 中合併兩個 PDF 位元組數組 使用 IronPDF 在 C# 中合併兩個 PDF 位元組數組。學習如何透過簡單的程式碼範例,將來自位元組數組、記憶體流和資料庫的多個 PDF 文件合併在一起。 閱讀更多 發表日期 11月 13, 2025 如何在 ASP.NET MVC 中創建 PDF 檢視器 為 ASP.NET MVC 應用程式構建一個強大的 PDF 檢視器。顯示 PDF 文件,將視圖轉換為 PDF,使用 IronPDF 添加互動功能。 閱讀更多 發表日期 11月 13, 2025 如何建立 .NET HTML 轉 PDF 轉換器 學習如何在.NET中使用IronPDF將HTML轉換為PDF。 閱讀更多 x509certificate2程式化添加數碼簽名到PDF如何在ASP.NET中使用C#和IronP...
發表日期 11月 13, 2025 如何在 C# 中合併兩個 PDF 位元組數組 使用 IronPDF 在 C# 中合併兩個 PDF 位元組數組。學習如何透過簡單的程式碼範例,將來自位元組數組、記憶體流和資料庫的多個 PDF 文件合併在一起。 閱讀更多
發表日期 11月 13, 2025 如何在 ASP.NET MVC 中創建 PDF 檢視器 為 ASP.NET MVC 應用程式構建一個強大的 PDF 檢視器。顯示 PDF 文件,將視圖轉換為 PDF,使用 IronPDF 添加互動功能。 閱讀更多