如何在 C# 中編輯 PDF

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

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 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 允許使用者快速將編輯後的文檔PdfDocument.SaveAs儲存到磁碟,同時還允許匯出為其他格式,例如二進位資料和記憶體流。

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

從記憶體載入 PDF

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

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

編輯文檔文本

用 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);
$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 添加背景,從而完全自訂您的 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 提供了CompressImages方法,該方法可以減少 PDF 中嵌入圖像的大小,從而有效地壓縮檔案大小。

是否可以用 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?相容 .NET 10 能帶來哪些好處?

是的,IronPDF 完全相容於 .NET 10,並充分利用了其效能和語言方面的增強功能。它在 .NET 10 專案中“開箱即用”,支援桌面、Web、MAUI 和服務等多種應用場景,並受益於數組介面方法去虛擬化和堆疊分配增強等改進。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。

準備好開始了嗎?
Nuget 下載 17,012,929 | 版本: 2025.12 剛剛發布