A Developer's Guide to Digitally Signing PDFs with C
Bu kapsamlı kılavuz, IronPDF kullanarak PDF'leri dijital olarak imzalamayı gösteren C# geliştiricilerine yöneliktir; sertifika tabanlı imzalar, görsel damgalar ve etkileşimli form alanları gibi unsurlar belgenin hakikiliğini ve güvenliğini sağlamaya yöneliktir.
PDF belgesine imza eklemek birçok uygulamada yaygın bir gereksinimdir, ancak 'imzalama' farklı anlamlara gelebilir. Bazıları için bu, bir güvenlik sertifikası kullanarak sahtekarlıklara karşı dayanıklı bir dijital imza uygulamakla ilgilidir. Diğerleri için, bir belgeye görsel, elle yazılmış bir imza görüntüsü damgalamak veya kullanıcıların elektronik olarak imza atabilmesi için bir etkileşimli form alanı eklemek olabilir.
Bu kılavuz, tüm bu görevleri gerçekleştirmek için IronPDF .NET için kütüphanesini kullanarak C# geliştiricileri için kapsamlı bir yürüyüş sunar. Güvenli bir X509Certificate2 dijital imza uygulamaktan grafik imzalar basmaya ve etkileşimli imza alanları oluşturmaya kadar her şeyi kapsayacağız, bu da PDF belgelerinizin özgün, güvenli ve profesyonel olmasını sağlayacak.
Hızlı Başlangıç: IronPDF Kullanarak Kolayca PDF'yi Dijital Olarak İmzala
IronPDF ile PDF belgelerinizi dijital olarak imzalamaya basit ve doğrudan bir süreçle hızlı bir başlangıç yapın. Bu örnek, bir .pfx sertifikası kullanarak bir PDF dosyasını doğrulamanın ve imzalamanın, belgenin bütünlüğünü ve hakikiliğini sağlamanın nasıl uygulanacağını gösterir. Dijital imzayı uygulamanıza sorunsuzca entegre etmek için bu adımları izleyin.
-
IronPDF aşağıdaki NuGet Paket Yöneticisi ile yükleyin
-
Bu kod parçacığını kopyalayın ve çalıştırın.
new IronPdf.Signing.PdfSignature("certificate.pfx", "password").SignPdfFile("input.pdf"); -
Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronPDF kullanmaya başlayın
Asgari İş Akışı (5 adım)
- .NET için IronPDF kütüphanesini yükleyin.
X509Certificate2nesnesi kullanarak dijital imza uygulayın.- Dijital imzayı temsil eden görsel bir imaj ekleyin.
- PDF dosyasına grafiksel veya elle yazılmış bir imza damgası ekleyin.
- Elektronik imza için etkileşimli bir imza formu alanı ekleyin.
Bir PDF'ye Sertifika ile Dijital İmza Nasıl Uygulanır?
Bir PDF belgesine, belgenin özgünlüğünü ve bütünlüğünü garanti etmek için bir dijital sertifika dosyası (örneğin .pfx veya .p12) kullanarak dijital imza uygulayabilirsiniz. Bu işlem, belgenin imzalandığından beri değiştirilmediğini garanti eder. Dijital imzalama yeteneklerine genel bir bakış için, kapsamlı dijital imza kılavuzunu keşfedin.
IronPDF, bu amaçla basit bir API sağlar ve dijital imza uygulamak için birden fazla yöntem destekler. Bu işlevselliğin temeli, sertifika ve imza ile ilişkili tüm metaverileri kapsayan PdfSignature sınıfına dayanır.
| İmzalama Yöntemi | Açıklama |
|---|---|
Sign |
Oluşturduğunuz ve yapılandırdığınız PdfSignature nesnesi ile bir PDF'yi imzalar. |
SignWithFile |
Diske yerleşik bir dijital imza sertifika dosyası (.pfx veya .p12) kullanarak bir PDF'yi imzalar. |
SignWithStore |
Bilgisayarın sertifika mağazanızdan, başparmak izi ID'si ile belirlenen bir dijital imza ile bir PDF'yi imzalar. |
Bir X509Certificate2 Nesnesi Kullanımı
Maksimum kontrol için, sertifika dosyanızdan bir X509Certificate2 nesnesi oluşturabilirsiniz. IronPDF, dijital imza uygulaması için sağlam ve güvenli bir yöntem sağlayan X509Certificate2 standardına tam uygundur. Sertifika nesnesini oluştururken, altta yatan kriptografik API'ler tarafından gereken X509KeyStorageFlags değerlerinin Exportable olarak ayarlandığından emin olun. Kod deposumuzda dijital imza örneklerine göz atın.
Install-Package IronPdf
:path=/static-assets/pdf/content-code-examples/how-to/signing-3.cs
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");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
' Create a new PDF from an HTML string for demonstration.
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = 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.
Dim cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
' Create a PdfSignature object using the loaded certificate.
Dim signature As New PdfSignature(cert)
' Apply the signature to the PDF document.
pdf.Sign(signature)
' Save the securely signed PDF document.
pdf.SaveAs("Signed.pdf")
Yukarıdaki kod ilk olarak basit bir PDFyu oluşturur. Daha sonra bir .pfx sertifika dosyasını bir X509Certificate2 nesnesine yükler. Dijital kimliği temsil eden bu nesne, PdfSignature yapıcısına aktarılır. Son olarak, pdf.Sign yöntemi bu imzayı belgeye uygular ve ardından kaydeder. For more information on the X509Certificate2 class, you can refer to the official Microsoft documentation.
Dijital İmza ya Detaylar Eklemek
Dijital bir imza sadece sertifikayı içermeyebilir; imza hakkında bağlam sağlamak için zengin meta veriler ekleyebilirsiniz. Bu, imzalama yeri, nedeni, iletişim bilgileri ve güvenilir bir otoriteden alınmış güvenli bir zaman damgası içerir. Ek belge özellikleri için meta veri kurabilir ve düzenleyebilirsiniz.
Bu detayları eklemek belgenin denetim izini iyileştirir ve doğrulayıcılara değerli bilgiler sağlar. IronPDF, modern SHA256 ve SHA512 hash algoritmalarını kullanan zaman damgası sunucularını da destekler.
:path=/static-assets/pdf/content-code-examples/how-to/signing-4.cs
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");
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");
Imports IronPdf
Imports IronPdf.Signing
Imports IronSoftware.Drawing
Imports System
' Load an existing PDF document to be signed.
Dim pdf = PdfDocument.FromFile("invoice.pdf")
' Create a PdfSignature object directly from the certificate file and password.
Dim 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")
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")
Birkaç PDF görüntüleyicisinde, imzalama sertifikası sistemin güvenilir mağazasında değilse bir uyarı sembolü görebilirsiniz. Yeşil onay işareti almak için sertifika, görüntüleyicinin güvenilir kimliklerine eklenmelidir.
Dijital İmzada Görsel Temsili Nasıl Eklerim??
Dijital bir imza kriptografik olarak PDF'ye gömülü iken, sayfada görsel bir temsilin bulunması genellikle faydalıdır. Bu, bir şirket logosu, el yazısı imza resmi ya da diğer grafikler olabilir. IronPDF, bir PdfSignature nesnesine bir resim eklemeyi kolaylaştırır.
Herhangi bir PDF sayfasına hassas bir şekilde yerleştirilip bir dosya veya akıştan bir resim yükleyebilirsiniz. Desteklenen görüntü formatları PNG, JPEG, GIF, BMP, TIFF ve WebP'tir. Bu teknik, PDF belgelerinde metin ve görselleri damgalama yöntemine benzerdir.
:path=/static-assets/pdf/content-code-examples/how-to/signing-5.cs
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");
Imports IronPdf.Signing
Imports IronSoftware.Drawing
' This example demonstrates various ways to add a visual image to a PDF signature.
' Create a PdfSignature object.
Dim signature As 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
Dim signatureRectangle As 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
Dim image As AnyBitmap = AnyBitmap.FromFile("assets/visual-signature.png")
Using imageStream = image.ToStream()
signature.LoadSignatureImageFromStream(imageStream, 0, signatureRectangle)
End Using
' After configuring the signature image, apply it to a PDF.
Dim pdf As PdfDocument = PdfDocument.FromFile("invoice.pdf")
pdf.Sign(signature)
pdf.SaveAs("VisualSignature.pdf")
Bu kod üç eşdeğer yöntemi gösterir, bir dijital imzaya görsel bir bileşen ekler. Diskte veya bellekte bir resminiz olsun, imzalama işleminin bir parçası olarak kolayca PDF'ye damgalayabilirsiniz. Bu, görünmez kriptografik güvenlik ile görünen belge onayı arasında köprü kurar.
İmzaladıktan Sonra Belge İzinlerini Nasıl Kontrol Edebilirim?
Belgeyi imzaladığınızda, sonrasında hangi değişikliklerin, varsa, izin verildiğini belirtmek isteyebilirsiniz. Örneğin, belgeyi tamamen kilitlemek veya sadece kullanıcıların form alanlarını doldurmasına izin vermek isteyebilirsiniz. IronPDF, bu izinleri SignaturePermissions numaralandırmasını kullanarak ayarlamanıza olanak tanır. Daha gelişmiş izin kontrolü için, PDF şifrelerini ve izinlerini ayarlama rehberimize bakın.
İmza izinlerini ayarlamak, bir belgenin yaşam döngüsünü yönetmenin önemli bir parçasıdır. Bu, imzanız uygulandıktan sonra belgenin bütünlüğünün kurallarınıza göre korunmasını sağlar. Bir kullanıcı izin verilmeyen bir eylemi gerçekleştirirse, imza geçersiz hale gelir.
| `SignaturePermissions` Üye | Tanım |
|---|---|
| `Değişikliklere İzin Yok` | Herhangi bir türde değişiklik yapılmasına izin verilmez. Belge etkili bir şekilde kilitlenir. |
| `Form Doldurma İzinli` | Sadece mevcut form alanlarının doldurulmasına ve imzalanmasına izin verilir. |
| `AnnotationsAndFormFillingAllowed` | Form doldurma, imzalama ve açıklama ekleme veya değiştirmeye izin verir. |
Belli Bir PDF Revizyonunu Kaydetme ve İmzalama
PDF'ler, bir sürüm kontrol sistemi gibi, değişikliklerin bir tarihçesini saklayabilir. Bu, artımlı kaydetme olarak bilinir. Bir PDF'yi imzaladığınızda, imza belgenin belirli bir revizyonuna uygulanır. Bu, bir belgenin birden fazla onay aşamasından geçtiği iş akışları için çok önemlidir. PDF revizyon geçmişi yönetimi hakkında daha fazla bilgi edinmek için detaylı rehberimize bakın.
Aşağıdaki örnekte, bir PDF yükleyip düzenler yapıyor ve ardından gelecekte sadece form doldurmaya izin verirken mevcut revizyonu imzalıyoruz. Dosyayı kaydetmeden önce belgenin tarihçesine mevcut durumu kaydetmek için SaveAsRevision kullanıyoruz.
GetRevision
Artımlı kaydetmeleri anlamak, gelişmiş PDF iş akışları için önemlidir. Basit bir görüntüleyici yalnızca en son sürümü gösterirken, Adobe Acrobat gibi bir araç tüm revizyon geçmişini ortaya koyabilir, hangi sürümün kim tarafından imzalandığını ve imzalar arasında hangi değişikliklerin yapıldığını gösterir. IronPDF, bu işlemde size tam programatik kontrol sağlar.
Yüksek güvenlik ve uyumluluk gerektiren karmaşık belge iş akışlarını yöneten işletmeler için kapsamlı bir çözüm gerekebilir. Iron Software, IronPDF ile imzalama ve değiştirme, artı çeşitli belge işleme görevleri için tek bir kereye mahsus ödeme ile temin edilen diğer kütüphanelerle beraber Iron Suite sunar.
Revizyonlar Arasında İmzaları Nasıl Yönetebilir ve Doğrulayabilirim?
Bir PDF belgesine, çeşitli revizyonları boyunca birçok imza uygulanabilir. IronPDF, bu tarihi etkili bir şekilde yönetmek için araçlar sunar.
- Önceki Bir Revizyona Geri Dön: Bir belgeyi önceki bir duruma döndürmek için
RollBackToRevisionyöntemini kullanabilirsiniz. Bu, o revizyondan sonra yapılan tüm değişiklikleri ve imzaları iptal edecektir. - Tüm İmzaları Doğrula:
VerifyAllSignaturesyöntemi, belgenin tüm revizyonlarındaki tüm imzaların geçerliliğini kontrol eder. Ancak tüm imzalar geçerli olduğunda ve yetkisiz bir değişiklik yapılmadığındaSignatureStatus.Validdöndürür. - İmzaları Kaldır:
RemoveSignaturesyöntemi, belgenin her revizyonundan tüm dijital imzaları kaldırarak temiz, imzasız bir sürüm oluşturur.
:path=/static-assets/pdf/content-code-examples/how-to/signing-6.cs
// 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");
Imports System
' Load a PDF with a complex signature history.
Dim pdf = PdfDocument.FromFile("multi_signed_report.pdf")
' Verify all signatures across all revisions.
' This ensures document integrity throughout its entire history
Dim allSignaturesValid As Boolean = 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 Then
Dim firstRevision As PdfDocument = pdf.GetRevision(0)
firstRevision.SaveAs("report_first_revision.pdf")
End If
' Create a completely unsigned version of the document.
' This removes all digital signatures while preserving content
pdf.RemoveSignatures()
pdf.SaveAs("report_unsigned.pdf")
IronSuite, operasyonlarımızda kritik bir rol oynar. Bunlar, iş süreçlerinde verimliliği artıran, kat planları oluşturmak ve envanter yönetimini geliştirmek gibi araçlardır.
El Yazısı İmzayı Bir PDF'ye Nasıl Damgalarım?
Bazen, dijital imzanın kriptografik güvenliğine ihtiyaç duymazsınız, sadece taranmış bir el yazısı imzası gibi görsel, elektronik bir imza uygulamak istersiniz. Bu genellikle damgalama olarak adlandırılır. IronPDF, bunu kendi Watermark veya Stamp özelliklerini kullanarak yapabilir. Daha gelişmiş filigranlama seçenekleri için, özelleştirilmiş filigran rehberimizi keşfedin.
Örnek bir fatura PDF'si ve el yazısı bir imzanın .png resmi ile başlayalım.
VerifySignatures
İmza damgalanmadan önceki orijinal fatura PDF'si.
Uygulayacağımız imza görüntüsü burada:
Örnek el yazısı imza görüntüsü.
Aşağıdaki kod, bu resmi PDF'nin sağ alt köşesine damgalamak için SignatureImage özelliğini kullanır.
:path=/static-assets/pdf/content-code-examples/how-to/signing-7.cs
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");
Imports IronPdf.Editing
' Load the existing PDF document.
Dim pdf = PdfDocument.FromFile("invoice.pdf")
' Create an HtmlStamp containing our signature image.
' HtmlStamp allows us to position HTML content precisely on the page
Dim signatureStamp = New HtmlStamp("<img src='assets/signature.png'/>") With {
' 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")
Damgalanmış PDF Sonucu Nasıl Görünür?
Kod çalıştırıldıktan sonra, imza görüntüsü belgeye damgalanır ve görsel olarak imzalı bir fatura oluşturur.
Sağ alt köşeye damgalanmış el yazısı imza ile son PDF.
PDF'ye Etkileşimli Bir İmza Alanı Nasıl Eklerim?
Adobe Acrobat gibi bir PDF görüntüleyicide son kullanıcının imzalaması gereken belgeler için, etkileşimli bir imza form alanı ekleyebilirsiniz. Bu, kullanıcının kendi dijital imzasını uygulamasını isteyen boş, tıklanabilir bir alan oluşturur. PDF formlarıyla ilgili tam rehber için PDF formları oluşturma eğiticimize bakın.
Bir SignatureFormField oluşturabilir ve bunu PDF'nin form koleksiyonuna ekleyebilirsiniz. Sayfadaki konumu ve boyutu üzerinde hassas bir kontrol sahibi olursunuz. Bu, birden fazla imza gerektiren belgeler veya harici taraflardan imza toplamanız gerektiğinde özellikle yararlıdır.
true``RemoveSignatures
:path=/static-assets/pdf/content-code-examples/how-to/signing-8.cs
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");
Imports IronPdf.Forms
Imports IronSoftware.Drawing
' Create a new PDF to add the signature field to.
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Please Sign Below</h1>")
' Define the properties for the signature form field.
Dim fieldName As String = "ClientSignature" ' Unique identifier for the field
Dim pageIndex As Integer = 0 ' Add to the first page (zero-indexed)
Dim fieldRect As 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
Dim signatureField As 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")
Bir kullanıcı bu PDF'yi açtığında, kendi dijital kimlikleriyle imzalama sürecini tamamlamalarını sağlayan tıklanabilir bir alan görecekler. PDF formları oluşturma rehberimizde etkileşimli formlar oluşturma ve yönetme hakkında daha fazla bilgi edinebilirsiniz.
Programlama yoluyla bir PDF belgesine eklenen, imzasız, etkileşimli imza alanı.
Doğrulanmış İmzalardan İmza Sahibinin Adını Nasıl Alabilirim?
Bir imzayı imzalayan sertifika sahibinin ortak adını elde etmek için, VerifiedSignature sınıfını kullanarak SignerName özelliğine erişebiliriz. Bunu nasıl başaracağınızı gösteren bir kod parçası aşağıda verilmiştir.
: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}");
});
Imports IronPdf
Imports System
' Import the Signed PDF report
Dim pdf = PdfDocument.FromFile("multi_signed_report.pdf")
' Using GetVerifiedSignatures() obtain a list of `VerifiedSignature` objects from the PDF
pdf.GetVerifiedSignatures().ForEach(Sub(signature)
' Print out the SignerName of each `VerifiedSignature` object
Console.WriteLine($"SignatureName: {signature.SignerName}")
End Sub)
İmzalanmış PDF dosyasını içe aktardıktan sonra, rapor içindeki VerifiedSignature nesnelerinin bir listesini almak ve her imza için SignerName yazdırmak için GetSignatures(...) yöntemini kullanıyoruz.
GetVerifiedSignatures``SignerName
Bu değerin, sertifikanın Konu Ayırt Edici Adı'ndan (SubjectDN) çıkarıldığını ve CN alanı bulunmazsa null döneceğini lütfen unutmayın.
IronPDF ile PDF İmzalama için Bir Sonraki Adımlar Nelerdir?
Bu kılavuz, IronPDF'in güçlü ve esnek PDF imzalama yeteneklerini gösterdi. Güvenli dijital imzalar uygulamak, belge revizyonlarını yönetmek, görsel imzalar damgalamak veya etkileşimli formlar oluşturmak için IronPDF, işi yapmak için kapsamlı ve geliştirici dostu bir API sunar.
Keşfetmeye devam etmek için .NET için IronPDF kütüphanesini indir ve projelerinizde tüm özelliklerini test etmek için ücretsiz deneme lisansı alabilirsiniz. Açıklamalar ekleme ve form alanlarıyla çalışma dahil olmak üzere daha gelişmiş belge manipülasyon teknikleri için kapsamlı dokümantasyon ve eğiticilerimize göz atın.
Başka neler yapabileceğinizi görmek için hazır mısınız? Öğretici sayfamıza buradan göz atın: PDF'leri İmzala ve Güvenli Hale Getir
Sıkça Sorulan Sorular
Bir sertifika kullanarak C#'da PDF'yi dijital olarak nasıl imzalarım?
IronPDF ile, PdfSignature sınıfını kullanarak sadece bir satır kodla bir PDF'yi dijital olarak imzalayabilirsiniz. Sadece sertifika dosyanız (.pfx veya .p12) ve şifrenizle yeni bir PdfSignature nesnesi oluşturun, ardından SignPdfFile() yöntemini çağırın. Örneğin: yeni IronPdf.Signing.PdfSignature("certificate.pfx", "password").SignPdfFile("input.pdf"). Bu, X509Certificate2'nizi kullanarak belgenin özgünlüğünü sağlama tahrifata karşı korumalı bir dijital imza uygular.
Desteklenen PDF imza türleri nelerdir?
IronPDF, üç ana tür PDF imzasını destekler: 1) Kimlik doğrulama ve tahrifata karşı koruma için X509Certificate2 sertifikalarını kullanan dijital imzalar, 2) Belgelere grafik veya el yazısıyla imza resimleri ekleyen görsel imza damgaları ve 3) Kullanıcıların PDF'leri elektronik olarak imzalamasına izin veren etkileşimli imza form alanları. Her tür, belge güvenliği ve iş akışı gereksinimleri için farklı amaçlara hizmet eder.
Dijital imzalama için hangi sertifika formatları kullanılabilir?
IronPDF, .pfx (Kişisel Bilgi Değişimi) ve .p12 dosyaları dahil olmak üzere yaygın dijital sertifika formatlarını destekler. Bu sertifika dosyaları, dijital imzalama için gereken hem genel anahtarı hem de özel anahtarı içerir. IronPDF'nin PdfSignature sınıfı, herhangi bir X509Certificate2 nesnesi ile çalışabilir ve imzalama sertifikalarınızı nasıl yüklediğiniz ve yönettiğiniz konusunda esneklik sağlar.
Dijital imzama görsel bir temsil ekleyebilir miyim?
Evet, IronPDF, dijital imzalarınıza görsel unsurlar eklemenize izin verir. Kriptografik imzanın yanında el yazısı imza resmi, şirket logosu veya özel bir damga gibi grafiksel bir temsil içerebilirsiniz. Bu, dijital sertifikaların güvenliğini görsel onay ile birleştirerek imzalı belgeleri hem güvenli hem de profesyonel olarak sunulabilir hale getirir.
Kullanıcıların elektronik imza atabilmeleri için etkileşimli bir imza alanını nasıl oluştururum?
IronPDF, PDF belgelerine etkileşimli imza form alanları eklemenize olanak tanır. Bu alanlar, kullanıcıların belgeleri tıklayarak ve imzalarını çizerek veya bir imza resmi yükleyerek elektronik olarak imzalamasına olanak tanır. Bu özellik, çok taraflı olarak imzalanması gereken belgelerin veya formların oluşturulması için mükemmeldir.
Bir PDF'yi imzalamak, belgenin bütünlüğünü sağlıyor mu?
Evet, IronPDF ile bir PDF'yi X509Certificate2 kullanarak dijital olarak imzaladığınızda, belgenin bütünlüğünü sağlayan tahrifata karşı korumalı bir mühür oluşturur. Dijital imza, belgenin imzalandığından beri değiştirilmediğini garanti eder. İmzadan sonra PDF'de yapılan herhangi bir değişiklik, imzayı geçersiz kılar ve alıcıları belgenin tehlikeye girmiş olabileceği konusunda uyarır.

