IronPDF 教學 用 C# 編輯 PDF How to Edit PDFs in C# Curtis Chau 更新日期:8月 27, 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 This article was translated from English: Does it need improvement? Translated View the article in English Iron Software 將各種 PDF 編輯功能簡化為 IronPDF 庫中易於理解的方法。 不論是添加簽名、添加 HTML 頁腳、印記水印或添加註釋。 IronPDF 是適合你的工具,讓你擁有易讀的代碼、編程化的 PDF 生成、輕鬆的調試,以及無縫地部署到任何支持的環境或平台。 IronPDF 擁有眾多用於編輯 PDF 的功能。 在本教程文章中,我們將介紹一些主要功能,提供代碼示例和解釋。 通過本文,你將能夠很好地理解如何使用 IronPDF 在 C# 中編輯你的 PDF。 快速入門:秒內編輯你的 PDF 文件 使用 IronPDF 在 C# 中輕鬆編輯 PDF 文件。 此快速指南展示瞭如何向現有 PDF 文件添加文本印章。僅需幾行代碼,就可以修改 PDF 並即時保存更改。 完美適合需要快速高效 PDF 編輯解決方案的開發人員。 Get started making PDFs with NuGet now: Install IronPDF with NuGet Package Manager PM > Install-Package IronPdf Copy and run this code snippet. var pdf = IronPdf.PdfDocument.FromFile("example.pdf"); pdf.ApplyStamp(new IronPdf.Editing.TextStamper("Confidential")); pdf.SaveAs("edited_example.pdf"); Deploy to test on your live environment Start using IronPDF in your project today with a free trial Free 30 day Trial 目錄 編輯文件結構 訪問 PDF DOM 對象 保存和導出 PDF 文檔 從內存加載 PDF 導出 PDF 到內存 編輯文檔屬性 在 C# 中解析 PDF 提取文本和圖像 編輯文本和區域 替換 PDF 中的文本 增強 PDF 設計 添加和編輯註釋 印記文本和圖像 自定義水印 背景和前景 繪制文本和位圖 繪制線條和矩形 旋轉文本和頁面 變換 PDF 頁面 立即開始在您的項目中使用 IronPDF 並免費試用。 第一步: 免費啟動 用 NuGet 安裝 PM > Install-Package IronPdf 在 NuGet 查看 https://www.nuget.org/packages/IronPdf 以快速安裝。超過 1000 萬次下載,它正在用 C# 改變 PDF 開發。 您還可以下載 DLL 或 Windows 安裝程序。 編輯文件結構 訪問 PDF DOM 對象 操作和訪問 PDF 對象既快速又簡單。 IronPDF 簡化了開發人員與 DOM 對象的交互,讓他們能輕鬆仿照操作網頁 DOM 的方式訪問並操作各種元素,例如文本。 :path=/static-assets/pdf/content-code-examples/how-to/access-pdf-dom-object.cs using IronPdf; using System.Linq; // Instantiate Renderer ChromePdfRenderer renderer = new ChromePdfRenderer(); // Create a PDF from a URL PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/"); // Access DOM Objects var objects = pdf.Pages.First().ObjectModel; Imports IronPdf Imports System.Linq ' Instantiate Renderer Private renderer As New ChromePdfRenderer() ' Create a PDF from a URL Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://ironpdf.com/") ' Access DOM Objects Private objects = pdf.Pages.First().ObjectModel $vbLabelText $csharpLabel 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 保存和導出文檔 為了保存和導出文檔,IronPDF 允許用戶快速將編輯後的文檔 PdfDocument.SaveAs 保存到磁碟,同時允許導出到其他格式,例如二進制數據和內存流。 有關此代碼片段的更詳細解釋以探索其額外功能,請參閱我們的綜合指南。 從內存加載 PDF IronPDF 完美整合於現有的 C# .NET 應用程序中; 我們可以通過 MemoryStream 對象從內存流中加載和創建 PDF 文件。 :path=/static-assets/pdf/content-code-examples/how-to/pdf-memory-stream-from-stream.cs using IronPdf; using System.IO; // Read PDF file as stream var fileByte = File.ReadAllBytes("sample.pdf"); // Instantiate PDF object from stream PdfDocument pdf = new PdfDocument(fileByte); Imports IronPdf Imports System.IO ' Read PDF file as stream Private fileByte = File.ReadAllBytes("sample.pdf") ' Instantiate PDF object from stream Private pdf As New PdfDocument(fileByte) $vbLabelText $csharpLabel 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 導出 PDF 到內存 同樣地,我們也可以通過 MemoryStream 對象在 C# .NET 中導出 PDF 到內存流。 :path=/static-assets/pdf/content-code-examples/how-to/pdf-to-memory-stream-to-stream.cs using IronPdf; using System.IO; var renderer = new ChromePdfRenderer(); // Convert the URL into PDF PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/"); // Export PDF as Stream MemoryStream pdfAsStream = pdf.Stream; // Export PDF as Byte Array byte[] pdfAsByte = pdf.BinaryData; Imports IronPdf Imports System.IO Private renderer = New ChromePdfRenderer() ' Convert the URL into PDF Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://ironpdf.com/") ' Export PDF as Stream Private pdfAsStream As MemoryStream = pdf.Stream ' Export PDF as Byte Array Private pdfAsByte() As Byte = pdf.BinaryData $vbLabelText $csharpLabel 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 編輯文檔文本 在 C# 中解析 PDF 使用 IronPDF 從 PDF 中提取文本快速又簡單。 只需使用 ExtractAllText 方法即可從每個頁面中獲取所有文本,讓你能輕鬆訪問並利用文檔內容。 這一強大功能提高了生產力並簡化了工作流程! :path=/static-assets/pdf/content-code-examples/how-to/csharp-parse-pdf-parse-pdf.cs using IronPdf; // Select the desired PDF File PdfDocument pdf = PdfDocument.FromFile("sample.pdf"); // Extract all text from an pdf string allText = pdf.ExtractAllText(); // Extract all text from page 1 string page1Text = pdf.ExtractTextFromPage(0); Imports IronPdf ' Select the desired PDF File Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf") ' Extract all text from an pdf Private allText As String = pdf.ExtractAllText() ' Extract all text from page 1 Private page1Text As String = pdf.ExtractTextFromPage(0) $vbLabelText $csharpLabel 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 提取文本和圖像 使用 IronPDF,你不僅限於提取文本——從你的 PDF 中提取圖像也是非常簡單的! 使用 ExtractAllImages 功能,你能快速捕獲所需的所有影像。 :path=/static-assets/pdf/content-code-examples/how-to/extract-text-and-images-extract-image.cs using IronPdf; PdfDocument pdf = PdfDocument.FromFile("sample.pdf"); // Extract images var images = pdf.ExtractAllImages(); for(int i = 0; i < images.Count; i++) { // Export the extracted images images[i].SaveAs($"images/image{i}.png"); } Imports IronPdf Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf") ' Extract images Private images = pdf.ExtractAllImages() For i As Integer = 0 To images.Count - 1 ' Export the extracted images images(i).SaveAs($"images/image{i}.png") Next i $vbLabelText $csharpLabel 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 編輯文本和區域 在需要通過編輯保障敏感信息之際,我們擁有一個強大工具:RedactTextonAllPages。 使用這一功能,我們能迅速找到並隱去特定關鍵詞在整個 PDF 中的每個實例。 這是一種高效的方式,能確保機密數據得到保護,同時仍能放心共享文件。 :path=/static-assets/pdf/content-code-examples/how-to/redact-text-redact-text.cs using IronPdf; PdfDocument pdf = PdfDocument.FromFile("novel.pdf"); // Redact 'Alaric' phrase from all pages pdf.RedactTextOnAllPages("Alaric"); pdf.SaveAs("redacted.pdf"); Imports IronPdf Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf") ' Redact 'Alaric' phrase from all pages pdf.RedactTextOnAllPages("Alaric") pdf.SaveAs("redacted.pdf") $vbLabelText $csharpLabel 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 替換 PDF 中的文本 為了改進你的 PDF 文件,使用 IronPDF,你能輕鬆替換整個文件中的文本。通過運用 ReplaceTextonAllPages 函數,你能提供需替換的 oldText 與作為其替代的 newText。 此方法效率地更新文檔中所有 oldText 的實例,確保一致且專業的顯示。 :path=/static-assets/pdf/content-code-examples/how-to/find-replace-text-all-page.cs using IronPdf; ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>"); string oldText = ".NET6"; string newText = ".NET7"; // Replace text on all pages pdf.ReplaceTextOnAllPages(oldText, newText); pdf.SaveAs("replaceText.pdf"); Imports IronPdf Private renderer As New ChromePdfRenderer() Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>.NET6</h1>") Private oldText As String = ".NET6" Private newText As String = ".NET7" ' Replace text on all pages pdf.ReplaceTextOnAllPages(oldText, newText) pdf.SaveAs("replaceText.pdf") $vbLabelText $csharpLabel 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 增強 PDF 設計 添加和編輯註釋 IronPDF 提供了廣泛的 PDF 註釋定制選項,允許用戶在 PDF 頁面上直接添加 "便條" 樣式評論。 通過 TextAnnotation 類,註釋可以經由編程方式添加,擁有高级選項如:大小调整、不透明度、圖標選擇與編輯能力。 :path=/static-assets/pdf/content-code-examples/how-to/annotation-add-annotation.cs using IronPdf; using IronPdf.Annotations; ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Annotation</h1>"); // Create a PDF annotation object on a specified page index TextAnnotation annotation = new TextAnnotation(0) { Title = "This is the title", Contents = "This is the long 'sticky note' comment content...", X = 50, Y = 700, }; // Add the annotation pdf.Annotations.Add(annotation); pdf.SaveAs("annotation.pdf"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 印記文本和圖像 IronPDF 提供了廣泛的選項,來自定義如何將文本和圖像印到 PDF 上。 在本例中,我們將使用 TextStamper 類來調用 ApplyStamp 方法,將印章應用於 PDF。 :path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-text.cs using IronPdf; using IronPdf.Editing; ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>"); // Create text stamper TextStamper textStamper = new TextStamper() { Text = "Text Stamper!", FontFamily = "Bungee Spice", UseGoogleFont = true, FontSize = 30, IsBold = true, IsItalic = true, VerticalAlignment = VerticalAlignment.Top, }; // Stamp the text stamper pdf.ApplyStamp(textStamper); pdf.SaveAs("stampText.pdf"); Imports IronPdf Imports IronPdf.Editing Private renderer As New ChromePdfRenderer() Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>") ' Create text stamper Private textStamper As New TextStamper() With { .Text = "Text Stamper!", .FontFamily = "Bungee Spice", .UseGoogleFont = True, .FontSize = 30, .IsBold = True, .IsItalic = True, .VerticalAlignment = VerticalAlignment.Top } ' Stamp the text stamper pdf.ApplyStamp(textStamper) pdf.SaveAs("stampText.pdf") $vbLabelText $csharpLabel 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 自定義水印 我們也可以使用 ApplyWatermark 方法來無縫地將水印集成到新渲染的 PDF 和現有的文檔中。 這一功能提高了品牌識别度,確保你的材料傳遞專業形象。 :path=/static-assets/pdf/content-code-examples/how-to/custom-watermark-apply-watermark.cs using IronPdf; string watermarkHtml = @" <img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'> <h1>Iron Software</h1>"; ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Watermark</h1>"); // Apply watermark pdf.ApplyWatermark(watermarkHtml); pdf.SaveAs("watermark.pdf"); Imports IronPdf Private watermarkHtml As String = " <img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'> <h1>Iron Software</h1>" Private renderer As New ChromePdfRenderer() Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Watermark</h1>") ' Apply watermark pdf.ApplyWatermark(watermarkHtml) pdf.SaveAs("watermark.pdf") $vbLabelText $csharpLabel 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 背景和前景 除了水印和印章,我們也能添加背景來完全自定義你的 PDF,使用AddBackgroundPdf。 :path=/static-assets/pdf/content-code-examples/how-to/background-foreground-background.cs using IronPdf; ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>"); // Render background PdfDocument background = renderer.RenderHtmlAsPdf("<body style='background-color: cyan;'></body>"); // Add background pdf.AddBackgroundPdf(background); pdf.SaveAs("addBackground.pdf"); Imports IronPdf Private renderer As New ChromePdfRenderer() Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>") ' Render background Private background As PdfDocument = renderer.RenderHtmlAsPdf("<body style='background-color: cyan;'></body>") ' Add background pdf.AddBackgroundPdf(background) pdf.SaveAs("addBackground.pdf") $vbLabelText $csharpLabel 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 繪制文本和位圖 在 PDF 上繪制文本既直觀又簡單; 我們使用 DrawText 並提供必要參數。 在本例中,我們將添加新短語 Some text 字體為 Times New Roman。 :path=/static-assets/pdf/content-code-examples/how-to/draw-text-and-bitmap-draw-text.cs using IronPdf; using IronSoftware.Drawing; ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>"); // Draw text on PDF pdf.DrawText("Some text", FontTypes.TimesNewRoman.Name, FontSize: 12, PageIndex: 0, X: 100, Y: 100, Color.Black, Rotation: 0); pdf.SaveAs("drawText.pdf"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 繪制線條和矩形 IronPDF 同樣支持在 PDF 上繪制線條。 我們首先通過初始化兩個 PointF 類創建起點和終點,然後通過 DrawLine 方法應用它們,如圖所示。 :path=/static-assets/pdf/content-code-examples/how-to/draw-line-and-rectangle-draw-line.cs using IronPdf; ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>"); // Configure the required parameters int pageIndex = 0; var start = new IronSoftware.Drawing.PointF(200,150); var end = new IronSoftware.Drawing.PointF(1000,150); int width = 10; var color = new IronSoftware.Drawing.Color("#000000"); // Draw line on PDF pdf.DrawLine(pageIndex, start, end, width, color); pdf.SaveAs("drawLine.pdf"); Imports IronPdf Private renderer As New ChromePdfRenderer() Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>") ' Configure the required parameters Private pageIndex As Integer = 0 Private start = New IronSoftware.Drawing.PointF(200,150) Private [end] = New IronSoftware.Drawing.PointF(1000,150) Private width As Integer = 10 Private color = New IronSoftware.Drawing.Color("#000000") ' Draw line on PDF pdf.DrawLine(pageIndex, start, [end], width, color) pdf.SaveAs("drawLine.pdf") $vbLabelText $csharpLabel 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 旋轉文本和頁面 要旋轉 PDF 頁面,我們可以使用 SetPageRotation 方法來旋轉特定頁面。 在下面的示例中,我們僅旋轉頁面 2 到 4,保留頁面 1 不變以展示功能。 :path=/static-assets/pdf/content-code-examples/how-to/rotating-text-set-page-rotation.cs using IronPdf; using IronPdf.Rendering; using System.Linq; // Import PDF PdfDocument pdf = PdfDocument.FromFile("multi-page.pdf"); // Set rotation for a single page pdf.SetPageRotation(0, PdfPageRotation.Clockwise90); // Set rotation for multiple pages pdf.SetPageRotations(Enumerable.Range(1,3), PdfPageRotation.Clockwise270); // Set rotation for the entire document pdf.SetAllPageRotations(PdfPageRotation.Clockwise180); pdf.SaveAs("rotated.pdf"); Imports IronPdf Imports IronPdf.Rendering Imports System.Linq ' Import PDF Private pdf As PdfDocument = PdfDocument.FromFile("multi-page.pdf") ' Set rotation for a single page pdf.SetPageRotation(0, PdfPageRotation.Clockwise90) ' Set rotation for multiple pages pdf.SetPageRotations(Enumerable.Range(1,3), PdfPageRotation.Clockwise270) ' Set rotation for the entire document pdf.SetAllPageRotations(PdfPageRotation.Clockwise180) pdf.SaveAs("rotated.pdf") $vbLabelText $csharpLabel 有關旋轉角度的可用枚舉列表,請參考此處。 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 變換 PDF 頁面 除了旋轉,我們還可以通過提供一系列參數來變換 PDF 頁面。 在下面的示例中,我們選擇了 PDF 的第一頁,並使用 Transform, 將第一頁內容向右和向下移動 50 點,並將其縮放到原始大小的 80%。 :path=/static-assets/pdf/content-code-examples/how-to/transform-pdf-pages-transform-pdf.cs using IronPdf; PdfDocument pdf = PdfDocument.FromFile("basic.pdf"); pdf.Pages[0].Transform(50, 50, 0.8, 0.8); pdf.SaveAs("transformPage.pdf"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 有關此代碼片段的更詳細解釋,並探索其額外功能,請參閱我們的綜合指南。 結論 上面的例子列表展示了 IronPDF 在編輯 PDF 方面的核心功能。 若希望提出功能請求或對 IronPDF 或授權有任何一般性問題,請聯繫我們的支持團隊。 我們將很樂意幫助您。 常見問題解答 如何使用C#編輯PDF文件? IronPDF 提供全面的 C# PDF 文件編輯工具。您可以使用AddPage和RemovePage等方法有效地操作頁面、新增或刪除內容以及套用各種修改。 如何使用 C# 為 PDF 新增浮水印? 若要在 C# 中為 PDF 新增浮水印,請使用 IronPDF 的ApplyWatermark方法和TextStamper類,這樣就可以自訂浮水印的文字、不透明度和旋轉角度。 如何使用 C# 壓縮 PDF 檔案? IronPDF 提供了CompressImages方法,該方法可以減少 PDF 中嵌入圖像的大小,從而有效地壓縮檔案大小。 是否可以用 C# 為 PDF 新增頁首和頁尾? 是的,使用 IronPDF,您可以使用HtmlHeaderFooter或TextHeaderFooter類別為 PDF 添加頁首和頁腳,您可以在其中定義 HTML 內容或文字並調整高度等屬性。 有什麼方法可以將多個PDF檔案合併成一個文件? 若要合併多個 PDF 文件,請使用PdfDocument.FromFile載入每個文檔,然後使用Merge方法將它們合併成一個文件,並將其儲存為新文檔。 如何使用 C# 替換 PDF 中的特定文字? IronPDF 讓您可以使用ReplaceTextOnPage方法來取代 PDF 中的文本,該方法會在頁面上搜尋特定文本並以程式設計方式進行替換。 IronPDF能否簡化PDF表單的建立和填寫流程? 是的,IronPDF 支援建立 PDF 表單並透過程式設計方式填入現有表單字段,從而實現與 PDF 文件的動態互動。 如何使用 IronPDF 為 PDF 新增註解? IronPDF 提供在 PDF 中新增註釋的功能。您可以使用註釋物件建立文字註釋和其他類型的註釋,並將其放置在所需的頁面上。 如何使用 C# 處理 PDF 中的數位簽章? IronPDF 支援使用X509Certificate2數位憑證為 PDF 文件添加數位簽名,從而確保文件的真實性和完整性。 是否可以在 C# 中設定 PDF 頁面的背景? 是的,使用 IronPDF,您可以透過套用影像或色彩背景來設定 PDF 頁面的背景,從而增強文件設計和簡報效果。 IronPDF 是否相容於 .NET 10?相容 .NET 10 能帶來哪些好處? 是的,IronPDF 完全相容於 .NET 10,並充分利用了其效能和語言方面的增強功能。它在 .NET 10 專案中“開箱即用”,支援桌面、Web、MAUI 和服務等多種應用場景,並受益於數組介面方法去虛擬化和堆疊分配增強等改進。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 準備好開始了嗎? Nuget 下載 16,154,058 | 版本: 2025.11 剛剛發布 免費 NuGet 下載 總下載量:16,154,058 查看許可證