IronPDF 操作指南 簽署 PDF 文件 A Developer's Guide to Digitally Signing PDFs with C Jacob Mellor 更新:2026年1月31日 下載 IronPDF NuGet 下載 DLL 下載 Windows Installer 開始免費試用 LLM副本 LLM副本 將頁面複製為 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 本綜合指南向 C# 開發人員展示了如何使用 IronPDF 對 PDF 進行數位簽名,內容涵蓋了基於證書的簽名、視覺戳記和互動表單欄位,以確保文檔的真實性和安全性。 在許多應用程式中,向 PDF 文件添加簽名是一項常見要求,但"簽名"的含義可能有所不同。 對某些人來說,關鍵在於使用安全憑證應用防篡改的數位簽章。 對於其他人來說,這可能是在文件上蓋上手寫簽名圖像,或者添加一個互動式表單欄位供使用者進行電子簽名。 本指南為 C# 開發人員提供了使用IronPDF for .NET 程式庫完成所有這些任務的全面演練。 我們將涵蓋從應用安全的 X509Certificate2 數位簽章到新增圖形簽章和建立互動式簽章網域的所有內容,確保您的 PDF 文件真實、安全且專業。 快速入門:使用IronPDF輕鬆對 PDF 進行數位簽章 使用 IronPDF,透過簡單直接的流程,即可快速開始對 PDF 文件進行數位簽章。 本範例示範如何使用 .pfx 憑證對 PDF 檔案進行驗證和簽名,以確保文件的完整性和真實性。 請遵循以下步驟,將數位簽章無縫整合至您的應用程式。 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPdf PM > Install-Package IronPdf 複製並運行這段程式碼。 new IronPdf.Signing.PdfSignature("certificate.pfx", "password").SignPdfFile("input.pdf"); 部署到您的生產環境進行測試 今天就在您的專案中開始使用免費試用IronPDF Free 30 Day Trial ### 最小工作流程(5 個步驟) 安裝適用於 .NET 的 IronPDF 庫。 Apply a digital signature using an `X509Certificate2` object. 添加圖像以表示數位簽名。 在 PDF 檔案上新增圖形或手寫簽名。 新增用於電子簽名的互動式簽名表單欄位。 如何將數位簽章應用於具有憑證的 PDF 檔案? 您可以使用數位憑證檔案(例如 .pfx 或 .p12)對 PDF 文件套用數位簽名,以確保文件的真實性和完整性。 此流程確保文件自簽署以來未被篡改。 如需完整瞭解數位簽章功能,請瀏覽我們的 全面數位簽章指南。 IronPDF 為此提供了一個簡單的 API,支援多種應用數位簽章的方式。 此功能的核心是 PdfSignature 類,它封裝了憑證和簽署的所有相關元資料。 簽名方法 描述 `Sign` 使用您建立和配置的**`PdfSignature`物件**對 PDF 進行簽署。 `SignWithFile 使用位於磁碟上的數位簽章憑證檔案( `.pfx`或`.p12` )對 PDF 進行簽署。 `SignWithStore 使用電腦憑證儲存區中的數位簽名對 PDF 檔案進行簽名,該數位簽名透過其**指紋 ID**進行識別。 使用 X509Certificate2 對象 為了實現最大程度的控制,您可以從憑證檔案建立 @@--CODE - 236--@@ 物件。 IronPDF 完全符合 X509Certificate2 標準,為數位簽章實作提供了強大且安全的方法。 建立憑證物件時,請確保將 X509KeyStorageFlags 設定為 Exportable,因為底層加密 API 要求這樣做。您可以在我們的程式碼庫中查看數位簽名的實際範例。 Install-Package IronPdf using IronPdf; using IronPdf.Signing; using System.Security.Cryptography.X509Certificates; // Create a new PDF from an HTML string for demonstration. var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Signed Document</h1><p>This document has been digitally signed.</p>"); // Load the certificate from a .pfx file with its password. // The X509KeyStorageFlags.Exportable flag is crucial for allowing the private key to be used in the signing process. var cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable); // Create a PdfSignature object using the loaded certificate. var signature = new PdfSignature(cert); // Apply the signature to the PDF document. pdf.Sign(signature); // Save the securely signed PDF document. pdf.SaveAs("Signed.pdf"); using IronPdf; using IronPdf.Signing; using System.Security.Cryptography.X509Certificates; // Create a new PDF from an HTML string for demonstration. var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Signed Document</h1><p>This document has been digitally signed.</p>"); // Load the certificate from a .pfx file with its password. // The X509KeyStorageFlags.Exportable flag is crucial for allowing the private key to be used in the signing process. var cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable); // Create a PdfSignature object using the loaded certificate. var signature = new PdfSignature(cert); // Apply the signature to the PDF document. pdf.Sign(signature); // Save the securely signed PDF document. pdf.SaveAs("Signed.pdf"); $vbLabelText $csharpLabel 上面的程式碼首先產生一個簡單的PDF檔案。 然後,它將 .pfx 憑證檔案載入到 X509Certificate2 物件中。 此物件代表數位身份,並傳遞給 PdfSignature 建構函數。 最後,pdf.Sign 方法在儲存文件之前將此簽章套用至文件。 For more information on the X509Certificate2 class, you can refer to the official Microsoft documentation. 為數位簽名添加詳細信息 數位簽章可以包含憑證以外的內容; 您可以嵌入豐富的元數據,以提供有關簽名的上下文資訊。 這包括簽署地點、原因、聯絡資訊以及來自可信任機構的安全時間戳。 您也可以設定和編輯元資料,以取得額外的文件屬性。 添加這些細節可以改進文件的審計跟踪,並為核實人員提供有價值的資訊。 IronPDF也支援使用現代 SHA256 和 SHA512 雜湊演算法的時間戳伺服器。 using IronPdf; using IronPdf.Signing; using IronSoftware.Drawing; using System; // Load an existing PDF document to be signed. var pdf = PdfDocument.FromFile("invoice.pdf"); // Create a PdfSignature object directly from the certificate file and password. var signature = new PdfSignature("IronSoftware.pfx", "123456"); // Add detailed metadata to the signature for a comprehensive audit trail. // These properties enhance the signature's credibility and provide context signature.SignatureDate = DateTime.Now; signature.SigningContact = "legal@ironsoftware.com"; signature.SigningLocation = "Chicago, USA"; signature.SigningReason = "Contractual Agreement"; // Add a secure timestamp from a trusted Time Stamp Authority (TSA). // This provides cryptographic proof of the signing time. signature.TimeStampUrl = new Uri("[http://timestamp.digicert.com](http://timestamp.digicert.com)"); signature.TimestampHashAlgorithm = TimestampHashAlgorithms.SHA256; // Apply a visual appearance to the signature. (More on this in the next section) signature.SignatureImage = new PdfSignatureImage("assets/visual-signature.png", 0, new Rectangle(350, 750, 200, 100)); // Sign the PDF document with the configured signature object. pdf.Sign(signature); // Save the final, signed PDF document. pdf.SaveAs("DetailedSignature.pdf"); using IronPdf; using IronPdf.Signing; using IronSoftware.Drawing; using System; // Load an existing PDF document to be signed. var pdf = PdfDocument.FromFile("invoice.pdf"); // Create a PdfSignature object directly from the certificate file and password. var signature = new PdfSignature("IronSoftware.pfx", "123456"); // Add detailed metadata to the signature for a comprehensive audit trail. // These properties enhance the signature's credibility and provide context signature.SignatureDate = DateTime.Now; signature.SigningContact = "legal@ironsoftware.com"; signature.SigningLocation = "Chicago, USA"; signature.SigningReason = "Contractual Agreement"; // Add a secure timestamp from a trusted Time Stamp Authority (TSA). // This provides cryptographic proof of the signing time. signature.TimeStampUrl = new Uri("[http://timestamp.digicert.com](http://timestamp.digicert.com)"); signature.TimestampHashAlgorithm = TimestampHashAlgorithms.SHA256; // Apply a visual appearance to the signature. (More on this in the next section) signature.SignatureImage = new PdfSignatureImage("assets/visual-signature.png", 0, new Rectangle(350, 750, 200, 100)); // Sign the PDF document with the configured signature object. pdf.Sign(signature); // Save the final, signed PDF document. pdf.SaveAs("DetailedSignature.pdf"); $vbLabelText $csharpLabel 如果簽章憑證不在系統的受信任儲存區中,您可能會在某些 PDF 檢視器中看到警告圖示。 要獲得綠色對勾,必須將憑證新增至查看者的受信任身分。 如何為數位簽章添加視覺元素? 雖然數位簽章已透過加密技術嵌入 PDF 文件中,但在頁面上顯示其視覺表示通常很有用。 這可以是公司標誌、手寫簽名圖片或其他圖形。 IronPDF可以輕鬆地將影像新增至 PdfSignature 物件中。 您可以從文件或流中載入圖像,並將其精確地放置在 PDF 的任何頁面上。 支援的影像格式包括 PNG、JPEG、GIF、BMP、TIFF 和 WebP。此技術與您在 PDF 文件上標示文字和影像的方式類似。 using IronPdf.Signing; using IronSoftware.Drawing; // This example demonstrates various ways to add a visual image to a PDF signature. // Create a PdfSignature object. var signature = new PdfSignature("IronSoftware.pfx", "123456"); // Define the position and size for the signature image on the first page (index 0). // Rectangle parameters: x position, y position, width, height var signatureRectangle = new Rectangle(350, 750, 200, 100); // Option 1: Set the SignatureImage property directly. // This is the most straightforward approach signature.SignatureImage = new PdfSignatureImage("assets/visual-signature.png", 0, signatureRectangle); // Option 2: Use the LoadSignatureImageFromFile method. // This method provides the same functionality with a different syntax signature.LoadSignatureImageFromFile("assets/visual-signature.png", 0, signatureRectangle); // Option 3: Load an image from a stream. This is useful for images generated in memory. // Perfect for scenarios where images are retrieved from databases or web services AnyBitmap image = AnyBitmap.FromFile("assets/visual-signature.png"); using (var imageStream = image.ToStream()) { signature.LoadSignatureImageFromStream(imageStream, 0, signatureRectangle); } // After configuring the signature image, apply it to a PDF. var pdf = PdfDocument.FromFile("invoice.pdf"); pdf.Sign(signature); pdf.SaveAs("VisualSignature.pdf"); using IronPdf.Signing; using IronSoftware.Drawing; // This example demonstrates various ways to add a visual image to a PDF signature. // Create a PdfSignature object. var signature = new PdfSignature("IronSoftware.pfx", "123456"); // Define the position and size for the signature image on the first page (index 0). // Rectangle parameters: x position, y position, width, height var signatureRectangle = new Rectangle(350, 750, 200, 100); // Option 1: Set the SignatureImage property directly. // This is the most straightforward approach signature.SignatureImage = new PdfSignatureImage("assets/visual-signature.png", 0, signatureRectangle); // Option 2: Use the LoadSignatureImageFromFile method. // This method provides the same functionality with a different syntax signature.LoadSignatureImageFromFile("assets/visual-signature.png", 0, signatureRectangle); // Option 3: Load an image from a stream. This is useful for images generated in memory. // Perfect for scenarios where images are retrieved from databases or web services AnyBitmap image = AnyBitmap.FromFile("assets/visual-signature.png"); using (var imageStream = image.ToStream()) { signature.LoadSignatureImageFromStream(imageStream, 0, signatureRectangle); } // After configuring the signature image, apply it to a PDF. var pdf = PdfDocument.FromFile("invoice.pdf"); pdf.Sign(signature); pdf.SaveAs("VisualSignature.pdf"); $vbLabelText $csharpLabel 這段程式碼展示了三種向數位簽名添加視覺組件的等效方法。 無論影像儲存在磁碟還是記憶體中,您都可以在簽名過程中輕鬆地將其添加到 PDF 檔案中。 這彌合了無形的加密安全性和可見的文件審批之間的差距。 簽名後如何控製文件權限? 簽署文件時,您可能需要明確規定之後允許進行哪些更改(如果有的話)。 例如,您可能希望完全鎖定文檔,或只允許使用者填寫表單欄位。 IronPDF可讓您使用 SignaturePermissions 枚舉設定這些權限。 如需更進階的權限控制,請參閱我們的 設定 PDF 密碼和權限指南。 設定簽名權限是管理文件生命週期的關鍵環節。 它確保在您簽署後,文件的完整性能夠按照您的規定得到維護。 如果使用者執行了不允許的操作,則簽名將失效。 `SignaturePermissions`成員 定義 `NoChangesAllowed` 不允許進行任何形式的更改。該文件已被鎖定。 `FormFillingAllowed` 僅允許填寫現有表單欄位和簽名。 `AnnotationsAndFormFillingAllowed` 允許填寫表單、簽名以及建立或修改註釋。 儲存並簽署特定 PDF 版本 PDF 檔案可以儲存變更歷史記錄,就像版本控制系統一樣。 這稱為增量儲蓄。 當你簽署PDF文件時,該簽名僅適用於該文件的特定版本。 對於文件需要經過多個審批階段的工作流程來說,這一點至關重要。 請閱讀我們的詳細指南,以了解更多關於管理PDF修訂歷史記錄的資訊。 在以下範例中,我們載入一個 PDF 文件,進行編輯,然後簽署目前版本,同時只允許填寫表單作為未來的變更。 我們使用 SaveAsRevision 在儲存文件之前將目前狀態提交到文件的歷史記錄中。 using IronPdf.Signing; // Load a PDF file with change tracking enabled. // This enables incremental save functionality for revision management var pdf = PdfDocument.FromFile("annual_census.pdf", ChangeTrackingModes.EnableChangeTracking); // Placeholder for edits: You might add text, fill forms, or add annotations here. // For example: pdf.Annotations.Add(new TextAnnotation(...)); // Or: pdf.Form["fieldName"].Value = "New Value"; // Sign the current state of the document using SignWithFile for convenience. // We set permissions to allow further signatures and form filling. pdf.SignWithFile( "assets/IronSignature.p12", "password", SignaturePermissions.AdditionalSignaturesAndFormFillingAllowed); // Save the current state as a distinct revision within the PDF's history. // This creates a snapshot that can be referenced later PdfDocument pdfWithRevision = pdf.SaveAsRevision(); // Save the final PDF with its full revision history to a new file. pdfWithRevision.SaveAs("annual_census_signed.pdf"); using IronPdf.Signing; // Load a PDF file with change tracking enabled. // This enables incremental save functionality for revision management var pdf = PdfDocument.FromFile("annual_census.pdf", ChangeTrackingModes.EnableChangeTracking); // Placeholder for edits: You might add text, fill forms, or add annotations here. // For example: pdf.Annotations.Add(new TextAnnotation(...)); // Or: pdf.Form["fieldName"].Value = "New Value"; // Sign the current state of the document using SignWithFile for convenience. // We set permissions to allow further signatures and form filling. pdf.SignWithFile( "assets/IronSignature.p12", "password", SignaturePermissions.AdditionalSignaturesAndFormFillingAllowed); // Save the current state as a distinct revision within the PDF's history. // This creates a snapshot that can be referenced later PdfDocument pdfWithRevision = pdf.SaveAsRevision(); // Save the final PDF with its full revision history to a new file. pdfWithRevision.SaveAs("annual_census_signed.pdf"); $vbLabelText $csharpLabel 理解增量保存是進階 PDF 工作流程的關鍵。 雖然簡單的檢視器可能只會顯示最新版本,但像 Adobe Acrobat 這樣的工具可以顯示完整的修訂歷史記錄,顯示誰簽署了哪個版本以及簽名之間做了哪些更改。 IronPDF讓您可以完全透過程式控制此流程。 對於管理複雜文件工作流程且需要高度安全性和合規性的企業而言,可能需要一個全面的解決方案。 Iron Software提供Iron Suite ,其中包括用於簽名和操作的IronPDF ,以及其他用於各種文件處理任務的庫,只需一次性付款即可獲得。 如何管理和驗證不同版本中的簽名? PDF 文件可以在其各個版本中使用多個簽章。 IronPDF提供了有效管理此歷史記錄的工具。 -回滾到先前的版本:您可以使用 GetRevision 方法將文件還原到先前的狀態。 這將丟棄該版本之後所做的所有更改和簽名。 -驗證所有簽章:VerifySignatures 方法檢查文件所有版本中所有簽章的有效性。 只有當所有簽名都有效且沒有進行任何未經授權的更改時,才會返回 true。 -刪除簽名:RemoveSignatures 方法將從文件的每個版本中剝離所有數位簽名,創建一個乾淨的、未簽名的版本。 // Load a PDF with a complex signature history. var pdf = PdfDocument.FromFile("multi_signed_report.pdf"); // Verify all signatures across all revisions. // This ensures document integrity throughout its entire history bool allSignaturesValid = pdf.VerifySignatures(); Console.WriteLine($"All signatures are valid: {allSignaturesValid}"); // Roll back to the first revision (index 0). // Useful for reviewing the original document state if (pdf.RevisionCount > 1) { PdfDocument firstRevision = pdf.GetRevision(0); firstRevision.SaveAs("report_first_revision.pdf"); } // Create a completely unsigned version of the document. // This removes all digital signatures while preserving content pdf.RemoveSignatures(); pdf.SaveAs("report_unsigned.pdf"); // Load a PDF with a complex signature history. var pdf = PdfDocument.FromFile("multi_signed_report.pdf"); // Verify all signatures across all revisions. // This ensures document integrity throughout its entire history bool allSignaturesValid = pdf.VerifySignatures(); Console.WriteLine($"All signatures are valid: {allSignaturesValid}"); // Roll back to the first revision (index 0). // Useful for reviewing the original document state if (pdf.RevisionCount > 1) { PdfDocument firstRevision = pdf.GetRevision(0); firstRevision.SaveAs("report_first_revision.pdf"); } // Create a completely unsigned version of the document. // This removes all digital signatures while preserving content pdf.RemoveSignatures(); pdf.SaveAs("report_unsigned.pdf"); $vbLabelText $csharpLabel 如何在PDF文件上新增手寫簽名? 有時,您不需要數位簽名的加密安全性,而只是想套用視覺電子簽名,例如掃描的手寫簽名。 這通常被稱為蓋章。 IronPDF可以使用其 Watermark 或 Stamp 功能來實現這一點。 如需了解更多進階浮水印選項,請瀏覽我們的自訂浮水印指南。 讓我們從一個範例發票 PDF 和一個手寫簽名的圖片開始。 蓋章前的原始發票PDF文件。 以下是我們將要使用的標誌性圖像: 手寫簽名範例圖片。 以下程式碼使用 Watermark 屬性將此圖像印在 PDF 的右下角。 using IronPdf.Editing; // Load the existing PDF document. var pdf = PdfDocument.FromFile("invoice.pdf"); // Create an HtmlStamp containing our signature image. // HtmlStamp allows us to position HTML content precisely on the page var signatureStamp = new HtmlStamp("<img src='assets/signature.png'/>") { // Configure the stamp's position and appearance. VerticalAlignment = VerticalAlignment.Bottom, HorizontalAlignment = HorizontalAlignment.Right, Margin = 10, // Add some space from the edge. Opacity = 90 // Make it slightly transparent for a more authentic look. }; // Apply the stamp to all pages of the PDF. // You can also specify specific page numbers if needed pdf.ApplyStamp(signatureStamp); // Save the modified PDF document. pdf.SaveAs("official_invoice.pdf"); using IronPdf.Editing; // Load the existing PDF document. var pdf = PdfDocument.FromFile("invoice.pdf"); // Create an HtmlStamp containing our signature image. // HtmlStamp allows us to position HTML content precisely on the page var signatureStamp = new HtmlStamp("<img src='assets/signature.png'/>") { // Configure the stamp's position and appearance. VerticalAlignment = VerticalAlignment.Bottom, HorizontalAlignment = HorizontalAlignment.Right, Margin = 10, // Add some space from the edge. Opacity = 90 // Make it slightly transparent for a more authentic look. }; // Apply the stamp to all pages of the PDF. // You can also specify specific page numbers if needed pdf.ApplyStamp(signatureStamp); // Save the modified PDF document. pdf.SaveAs("official_invoice.pdf"); $vbLabelText $csharpLabel 加蓋印章後的 PDF 結果是什麼樣子的? 程式碼運行後,簽名圖像會被印在文件上,從而產生一張帶有視覺簽名的發票。 最終的PDF檔案右下角蓋有手寫簽名印章。 如何在PDF中加入互動式簽名域? 對於需要在 Adobe Acrobat 等 PDF 檢視器中由最終使用者簽署的文檔,您可以新增互動式簽名表單欄位。 這將建立一個空白的、可點擊的區域,提示使用者套用自己的數位簽章。 有關 PDF 表單的完整指南,請參閱我們的PDF 表單建立教學。 您可以建立一個 SignatureFormField 並將其新增至 PDF 的表單集合中。 您可以精確控制它在頁面上的位置和大小。 這對於需要多人簽署的文件,或者當您需要從外部人員收集簽名時,尤其有用。 using IronPdf.Forms; using IronSoftware.Drawing; // Create a new PDF to add the signature field to. var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Please Sign Below</h1>"); // Define the properties for the signature form field. string fieldName = "ClientSignature"; // Unique identifier for the field int pageIndex = 0; // Add to the first page (zero-indexed) var fieldRect = new Rectangle(50, 200, 300, 100); // Position: (x, y), Size: (width, height) // Create the SignatureFormField object. // This creates an interactive field that users can click to sign var signatureField = new SignatureFormField(fieldName, pageIndex, fieldRect); // Add the signature field to the PDF's form. pdf.Form.Add(signatureField); // Save the PDF with the new interactive signature field. pdf.SaveAs("interactive_signature.pdf"); using IronPdf.Forms; using IronSoftware.Drawing; // Create a new PDF to add the signature field to. var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Please Sign Below</h1>"); // Define the properties for the signature form field. string fieldName = "ClientSignature"; // Unique identifier for the field int pageIndex = 0; // Add to the first page (zero-indexed) var fieldRect = new Rectangle(50, 200, 300, 100); // Position: (x, y), Size: (width, height) // Create the SignatureFormField object. // This creates an interactive field that users can click to sign var signatureField = new SignatureFormField(fieldName, pageIndex, fieldRect); // Add the signature field to the PDF's form. pdf.Form.Add(signatureField); // Save the PDF with the new interactive signature field. pdf.SaveAs("interactive_signature.pdf"); $vbLabelText $csharpLabel 當使用者打開此 PDF 文件時,他們會看到一個可點擊的字段,允許他們使用自己的數位 ID 完成簽名過程。 您可以參考我們的PDF 表單建立指南,以了解更多關於建立和管理互動式表單的資訊。 透過程式設計方式新增至 PDF 文件中的未簽章互動式簽章網域。 如何從已驗證的簽章中檢索簽章人姓名? 要取得簽署簽署的憑證擁有者的通用名稱,我們可以使用 VerifiedSignature 類別來存取 SignerName 屬性。 下面的程式碼片段示範如何實現這一點。 :path=/static-assets/pdf/content-code-examples/how-to/signing-find-signer-name.cs using IronPdf; using System; // Import the Signed PDF report var pdf = PdfDocument.FromFile("multi_signed_report.pdf"); // Using GetVerifiedSignatures() obtain a list of `VerifiedSignature` objects from the PDF pdf.GetVerifiedSignatures().ForEach(signature => { // Print out the SignerName of each `VerifiedSignature` object Console.WriteLine($"SignatureName: {signature.SignerName}"); }); $vbLabelText $csharpLabel 導入簽署的 PDF 文件後,我們利用 GetVerifiedSignatures 方法檢索報告中的 VerifiedSignature 物件列表,並為每個簽名列印 SignerName。 請注意,此值是從憑證的主題可分辨名稱 (SubjectDN) 中提取的,如果 CN 欄位不存在,則將傳回 null。 使用IronPDF進行 PDF 簽名的下一步是什麼? 本指南示範了IronPDF強大且靈活的 PDF 簽名功能。 無論您需要應用具有詳細元資料的安全數位簽名、管理文件修訂、新增視覺簽名,還是建立互動式表單, IronPDF提供了一個全面且對開發者友好的 API 來完成這項工作。 要繼續探索,您可以下載IronPDF .NET庫,並獲得免費試用許可證,以便在您的專案中測試其所有功能。 如需了解更高級的文件操作技巧,包括新增註解和使用表單字段,請查看我們豐富的文件和教學課程。 準備好看看您還能做些什麼嗎? 請造訪我們的教學頁面:簽署和保護 PDF 文件 常見問題解答 如何在 C# 中使用憑證對 PDF 進行數位簽章? 使用 IronPDF,您只需使用 PdfSignature 類一行代碼即可對 PDF 進行數位簽名。只需用您的證書文件(.pfx 或 .p12)和密碼創建一個新的 PdfSignature 物件,然後調用 SignPdfFile() 方法。例如:new IronPdf.Signing.PdfSignature("certificate.pfx", "password").SignPdfFile("input.pdf")。這將使用您的 X509Certificate2 套用防篡改數位簽章,以確保文件的真實性。 支援哪些類型的 PDF 簽名? IronPDF 支持三种主要的 PDF 签名类型:1) 使用 X509Certificate2 憑證進行驗證和防篡改的數位簽章;2) 在文件中添加圖形或手寫簽名圖像的視覺簽章;以及 3) 允許用戶對 PDF 進行電子簽名的互動簽名表單欄位。每種類型對於文件安全性和工作流程需求都有不同的用途。 哪些憑證格式可用於數位簽章? IronPDF 支援常見的數位憑證格式,包括 .pfx(個人資訊交換)和 .p12 檔案。這些證書檔案包含數位簽章所需的公開金鑰和私人金鑰。IronPDF 中的 PdfSignature 類別可以與任何 X509Certificate2 物件一起工作,為您加載和管理簽名證書提供了靈活性。 我可以在數位簽章中加入視覺表示嗎? 是的,IronPDF 允許您在數位簽名中加入視覺元素。您可以在加密簽章旁加入圖形表示,例如手寫簽章圖像、公司標誌或自訂印章。這將數位憑證的安全性與視覺確認結合起來,使簽署的文件既安全又具有專業性。 如何建立互動式簽名欄位供使用者進行電子簽名? IronPDF 可讓您在 PDF 文件中加入互動式簽名表單欄位。這些欄位允許使用者透過點擊並繪製簽名或上傳簽名影像,以電子方式簽署文件。此功能非常適合建立需要收集簽名的文件,例如需要多方簽名的合約或表格。 簽署 PDF 是否能確保文件的完整性? 是的,當您使用 IronPDF 以 X509Certificate2 對 PDF 進行數位簽章時,會建立一個防篡改的封印,以確保文件的完整性。數位簽章保證文件自簽署後未被修改。簽名後對 PDF 的任何修改都會使簽名失效,提醒收件人該文件可能已被洩露。 Jacob Mellor 立即與工程團隊聊天 首席技術官 Jacob Mellor是Iron Software的首席技術官,也是開創C# PDF技術的前瞻性工程師。作為Iron Software核心代碼庫的原始開發者,他自公司成立以來就塑造了公司的產品架構,並與CEO Cameron Rimington將公司轉型為服務NASA、Tesla以及全球政府機構的50多人公司。Jacob擁有曼徹斯特大學土木工程一級榮譽學士學位(1998年–2001年)。他於1999年在倫敦開立首家軟體公司,並於2005年建立了他的第一個.NET組件,專注於解決Microsoft生態系統中的複雜問題。他的旗艦作品IronPDF和Iron Suite .NET程式庫全球已獲得超過3000萬次NuGet安裝,他的基礎代碼不斷在全球各地驅動開發者工具。擁有25年以上的商業經驗和41年的編碼專業知識,Jacob仍然專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。 審核人 Jeffrey T. Fritz 首席程序经理 - .NET 社群团队 Jeff 也是 .NET 和 Visual Studio 团队的首席程序经理。他是 .NET Conf 虚拟会议系列的执行制作人,并主持“Fritz 和朋友”这一每周两次的開發者的直播节目,在节目上讨论技術并与观众一起编写代碼。Jeff 撰写研讨会、主持演讲,并计划大型 Microsoft 開發者活動(包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP Summit)的內容。 準備好開始了嗎? Nuget 下載 17,803,474 | 版本: 2026.3 剛剛發布 開始免費試用 免費 NuGet 下載 總下載量:17,803,474 查看許可證 還在滾動嗎? 想快速取得證據? PM > Install-Package IronPdf 運行範例看著你的HTML程式碼變成PDF檔。 免費 NuGet 下載 總下載量:17,803,474 查看許可證