How to Edit PDFs in C

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 編輯解決方案的開發人員。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 複製並運行這段程式碼。

    var pdf = IronPdf.PdfDocument.FromFile("example.pdf");
    pdf.ApplyStamp(new IronPdf.Editing.TextStamper("Confidential"));
    pdf.SaveAs("edited_example.pdf");
  3. 部署到您的生產環境進行測試

    今天就在您的專案中開始使用免費試用IronPDF

    arrow pointer

目錄

-編輯文檔結構 -存取 PDF DOM 對象 -儲存和匯出 PDF 文檔 -從記憶體載入 PDF 文件 -將 PDF 檔案匯出到內存 -編輯文檔屬性 -使用 C# 解析 PDF 提取文字和圖像 -編輯文字和區域 -替換 PDF 中的文字 -增強 PDF 設計 -新增和編輯註釋 -印章文字和圖像 -自訂浮水印 背景與前景 -繪製文字和點陣圖 -畫線和矩形 -旋轉文字和頁面 -轉換 PDF 頁面

編輯文檔結構

存取 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;
$vbLabelText   $csharpLabel

有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南

儲存和匯出文檔

為了保存和匯出文檔, IronPDF允許用戶快速將編輯後的文檔儲存到磁碟,同時還允許匯出為其他格式,例如二進位資料和記憶體流。

有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南

從記憶體載入 PDF

IronPDF與現有的 C# .NET應用程式完美整合; 我們可以透過 MemoryStream 物件從 MemoryStreams 載入和建立 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);
$vbLabelText   $csharpLabel

有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南

將 PDF 文件匯出到內存

類似地,我們也可以透過 MemoryStream 物件將 PDF 匯出到 C# .NET中的 MemoryStream。

: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;
$vbLabelText   $csharpLabel

有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南

編輯文檔文本

Parse PDFs in C

使用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);
$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");
}
$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");
$vbLabelText   $csharpLabel

有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南

替換PDF中的文本

要使用IronPDF增強您的 PDF 文檔,您可以輕鬆地替換整個文件中的文字。透過使用 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");
$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");
$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");
$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");
$vbLabelText   $csharpLabel

有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南

背景與前景

除了浮水印和圖章之外,我們還可以添加背景來完全使用 AddBackgroundPdf 自訂您的 PDF。

: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");
$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");
$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");
$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");
$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");
$vbLabelText   $csharpLabel

有關此程式碼片段的更詳細解釋以及探索其附加功能,請參閱我們的綜合操作指南

結論

以上範例表明, IronPDF在編輯 PDF 時具有開箱即用的關鍵功能。

如果您想提出功能請求或對IronPDF或許可有任何一般性問題,請聯絡我們的支援團隊。 我們非常樂意為您提供協助。

常見問題解答

如何在 C# 中編輯 PDF 文件?

IronPDF 提供全面的工具用於編輯 C# 中的 PDF 文件。您可以使用如 AddPageRemovePage 等方法有效地操縱頁面、添加或刪除內容,以及進行各種修改。

使用 C# 向 PDF 添加水印的步驟是什麼?

要在 C# 中向 PDF 添加水印,使用 IronPDF 的 ApplyWatermark 方法和 TextStamper 類,允許您自定義水印的文字、不透明度和旋轉。

如何使用 C# 壓縮 PDF 文件?

IronPDF提供了CompressAndSaveAs方法,可在一次調用中壓縮嵌入的圖像並選擇刪除PDF結構樹。使用PdfDocument.FromFile("input.pdf").CompressAndSaveAs("compressed.pdf", 40)以指定的JPEG質量(1–100)壓縮並保存。傳遞removeStructureTree: true作為第三個參數以進一步減小文件大小。

是否可以在 C# 中向 PDF 添加頁眉和頁腳?

可以,使用 IronPDF 可以通過 HtmlHeaderFooterTextHeaderFooter 類向 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 相容,它有哪些優點?

是的,IronPDF 與 .NET 10 完全相容,並充分利用其性能和語言增強功能。它可以在桌面、Web、MAUI 和服務的 .NET 10 專案中 「正常運作」,並受益於陣列介面方法去虛擬化和堆疊分配增強等改進。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 17,920,939 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronPdf
執行範例 觀看您的 HTML 變成 PDF。