How to Edit PDFs in C#
Iron Software已將各種PDF編輯功能簡化為IronPDF程式庫中易於理解的方法。 無論是新增簽名、新增HTML頁腳、印製浮水印還是新增註釋。 IronPDF是適合您的工具,讓您擁有可讀的程式碼、程式化的PDF生成、簡單的偵錯及無縫地部署到任何支援的環境或平台。
IronPDF在編輯PDF方面擁有眾多功能。 在這篇教學文章中,我們將介紹一些主要功能,並提供程式碼範例和解釋。
通過這篇文章,您將對如何使用IronPDF在C#中編輯您的PDF有詳細的了解。
快速入門:在數秒內編輯您的PDF文件使用IronPDF在C#中輕鬆編輯PDF文件。 這本快速指南向您展示如何將文字印章新增到現有的PDF文件中。只需幾行程式碼,您就可以修改PDF並立即保存更改。 非常適合需要快速且高效的PDF編輯解決方案的開發者。
-
1Install IronPDF with NuGet Package Manager
-
2複製並運行這段程式碼片段。
var pdf = IronPdf.PdfDocument.FromFile("example.pdf"); pdf.ApplyStamp(new IronPdf.Editing.TextStamper("Confidential")); pdf.SaveAs("edited_example.pdf");C# -
3部署以在您的實時環境中測試
今天就開始在您的專案中使用IronPDF,透過免費試用
- 編輯文件結構
- 編輯文件屬性
- 增強PDF設計
編輯文件結構
存取PDF DOM物件
操作和存取PDF物件快速且簡單。 IronPDF簡化了開發者與DOM—使程式開發者能夠以程式化方式存取和操作各種元素,比如文字。
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如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
保存和導出文件
為了保存和導出文件,IronPDF允許使用者快速將編輯的文件PdfDocument.SaveAs保存到磁碟,還允許導出為其他格式,如二進位資料和儲存器流。
如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
從記憶體載入PDF
IronPDF與現有的C# .NET應用完美整合; 我們可以通過MemoryStream中載入和建立PDF文件。
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)如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
導出PDF到記憶體
同樣,我們也可以通過MemoryStream物件在C# .NET中將PDF導出到MemoryStream中。
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如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
編輯文件文字
Parse PDFs in C#
使用IronPDF從PDF中提取文字既快速又簡單。 只需使用ExtractAllText方法即可從每個頁面提取出所有文字,讓您輕鬆地存取並利用文件的內容。 這項強大的功能可提高生產效率並簡化工作流程!
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)如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
提取文字和圖像
使用IronPDF,您不僅限於提取文字——它也能非常輕鬆地從PDF中提取出圖像! 通過ExtractAllImages功能,您可以迅速獲取所有需要的視覺資料。
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如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
編輯文字和區域
在需要通過編輯來保護敏感資訊的情況下,我們擁有一個強大的工具:RedactTextonAllPages。 使用此功能,我們可以輕鬆地識別並隱藏整個PDF中每一個特定關鍵字的所有實例。 這是一種有效的方法來確保機密細節得到保護,同時仍能自信地共享文件。
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")如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
替換PDF中的文字
為了通過IronPDF增強您的PDF文件,您可以輕鬆地替換整個文件中的文字。通過使用newText。 此方法有效地更新了文件中oldText的所有實例,確保一致且專業的外觀。
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")如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
增強PDF設計
新增和編輯註釋
IronPDF提供了廣泛的PDF註釋自訂選項,允許使用者直接在PDF頁面上新增"便箋"樣式的評論。 通過TextAnnotation類,註釋可以以程式化方式新增,並具有進階選項,如尺寸、透明度、圖標選擇和編輯能力。
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");Imports IronPdf
Imports IronPdf.Annotations
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Annotation</h1>")
' Create a PDF annotation object on a specified page index
Dim annotation As New TextAnnotation(0) With {
.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")如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
印製文字和圖像
IronPDF提供了廣泛的選項來自訂如何在PDF上印製文字和圖像。 在此範例中,我們將使用ApplyStamp方法對PDF進行印製,如下所示。
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")如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
自訂浮水印
我們也可以使用ApplyWatermark方法在新渲染的PDF和現有文件中無縫整合浮水印。 此功能提升了品牌識別度,確保您的資料展現專業形象。
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")如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
背景和前景
除了浮水印和印製,我們也可以使用AddBackgroundPdf為PDF新增背景以進行自訂。
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")如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
繪製文字和位元圖
在PDF上繪製文字直觀且簡單; 我們使用DrawText並為其提供必要的參數。 在此範例中,我們正在使用Times New Roman字體新增新短語Some text。
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");Imports IronPdf
Imports IronSoftware.Drawing
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = 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")如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
繪製線條和矩形
IronPDF也支援在PDF上繪製線條。 我們首先通過初始化兩個DrawLine方法將其應用,如下所示。
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")如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
旋轉文字和頁面
為了旋轉PDF頁面,我們可以使用SetPageRotation方法來旋轉特定頁面。 在下面的範例中,我們僅旋轉頁面2到4,而頁面1保持不變,以展示其功能。
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")關於旋轉角度的可用枚舉列表,請參閱這裡。
如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
變換PDF頁面
除了旋轉之外,我們還可以通過提供一範圍的參數來變換pdf頁面。 在下面的範例中,我們選擇PDF的第一頁,並使用Transform將第一頁的內容向右和向下移動50點,並縮放至其原始大小的80%。
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("basic.pdf");
pdf.Pages[0].Transform(50, 50, 0.8, 0.8);
pdf.SaveAs("transformPage.pdf");Imports IronPdf
Dim pdf As PdfDocument = PdfDocument.FromFile("basic.pdf")
pdf.Pages(0).Transform(50, 50, 0.8, 0.8)
pdf.SaveAs("transformPage.pdf")如需對此程式碼段的更詳細解釋並探索其額外功能,請參閱我們的完整版指南。
結論
上面的範例列表證明了IronPDF在編輯PDF時擁有開箱即用的關鍵功能。
如果您想提交功能請求或對IronPDF或授權有任何一般性問題,請聯絡我們的支援團隊。 我們將非常樂意為您提供幫助。
常見問題
如何在C#中編輯PDF文件?
IronPDF為在C#中編輯PDF文件提供了全面的工具。您可以操控頁面、新增或刪除內容,以及使用AddPage和RemovePage方法高效地進行各種修改。
使用C#如何將浮水印新增到PDF中?
要在C#中將浮水印新增到PDF中,請使用IronPDF的ApplyWatermark方法與TextStamper類,這允許您自訂浮水印的文字、不透明度和旋轉角度。
如何使用C#壓縮PDF文件?
IronPDF提供了CompressAndSaveAs方法,可在單次調用中壓縮嵌入的圖像並選擇性地去除PDF結構樹。使用PdfDocument.FromFile("input.pdf").CompressAndSaveAs("compressed.pdf", 40)以指定的JPEG品質(0–100)壓縮和保存。將removeStructureTree: true作為第三個參數傳遞,以進一步減小文件大小。對於記憶體中工作流,使用CompressPdfToBytes或CompressPdfToStream以字節陣列或Stream的形式獲取壓縮後的輸出,而不寫入磁碟。
是否可以在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相容,它帶來了哪些好處?
是—IronPDF完全相容.NET 10,並利用其性能和語言增強功能。在桌面、網頁、MAUI和服務的.NET 10項目中“即插即用”,並受益於如陣列介面方法實現解除和堆疊分配增強的改進。
Is IronPDF compatible with .NET 10, and what benefits does it bring?
Yes—IronPDF is fully compatible with .NET 10 and takes advantage of its performance and language enhancements. It “just works” in .NET 10 projects across desktop, web, MAUI, and services, with benefits from improvements like array interface method devirtualization and stack allocation enhancements.

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。