如何在 C# 中新增與編輯 PDF 註解
IronPDF 讓 C# 開發人員能透過簡單的 API 呼叫(例如 AddTextAnnotation),新增、編輯及移除 PDF 註解(包括文字評論和便利貼),從而強化企業應用程式中的文件協作與審閱工作流程。 X
註解功能讓使用者能在文件的特定段落中添加評論、提醒或補充資訊。 這些工具能提升處理 PDF 時的協作與溝通效率,讓使用者得以對共享內容進行註解、留言,並提供背景資訊。 Y
PDF 註解在商業工作流程中具有多種用途:審閱者可透過註解提供回饋、團隊可在不修改原始內容的情況下共同協作合約,而品質保證團隊則可標記技術文件中的問題。 無論您是正在建置文件管理系統,還是想強化現有的 PDF 工作流程,IronPDF 的註解功能都能與您的 C# PDF 建立及編輯功能無縫整合。 若您的組織需要兼具進階安全功能與註解功能的解決方案,請參閱我們的完整 PDF 安全教學指南。
快速入門:使用 IronPDF 為 PDF 添加註解
本快速指南將示範如何使用 C# 中的 IronPDF 為 PDF 文件添加文字註解。 開發人員只需幾行程式碼,即可透過加入註解或備註來強化 PDF 檔案,從而提升文件的互動性與協作能力。 首先載入您的 PDF 檔案,並使用 AddTextAnnotation 方法快速插入註解。
-
using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronPdf
PM > Install-Package IronPdf -
請複製並執行此程式碼片段。
PdfDocument.FromFile("input.pdf") .Annotations.Add(new TextAnnotation(0) { Title="Note", Contents="Review this section.", X=50, Y=700 }) .SaveAs("annotated.pdf"); -
部署至您的生產環境進行測試
立即透過免費試用,在您的專案中開始使用 IronPDF
簡化工作流程(5 個步驟)
- 下載用於 PDF 註解的 C# 函式庫
- 載入現有 PDF 文件或渲染新 PDF 文件
- 請使用
Add方法來新增註解 - 檢索與編輯 PDF 註解
- 從 PDF 文件中移除註解
如何在 PDF 中添加註解?
Annotations
Title
Contents
X
Y
PDF 註解功能允許在 PDF 頁面中添加類似"便利貼"的註解。 透過 Add 屬性的 Annotations 方法,可程式化地新增註解。
PDF 中的文字註解功能類似於實體文件中的便利貼。 它們在頁面上以小型圖示呈現,點擊後會顯示完整的評論內容。 這種非侵入式的方法在提供必要回饋機制之餘,仍能保持文件的易讀性。 在進行 HTML 轉 PDF 作業時,您可在轉換後添加註解,以標記需要審閱的區域或提供額外背景資訊。 此功能在結合 JavaScript 渲染處理動態內容時尤為實用,此類內容可能需要額外說明。
: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");
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")
TextAnnotation 類別提供數個可用於自訂的屬性:
Title:註解的標題文字,通常顯示於註解彈出視窗中Contents:註解的主體文字X,Y:指定註解圖示在頁面中顯示位置的座標PageIndex:註解應放置的零起始頁碼
針對更複雜的文件工作流程,建議將註解功能與其他 IronPDF 功能結合使用,例如用於審批流程的數位簽名,或用於文件版本控制的水印功能。 處理敏感文件時,您亦可將註解與 PDF 權限及密碼整合,以控制誰能檢視或修改註解。
我可以為文字註解設定哪些屬性?
TextAnnotation 類別除了基本屬性外,還提供數個用於自訂的屬性:
Title:註解的標題文字,通常顯示於註解彈出視窗中Contents:註解的主體文字X,Y:指定註解圖示在頁面中顯示位置的座標PageIndex:註解應放置的零起始頁碼Subject:用於分類註解的可選主旨行Icon:註解(例如:註記、評論、說明)的視覺呈現Open:註解彈出視窗是否預設為開啟狀態
這些功能讓開發人員能夠建立豐富且具情境關聯的註解,從而提升文件溝通的成效。 若涉及多種文件類型的進階工作流程,建議探索 RTF 轉 PDF 或 Markdown 轉 PDF 功能,以確保不同來源格式間的註解能完整保留。
PDF 註解中的座標如何運作?
PDF 的座標系統以頁面的左下角為起點,這與許多採用左上角為原點的 UI 框架不同。 X 和 Y 屬性決定註解圖示在頁面上的顯示位置,單位以點(1/72 英吋)為準。 在程式化定位註解時,請確保您的座標計算已將此差異納入考量。
計算註解位置時,請注意標準美國信紙尺寸為 8.5 x 11 英吋(612 x 792 點)。 A4 頁面的尺寸為 595 x 842 點。 為了精準定位,您可能需要在放置註解前,透過程式碼檢索頁面的尺寸。 這在處理自訂紙張尺寸,或根據內容實作響應式註解定位時,尤為重要。
附註解的 PDF
上述 PDF 文件中的註解可透過 Chrome 瀏覽器檢視。
如何檢索和編輯現有的註解?
檢索與編輯 PDF 註解可透過提升清晰度、準確性及易用性,進而改善協作效率。 透過 Annotations 屬性存取註解集合,並使用新資訊更新 Y 等屬性。
在處理現有 PDF 檔案時,尤其是來自 URL 轉換或 DOCX 匯入的檔案,您可能需要修改其他使用者或系統所添加的註解。 IronPDF 提供對註解集合的完整存取權限,讓您能夠透過程式化方式遍歷、識別並更新特定的註解。 此功能對於實作文件審閱工作流程,或與現有文件管理系統整合時至關重要。
:path=/static-assets/pdf/content-code-examples/how-to/annotation-edit-annotation.cs
using IronPdf;
using IronPdf.Annotations;
using System.Linq;
PdfDocument pdf = PdfDocument.FromFile("annotation.pdf");
// Retrieve annotation collection
PdfAnnotationCollection annotationCollection = pdf.Annotations;
// Select the first annotation
TextAnnotation annotation = (TextAnnotation)annotationCollection.First();
// Edit annotation
annotation.Title = "New title";
annotation.Contents = "New content...";
annotation.X = 150;
annotation.Y = 800;
pdf.SaveAs("editedAnnotation.pdf");
Imports IronPdf
Imports IronPdf.Annotations
Imports System.Linq
Private pdf As PdfDocument = PdfDocument.FromFile("annotation.pdf")
' Retrieve annotation collection
Private annotationCollection As PdfAnnotationCollection = pdf.Annotations
' Select the first annotation
Private annotation As TextAnnotation = CType(annotationCollection.First(), TextAnnotation)
' Edit annotation
annotation.Title = "New title"
annotation.Contents = "New content..."
annotation.X = 150
annotation.Y = 800
pdf.SaveAs("editedAnnotation.pdf")
編輯過程將保留文件的所有其他屬性與內容,確保僅修改指定的註解。 這在審核工作流程中特別有用,因為註解可能需要根據文件修訂或變更的需求進行更新。 若要實現全面的文件管理,建議將註解編輯與元資料操作結合,以追蹤文件版本及修訂歷史紀錄。
為什麼我需要編輯現有的註解?
在協作文件工作流程中,編輯註解變得至關重要,例如當需要根據修訂內容更新回饋、對含糊的評論進行澄清,或是因內容變更而需重新定位註解時。 此功能可確保文件審閱在整個修訂週期中始終保持最新且切合實際。
在Enterprise環境中,註解編輯功能通常會與審核工作流程整合,主管可能需要修改審閱者的評論後,才能進行最終批准。 此外,當文件進行翻譯或在地化時,註解可能需要更新,以反映語言變更或文化適應。 在此類情境下,IronPDF 的 UTF-8 及國際化語言支援,可確保註解在不同語言與字元集下皆能正確顯示。
編輯註解時,其他文件屬性會發生什麼變化?
編輯過程將保留文件的所有其他屬性與內容,確保僅修改指定的註解。 文件的結構、格式、嵌入資源及其他註解均保持不變,在維持 PDF 完整性的同時,允許針對特定審閱意見進行有針對性的更新。
這種精選編輯的方法對於維持文件完整性至關重要,特別是在受監管的行業中,必須避免文件遭篡改。 此流程可完整保留數位簽章、表單欄位、書籤以及所有其他 PDF 功能。 對於需要稽核追蹤的文件,請考慮在註解修改時同步實施修訂歷史記錄追蹤。
附有編輯註解的 PDF 檔案
上述 PDF 文件中的註解可透過 Chrome 瀏覽器檢視。
如何從 PDF 文件中移除註解?
請使用以下方法移除不必要或過時的註解:RemoveAllAnnotationsForPage 以及 Clear。
RemoveAt:移除指定索引的單一註解。RemoveAllAnnotationsForPage:移除指定頁面上的所有註解。Clear:移除文件中的所有註解。
註解的移除對於文件的最終定稿至關重要。 在整合回饋並進行必要修改後,建議您在發布最終版本前先刪除審閱評論。 此流程可與 IronPDF 的其他功能(如 PDF 壓縮)完美整合,以建立簡潔且經過優化的文件供分發使用。 若文件需歸檔保存,請考慮在移除註解後轉換為 PDF/A 格式,以確保符合長期保存規範。
如何刪除單一註解?
若要移除單一註解,請根據註解集合索引,使用 RemoveAt 方法並搭配對應的索引。
:path=/static-assets/pdf/content-code-examples/how-to/annotation-remove-single-annotation.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("multipleAnnotation.pdf");
// Remove a single annotation with specified index
pdf.Annotations.RemoveAt(1);
pdf.SaveAs("removeSingleAnnotation.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("multipleAnnotation.pdf")
' Remove a single annotation with specified index
pdf.Annotations.RemoveAt(1)
pdf.SaveAs("removeSingleAnnotation.pdf")
在透過程式碼移除註解時,需注意註解集合會在每次移除後重新建立索引。 若需移除多個特定註解,請從集合末端開始倒序處理,或先將要移除的註解彙整起來,再按相反順序移除。 此方法可避免索引位移問題,以免導致移除錯誤的註解。
從 PDF 中移除單一註解
在
完成後
上述 PDF 文件中的註解可透過 Chrome 瀏覽器檢視。
如何一次移除所有註解?
若要移除特定頁面上的所有註解,請使用 RemoveAllAnnotationsForPage 方法並指定頁面索引。 若要移除整份文件中的所有註解,請在 Annotations 屬性上呼叫 Clear 方法。
此批量移除功能在準備文件進行最終發佈時,或在實作文件版本控制系統時(需移除先前審閱週期的註解)特別實用。 建議結合元資料編輯功能,以更新文件屬性並標示審閱狀態。 若工作流程需要經過淨化的文件,請探索 [PDF 淨化](https://ironpdf.com/how to sanitize-pdf/)選項,以移除所有潛在的敏感資訊,包括註解。
:path=/static-assets/pdf/content-code-examples/how-to/annotation-remove-all-annotation.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("multipleAnnotation.pdf");
// Remove all annotaions on a specified page
pdf.Annotations.RemoveAllAnnotationsForPage(0);
// Remove all annotaions on the document
pdf.Annotations.Clear();
pdf.SaveAs("removeAllAnnotation.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("multipleAnnotation.pdf")
' Remove all annotaions on a specified page
pdf.Annotations.RemoveAllAnnotationsForPage(0)
' Remove all annotaions on the document
pdf.Annotations.Clear()
pdf.SaveAs("removeAllAnnotation.pdf")
何時該使用批量註解移除功能?
批量移除功能非常適合用於最終定稿文件以供發佈、建立乾淨版本以供歸檔,或實施文件版本控制時(需清除先前審閱週期中的註解)。 相較於逐一移除註解,此方法能節省時間,並確保審閱評論不會意外殘留於正式文件中。
此外,當為可能無法正確處理註解的自動化處理系統準備文件,或將帶有註解的 PDF 轉換為其他格式時,批量移除註解至關重要。 在高安全性環境中,於分發前移除所有註解,可避免無意間洩露內部審查意見或不應向外部受眾公開的敏感回饋。
處理 PDF 註解的最佳實務有哪些?
在應用程式中實作註解功能時,請參考以下最佳實務:
-
座標系統:PDF 座標以頁面的左下角為起點,這與許多採用左上角為原點的 UI 框架不同。 請確保您的座標計算已將此差異納入考量。
-
效能優化:當添加多個註解時,建議採用批次處理,而非每次添加後都進行儲存。 此方法可提升效能,特別是在處理大型 PDF 檔案時。
-
註解可見性:並非所有 PDF 檢視器都會以相同方式顯示註解。 請在各種檢視器中測試您的註解 PDF,以確保使用者體驗的一致性。
-
與表單的整合:註解功能可透過提供情境說明或指示來補充 PDF 表單,且無需修改表單結構。
-
安全性考量:處理敏感文件時,請注意註解可能包含機密資訊。 請實施適當的安全措施以保護標註的內容。
- 無障礙性:請考慮添加註解以提升文件的可存取性,為身心障礙使用者提供額外的背景資訊。 此翻譯符合 PDF/UA 規範中關於無障礙文件的合規要求。
座標系統為何對註解如此重要?
以左下角為起點的 PDF 座標系統,可能會讓習慣以左上角為起點系統的開發人員感到困惑。 座標計算錯誤可能會導致註解出現在意料之外的位置,進而遮蔽重要內容或顯示在頁面之外。 在與 UI 框架或使用者輸入系統整合時,請務必適當轉換座標。
在實作"點擊註解"等功能,或將使用者互動產生的螢幕座標轉換為 PDF 座標時,理解座標系統的重要性便顯得更加關鍵。 若面臨複雜的定位需求,建議利用 IronPDF 的視口與 Zoom 功能,確保註解無論在何種檢視條件下皆能正確顯示。
在添加多個註解時,如何優化效能?
若需新增多項註解,請先將所有註解加入集合中,再儲存文件,以批次處理方式進行操作。 此方法可減少檔案 I/O 操作,並顯著提升效能,特別是在處理大型 PDF 檔案或連續處理多個文件時。 建議在執行批次操作時加入進度指示器,以提升使用者體驗。
// Example of batch annotation processing
var annotations = new List<TextAnnotation>();
for (int i = 0; i < 100; i++)
{
annotations.Add(new TextAnnotation(0)
{
Title = $"Note {i}",
Contents = $"Content for note {i}",
X = 50 + (i * 10),
Y = 700 - (i * 20)
});
}
// Add all annotations at once
foreach (var annotation in annotations)
{
pdf.Annotations.Add(annotation);
}
// Save once after all additions
pdf.SaveAs("batch-annotated.pdf");
// Example of batch annotation processing
var annotations = new List<TextAnnotation>();
for (int i = 0; i < 100; i++)
{
annotations.Add(new TextAnnotation(0)
{
Title = $"Note {i}",
Contents = $"Content for note {i}",
X = 50 + (i * 10),
Y = 700 - (i * 20)
});
}
// Add all annotations at once
foreach (var annotation in annotations)
{
pdf.Annotations.Add(annotation);
}
// Save once after all additions
pdf.SaveAs("batch-annotated.pdf");
Imports System.Collections.Generic
' Example of batch annotation processing
Dim annotations As New List(Of TextAnnotation)()
For i As Integer = 0 To 99
annotations.Add(New TextAnnotation(0) With {
.Title = $"Note {i}",
.Contents = $"Content for note {i}",
.X = 50 + (i * 10),
.Y = 700 - (i * 20)
})
Next
' Add all annotations at once
For Each annotation In annotations
pdf.Annotations.Add(annotation)
Next
' Save once after all additions
pdf.SaveAs("batch-annotated.pdf")
在確保跨瀏覽器相容性時,我應考慮哪些因素?
不同的 PDF 檢視器可能會以不同的圖示樣式、彈出視窗行為或定位方式來呈現註解。 請務必在 Adobe Acrobat、Chrome、Edge 及行動版 PDF 閱讀器等常見檢視工具中測試您的註解 PDF 檔案,以確保註解在使用者可能使用的各平台上皆能正確顯示且功能正常。
部分瀏覽器可能不支援所有註解類型,或顯示方式有所不同。 為確保最佳相容性,請採用標準註解類型,並避免依賴特定檢視器的功能。 在部署至 Azure 或 AWS 等特定環境時,請於目標環境的預設 PDF 檢視器中測試註解功能,以確保行為一致。
準備好探索更多可能性了嗎? 請點此查看我們的教學頁面:編輯 PDF
常見問題
如何在 C# 中為 PDF 文件添加文字註解?
IronPDF 提供了一個簡單的 API,可透過 AddTextAnnotation 方法新增文字註解。您可以透過指定頁碼、位置座標 (X, Y)、標題和內容來建立註解。例如,您可以使用 Annotations.Add 方法搭配 TextAnnotation 物件,僅需一行程式碼即可新增便條紙註解。
支援哪些類型的 PDF 註解?
IronPDF 支援類似便利貼功能的文字註解,可在 PDF 文件中使用。這些註解會以小型圖示顯示於頁面,點擊後會顯示完整的註解內容,提供一種不干擾閱讀的方式,讓使用者能在文件的特定段落中添加註解、提醒或補充資訊。
我可以透過程式碼編輯現有的 PDF 註解嗎?
是的,IronPDF 允許您透過其 API 檢索並編輯現有的 PDF 註解。您可以使用 PdfDocument 物件的 Annotations 屬性存取註解,修改其標題、內容和位置等屬性,然後將變更儲存回 PDF 檔案中。
如何從 PDF 文件中移除註解?
IronPDF 提供方法,可透過程式設計方式從 PDF 文件中移除註解。您可以存取 PdfDocument 的 Annotations 集合,並移除特定註解,或清除頁面或整個文件中的所有註解。
PDF 註解有哪些常見的商業應用情境?
IronPDF 的註解功能非常適合文件審閱工作流程,讓審閱者能在文件上標註回饋意見、讓團隊在不修改原始內容的情況下共同協作合約,以及讓品質保證團隊在技術文件中標記問題。這些功能可與文件管理系統無縫整合。
using PDF 註解功能是否需要安裝額外的軟體?
不,IronPDF 是一個自包含的 C# 函式庫,內建所有 PDF 註解功能。您只需在專案中下載並引用 IronPDF 函式庫,即可開始在 PDF 文件中新增、編輯及移除註解,無需任何外部依賴項。

