IronPDF 操作指南 添加和編輯註釋 如何在 C# 中新增和編輯 PDF 註解</#35;。 Curtis Chau 更新:2026年1月10日 下載 IronPDF NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronPDF 可讓 C# 開發人員透過 AddTextAnnotation 等簡單的 API 呼叫,新增、編輯和移除 PDF 註解,包括文字註解和便條筆記,強化商業應用程式中的文件協作和審閱工作流程。 您的企業在PDF安全和合規性方面的年度訂閱費用過高。不妨考慮IronSecureDoc ,它提供SaaS服務管理解決方案,例如數位簽章、內容編輯、加密和保護,所有服務只需一次性付費。了解IronSecureDoc文檔 註解允許使用者在文件的特定部分新增註解、提醒或其他資訊。 這些工具可在處理 PDF 時加強協作與溝通,讓使用者能夠註解、評論共用內容,並提供上下文。 PDF 註解在業務工作流程中有各種用途:審閱人員可以在文件上標示反饋意見,團隊可以在不修改原始內容的情況下協同處理合約,品質保證團隊可以標示技術文件中的問題。 無論您是在建立文件管理系統或強化現有的 PDF 工作流程,IronPDF 的註解功能都能與您的 C# PDF 創作和 編輯功能無縫整合。 對於需要先進安全功能以及註解功能的組織,請探索我們全面的 IronPDF 安全性教學。 as-heading:2(快速入門:使用 IronPDF 為 PDF 添加註釋) 本快速指南演示了如何在 C# 中使用 IronPDF 在 PDF 文件中添加文本注释。 只需幾行程式碼,開發人員就能透過加入註解或備註來增強 PDF 的功能,增加文件的互動性與協作性。 首先載入您的 PDF,並使用 AddTextAnnotation 方法快速插入註解。 立即開始使用 NuGet 建立 PDF 檔案: 使用 NuGet 套件管理器安裝 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,免費試用! 免費試用30天 ### 最小工作流程(5 個步驟) 下載用於 PDF 註釋的 C# 庫 加載現有的或渲染新的 PDF 文件 使用 Add 方法新增註解 擷取與編輯 PDF 註解 從 PDF 文件移除註解 如何在 PDF 中加入註解? <! -- --> <!--說明:顯示逐步過程的截圖 --> PDF 註解允許在 PDF 頁面上新增類似"便條"的註解。 透過使用 Annotations 屬性的 Add 方法,可以程式化的方式新增註解。 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") $vbLabelText $csharpLabel TextAnnotation 類別提供了多個自訂的屬性: 標題:註釋的標題文字,通常顯示在註釋彈出視窗中。 Contents: The main body text of the annotation X、Y:指定註解圖示在頁面上顯示位置的座標 PageIndex:應該放置註解的基於零的頁碼 對於更複雜的文件工作流程,可考慮將註解與其他 IronPDF 功能結合,例如用於核准流程的 數位簽名,或用於文件版本管理的 水印。 在處理敏感文件時,您也可以將註解與 PDF 權限和密碼整合,以控制誰可以檢視或修改註解。 我可以為文字註解設定哪些屬性? TextAnnotation 類別提供了幾個基本屬性以外的自訂屬性: 標題:註釋的標題文字,通常顯示在註釋彈出視窗中。 內容:註解的主體文字 X、Y:指定註解圖示在頁面上顯示位置的座標 PageIndex:應該放置註解的基於零的頁碼 主題:可選的標題行,用於將註解分類 圖示:註解的視覺表示(例如,註解、註釋、說明) 開啟:註解彈出視窗是否預設為開啟 這些特性可讓開發人員建立豐富的上下文註解,加強文件溝通。 對於涉及多種文件類型的進階工作流程,可考慮探索 RTF 至 PDF 的轉換或 Markdown 至 PDF 的轉換,以跨不同來源格式維持註解。 PDF 註解中的座標如何運作? PDF 座標從頁面左下角開始,與許多使用左上角起源的 UI 架構不同。 X 和 Y 屬性決定註解圖示在頁面上出現的位置,以點為單位(1/72 英吋)。 在以程式方式定位註解時,請確保您的座標計算考慮到此差異。 在計算註解的位置時,請記住標準的 US Letter 頁面是 8.5 x 11 英吋(612 x 792 點)。 A4 頁面尺寸為 595 x 842 點。 若要精確定位,您可能需要在放置註解之前,以程式化的方式擷取頁面尺寸。 在使用 自訂紙張尺寸或根據內容實施回應式註釋位置時,這一點變得尤為重要。 帶註解的 PDF 上述 PDF 文件中的注解可使用 Chrome 瀏覽器檢視。 我該如何擷取和編輯現有的註解? <! -- --> <!--說明:顯示逐步過程的截圖 --> 擷取和編輯 PDF 註解可提高清晰度、準確性和可用性,從而改善協作。 透過 Annotations 屬性存取註解集合,並使用新資訊更新 Title, Contents, X, Y 等屬性。 在處理現有的 PDF(尤其是來自 URL 轉換或 DOCX 匯入的 PDF)時,您可能需要修改其他使用者或系統所新增的註解。 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") $vbLabelText $csharpLabel 編輯程序會維護所有其他文件屬性與內容,確保僅修改指定的註解。 這在審閱工作流程中特別有用,在此流程中,註解可能需要根據文件修訂或需求變化進行更新。 若要進行全面的文件管理,可考慮將註解編輯與 metadata 操作結合,以追蹤文件版本和修訂歷史。 為什麼我需要編輯現有的註解? 在協同文件工作流程中,編輯註解變得非常重要,因為在此流程中,回饋需要根據修訂內容進行更新,模棱兩可的註解需要澄清,或者註解因內容變更而需要重新定位。 此能力可確保文件審閱在整個修訂週期中保持最新和相關。 在企業環境中,註解編輯通常會與核准工作流程整合,主管可能需要在最終核准前修改審核員的意見。 此外,當文件進行翻譯或本地化時,可能需要更新註解以反映語言變更或文化適應。 針對這種情況,IronPdf 的 UTF-8 和國際語言支援 可確保注釋在不同的語言和字元集中正確顯示。 編輯註解時,其他文件屬性會發生什麼變化? 編輯程序會維護所有其他文件屬性與內容,確保僅修改指定的註解。 文件結構、格式、內嵌資源和其他註解保持不變,在保持 PDF 完整性的同時,允許針對特定的審查意見進行有針對性的更新。 這種選擇性的編輯方式對於保持文件的完整性至關重要,尤其是在必須避免文件被篡改的管制行業。 此過程會保留數位簽章、表格欄位、書籤以及所有其他 PDF 功能。 對於需要稽核追蹤的文件,可考慮在進行註解修改的同時,實施 修訂歷程追蹤。 附有編輯註釋的 PDF 文件 上述 PDF 文件中的注解可使用 Chrome 瀏覽器檢視。 如何從 PDF 文件中移除註解? <! -- --> <!--說明:顯示逐步過程的截圖 --> 使用下列方法移除不必要或過時的註解:RemoveAtt、RemoveAllAnnotationsForPage 和 Clear。 RemoveAt:移除具有指定索引的單一註解。 RemoveAllAnnotationsForPage:移除指定頁面上的所有註解。 清除:移除文件中的所有註解。 註解的移除對於文件的定稿至關重要。 在吸收反饋意見並進行必要的修改後,您可能需要在分發最終版本之前清理審閱意見。 此流程與其他 IronPDF 功能 (例如 PDF 壓縮) 整合良好,可建立乾淨、最佳化的文件以供分發。 對於需要歸檔的文件,請考慮在移除註解後轉換為 IronPDF/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") $vbLabelText $csharpLabel 以程式方式移除註解時,必須瞭解每次移除註解後,註解集合都會重新編排索引。 如果您需要移除多個特定的註解,請在集合中倒序進行,或先收集要移除的註解,然後再倒序移除。 此方法可避免索引移位問題,以免移除錯誤的註解。 移除 PDF 上的單一註解 前 後 上述 PDF 文件中的注解可使用 Chrome 瀏覽器檢視。 如何一次移除所有註解? 若要移除特定頁面上的所有註解,請使用 RemoveAllAnnotationsForPage 方法,並指定頁面索引。 如果您要移除整個文件中的所有註解,請呼叫 Annotations 屬性上的 Clear 方法。 在準備最終發佈的文件或實施文件版本系統時,需要移除先前審核週期的註解,此大量移除功能特別有用。 考慮結合 metadata 編輯,以更新文件屬性並顯示審閱狀態。 對於需要淨化文件的工作流程,請探索 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") $vbLabelText $csharpLabel 何時應該使用大量註解移除? 批量刪除是完成文件分發、建立乾淨版本存檔或實施文件版本化(必須清除先前審核週期的註解)時的理想選擇。 與個別移除註解相比,此方法可節省時間,並確保生產文件中不會意外留下審核註解。 此外,在為可能無法正確處理註解的自動處理系統準備文件,或將註解的 PDF 轉換為其他格式時,批量移除是必要的。 對於高度安全的環境,在分發前移除所有註解可防止內部審查意見或敏感回饋不慎外洩,而這些意見或回饋並非為外部受眾而設。 使用 PDF 註解的最佳作法是什麼? 在您的應用程式中實作註解功能時,請考慮這些最佳實務: 1.座標系統:PDF 座標從頁面的左下角開始,不像許多 UI 框架使用左上角為起始點。 確保您的座標計算考慮到這種差異。 2.效能最佳化:新增多個註解時,請考慮批次操作,而不是每次新增後都儲存。 此方法可改善效能,尤其是在處理 大型 PDF 檔案時。 3.註解的可見性:並非所有的 PDF 檢視器都會以相同的方式顯示註解。 在不同的檢視器中測試您附加註解的 PDF,以確保一致的使用者體驗。 4.與表單整合:註解是 IronPDF 表單的補充,可在不修改表單結構的情況下提供上下文說明或指示。 5.安全考量:在處理敏感文件時,請記住註解可能包含機密資訊。 實施適當的 安全措施,以保護註解內容。 6.可及性:考慮加入註解以增強文件的可讀性,為殘障使用者提供額外的上下文。 這符合可存取文件的 IronPDF/UA 規範要求。 為什麼座標系統對於注解很重要? 源自左下角的 PDF 座標可能會讓習慣左上角原點系統的開發人員感到困惑。 不正確的座標計算可能會將註解放置在意想不到的位置,可能會遮蔽重要內容或出現在頁面外。 與 UI 框架或使用者輸入系統整合時,務必適當轉換座標。 在實施點擊註釋功能等功能或將使用者互動的螢幕坐標轉換為 PDF 坐標時,瞭解坐標系統變得更加重要。 對於複雜的定位需求,請考慮使用 IronPdf 的 viewport 和 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") $vbLabelText $csharpLabel 若要在大量使用的情況下獲得更好的效能,請考慮使用 異步處理 或 多執行緒技術 並行處理註解作業。 跨檢視器相容性應該考慮哪些因素? 不同的 PDF 檢視器可能會以不同的圖示樣式、彈出行為或定位怪癖來呈現註解。 務必在常用的檢視器(如 Adobe Acrobat、Chrome、Edge 和行動 PDF 閱讀器)中測試您註解的 PDF,以確保您的使用者在不同的平台上都能正確顯示註解並保持其功能。 某些檢視器可能不支援所有註解類型,或以不同方式顯示。 為了達到最大的相容性,請堅持使用標準註解類型,並避免依賴檢視器特定的功能。 部署到特定環境(例如 Azure 或 AWS )時,請在目標環境的預設 PDF 檢視器中測試註解,以確保行為一致。 準備好看看您還能做些什麼嗎? 在此查看我們的教學頁面: 編輯 PDFs 常見問題解答 如何在 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 的註解功能非常適用於文件審閱工作流程,審閱人員可以在文件上標記反饋意見,團隊協作在不修改原始內容的情況下處理合同,以及品質保證團隊標記技術文件中的問題。這些功能可與文件管理系統完美整合。 我需要安裝其他軟體才能使用 PDF 註解功能嗎? 不,IronPDF 是一個包含所有 PDF 註解功能的獨立 C# 函式庫。只需下載並在專案中引用 IronPDF 函式庫,即可開始新增、編輯和移除 PDF 文件中的註解,而無需任何外部依賴。 Curtis Chau 立即與工程團隊聊天 技術撰稿人 Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。 準備好開始了嗎? Nuget 下載 17,386,124 | 版本: 2026.2 剛剛發布 免費 NuGet 下載 總下載量:17,386,124 查看許可證