IronPDF 방법 PDF 문서 서명하기 A Developer's Guide to Digitally Signing PDFs with C# 제이콥 멜러 업데이트됨:1월 10, 2026 다운로드 IronPDF NuGet 다운로드 DLL 다운로드 윈도우 설치 프로그램 무료 체험 시작하기 LLM용 사본 LLM용 사본 LLM용 마크다운 형식으로 페이지를 복사하세요 ChatGPT에서 열기 ChatGPT에 이 페이지에 대해 문의하세요 제미니에서 열기 제미니에게 이 페이지에 대해 문의하세요 Grok에서 열기 Grok에게 이 페이지에 대해 문의하세요 혼란 속에서 열기 Perplexity에게 이 페이지에 대해 문의하세요 공유하다 페이스북에 공유하기 트위터에 공유하기 LinkedIn에 공유하기 URL 복사 이메일로 기사 보내기 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을 사용하여 PDF 만들기를 시작하세요. NuGet 패키지 관리자를 사용하여 IronPDF를 설치하세요. PM > Install-Package IronPdf 다음 코드 조각을 복사하여 실행하세요. new IronPdf.Signing.PdfSignature("certificate.pfx", "password").SignPdfFile("input.pdf"); 실제 운영 환경에서 테스트할 수 있도록 배포하세요. 지금 바로 무료 체험판을 통해 프로젝트에서 IronPDF를 사용해 보세요. 30일 무료 체험 ### 최소 워크플로우(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` 컴퓨터의 인증서 저장소에 있는 **지문 ID** 로 식별되는 디지털 서명을 사용하여 PDF에 서명합니다. X509Certificate2 객체 사용 최대한의 제어를 위해 인증서 파일에서 X509Certificate2 객체를 생성할 수 있습니다. IronPDF는 X509Certificate2 표준을 완벽하게 준수하여 강력하고 안전한 디지털 서명 구현 방법을 제공합니다. 인증서 객체를 생성할 때, 기본 암호화 API에서 요구하는 대로 X509KeyStorageFlags를 Exportable로 설정해야 합니다. 코드 저장소에서 디지털 서명에 대한 실제 예제를 확인해 보세요. 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 뷰어에서는 서명 인증서가 시스템의 신뢰 저장소에 없는 경우 경고 아이콘이 표시될 수 있습니다. 녹색 체크 표시를 받으려면 해당 인증서를 사용자의 신뢰할 수 있는 ID 목록에 추가해야 합니다. 디지털 서명에 시각적 표현을 추가하려면 어떻게 해야 하나요? 디지털 서명은 암호화 방식으로 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` 양식 작성, 서명, 주석 생성 또는 수정이 가능합니다. Saving and Signing a Specific PDF Revision PDFs can store a history of changes, much like a version control system. This is known as incremental saving. When you sign a PDF, the signature applies to a specific revision of the document. This is crucial for workflows where a document goes through multiple stages of approval. Learn more about managing PDF revision history in our detailed guide. In the following example, we load a PDF, make edits, and then sign the current revision while allowing only form-filling as a future change. We use SaveAsRevision to commit the current state to the document's history before saving the file. 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 Understanding incremental saves is key to advanced PDF workflows. While a simple viewer might only show the latest version, a tool like Adobe Acrobat can reveal the entire revision history, showing who signed which version and what changes were made between signatures. IronPDF gives you full programmatic control over this process. For businesses managing complex document workflows that require high security and compliance, a comprehensive solution may be needed. Iron Software offers Iron Suite, which includes IronPDF for signing and manipulation, plus other libraries for a wide range of document processing tasks, available for a single one-time payment. How Can I Manage and Verify Signatures Across Revisions? A PDF document can have multiple signatures applied across its various revisions. IronPDF provides tools to manage this history effectively. Roll Back to a Previous Revision: You can revert a document to an earlier state using the GetRevision method. This will discard all changes and signatures made after that revision. Verify All Signatures: The VerifySignatures method checks the validity of all signatures across all revisions of the document. It returns true only if every signature is valid and no unauthorized changes have been made. Remove Signatures: The RemoveSignatures method will strip all digital signatures from every revision of the document, creating a clean, unsigned version. // 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 How Do I Stamp a Handwritten Signature onto a PDF? Sometimes, you don't need the cryptographic security of a digital signature but simply want to apply a visual, electronic signature, like a scanned handwritten signature. This is often referred to as stamping. IronPDF can do this using its Watermark or Stamp features. For more advanced watermarking options, explore our custom watermarks guide. Let's start with a sample invoice PDF and a .png image of a handwritten signature. The original invoice PDF before stamping a signature. Here is the signature image we will apply: A sample handwritten signature image. The following code uses the Watermark property to stamp this image onto the bottom-right corner of the 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 What Does the Stamped PDF Result Look Like? After running the code, the signature image is stamped onto the document, creating a visually signed invoice. The final PDF with the handwritten signature image stamped in the bottom-right corner. How Can I Add an Interactive Signature Field to a PDF? For documents that need to be signed by an end-user in a PDF viewer like Adobe Acrobat, you can add an interactive signature form field. This creates an empty, clickable area that prompts the user to apply their own digital signature. For a complete guide on PDF forms, see our creating PDF forms tutorial. You can create a SignatureFormField and add it to the PDF's form collection. You have precise control over its location and size on the page. This is particularly useful for documents that require multiple signatures or when you need to collect signatures from external parties. 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>아래에 서명해 주세요.</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>아래에 서명해 주세요.</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 When a user opens this PDF, they will see a clickable field, allowing them to complete the signing process using their own digital ID. You can learn more about creating and managing interactive forms in our How-To guide on creating PDF forms. An unsigned, interactive signature field added programmatically to a PDF document. How Do I Retrieve the Signer Name from Verified Signatures? To obtain the common name of the certificate owner who signed a signature, we can use the VerifiedSignature class to access the SignerName property. Below is a code snippet demonstrating how to accomplish this. :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 을 출력합니다. 이 값은 인증서의 Subject Distinguished Name(SubjectDN)에서 추출되며, CN 필드가 없는 경우 null을 반환합니다. ## IronPDF를 사용한 PDF 서명의 다음 단계는 무엇인가요? 이 가이드에서는 IronPDF의 강력하고 유연한 PDF 서명 기능을 살펴보았습니다. 상세한 메타데이터를 포함한 안전한 디지털 서명 적용, 문서 수정 관리, 시각적 서명 스탬프 추가, 대화형 양식 생성 등 IronPDF는 포괄적이고 개발자 친화적인 API를 제공하여 모든 작업을 효율적으로 수행할 수 있도록 지원합니다. 더 자세한 내용을 살펴보려면 .NET용 IronPDF 라이브러리를 다운로드하고 무료 평가판 라이선스를 받아 프로젝트에서 모든 기능을 테스트해 보세요. 주석 추가 및 양식 필드 작업 등 고급 문서 조작 기술에 대해서는 자세한 설명서와 튜토리얼을 참조하십시오. IronPDF로 무엇을 더 할 수 있는지 궁금하신가요? 여기에서 튜토리얼 페이지를 확인하세요. 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를 수정하면 서명이 무효화되어 수신자에게 문서가 손상되었을 가능성이 있음을 알립니다. 제이콥 멜러 지금 바로 엔지니어링 팀과 채팅하세요 최고기술책임자 제이콥 멜러는 Iron Software의 최고 기술 책임자(CTO)이자 C# PDF 기술을 개척한 선구적인 엔지니어입니다. Iron Software의 핵심 코드베이스를 최초로 개발한 그는 창립 초기부터 회사의 제품 아키텍처를 설계해 왔으며, CEO인 캐머런 리밍턴과 함께 회사를 NASA, 테슬라, 그리고 전 세계 정부 기관에 서비스를 제공하는 50명 이상의 직원을 보유한 기업으로 성장시켰습니다. 제이콥은 맨체스터 대학교에서 토목공학 학사 학위(BEng)를 최우등으로 취득했습니다(1998~2001). 1999년 런던에서 첫 소프트웨어 회사를 설립하고 2005년 첫 .NET 컴포넌트를 개발한 후, 마이크로소프트 생태계 전반에 걸쳐 복잡한 문제를 해결하는 데 전문성을 발휘해 왔습니다. 그의 대표 제품인 IronPDF 및 Iron Suite .NET 라이브러리는 전 세계적으로 3천만 건 이상의 NuGet 설치 수를 기록했으며, 그의 핵심 코드는 전 세계 개발자들이 사용하는 다양한 도구에 지속적으로 활용되고 있습니다. 25년의 실무 경험과 41년의 코딩 전문성을 바탕으로, 제이콥은 차세대 기술 리더들을 양성하는 동시에 기업 수준의 C#, Java, Python PDF 기술 혁신을 주도하는 데 주력하고 있습니다. 검토자: 제프리 T. 프리츠 .NET 커뮤니티 팀의 수석 프로그램 관리자 제프는 .NET 및 Visual Studio 팀의 수석 프로그램 관리자이기도 합니다. 그는 .NET Conf 가상 컨퍼런스 시리즈의 총괄 프로듀서이며, 개발자를 위한 라이브 스트림 'Fritz and Friends'를 주 2회 진행하며 시청자들과 함께 기술에 대해 이야기하고 코드를 작성합니다. 제프는 Microsoft Build, Microsoft Ignite, .NET Conf, Microsoft MVP Summit 등 주요 Microsoft 개발자 행사를 위한 워크숍, 프레젠테이션 및 콘텐츠 기획을 담당합니다. 시작할 준비 되셨나요? Nuget 다운로드 17,527,568 | 버전: 2026.2 방금 출시되었습니다 NuGet 무료 다운로드 총 다운로드 수: 17,527,568 라이선스 보기