Sommario
Installato tramite NuGet
PM> Install-Package Spire.PDF
Link correlati
La firma digitale assicura che il documento firmato non possa essere alterato da nessuno che non sia il suo autore. L'aggiunta di firme è il modo più comune per garantire l'autenticità del contenuto del documento. Una firma digitale visiva in un documento PDF può mostrare testo o un'immagine (ad esempio, firma scritta a mano). Questo articolo introduce come firmare digitalmente i PDF utilizzando Spire.PDF for .NET dai seguenti tre aspetti.
- Firma digitalmente PDF con testo
- Firma digitalmente PDF con un'immagine
- Firma digitalmente PDF con testo e un'immagine
Installa Spire.PDF for .NET
Per cominciare, è necessario aggiungere i file DLL inclusi nel pacchetto Spire.PDF for.NET come riferimenti nel progetto .NET. I file DLL possono essere scaricati da questo link o installato tramite NuGet.
PM> Install-Package Spire.PDF
Firma digitalmente PDF con testo
Di seguito sono riportati i passaggi per aggiungere una firma in testo normale a un documento PDF.
- Creare un oggetto PdfDocument e caricare un file PDF di esempio utilizzando il metodo PdfDocument.LoadFromFile().
- Carica un file di certificato .pfx durante l'inizializzazione dell'oggetto PdfCertificate.
- Crea un oggetto PdfSignature, specificandone la posizione e le dimensioni nel documento.
- Imposta la modalità grafica della firma su SignDetail, che mostrerà i dettagli della firma in testo normale.
- Imposta i dettagli della firma, inclusi nome, informazioni di contatto, motivo, data, ecc. tramite le proprietà sotto l'oggetto PdfSignature.
- Impostare le autorizzazioni del documento certificato su ForbidChanges e AllowFormFill.
- Salvare il documento in un altro file utilizzando il metodo PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Security; using System; using System.Drawing; using Spire.Pdf.Graphics; namespace AddTextSignature { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Load a sample PDF file doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf"); //Load the certificate PdfCertificate cert = new PdfCertificate("C:\\Users\\Administrator\\Desktop\\MyCertificate.pfx", "e-iceblue"); //Create a PdfSignature object and specify its position and size PdfSignature signature = new PdfSignature(doc, doc.Pages[doc.Pages.Count-1], cert, "MySignature"); RectangleF rectangleF = new RectangleF(doc.Pages[0].ActualSize.Width - 340, 150, 290, 100); signature.Bounds = rectangleF; signature.Certificated = true; //Set the graphics mode to sign detail signature.GraphicsMode = GraphicMode.SignDetail; //Set the signature content signature.NameLabel = "Signer:"; signature.Name = "Gary"; signature.ContactInfoLabel = "Phone:"; signature.ContactInfo = "0123456"; signature.DateLabel = "Date:"; signature.Date = DateTime.Now; signature.LocationInfoLabel = "Location:"; signature.LocationInfo = "USA"; signature.ReasonLabel = "Reason:"; signature.Reason = "I am the author"; signature.DistinguishedNameLabel = "DN:"; signature.DistinguishedName = signature.Certificate.IssuerName.Name; //Set the signature font signature.SignDetailsFont = new PdfTrueTypeFont(new Font("Arial Unicode MS",12f,FontStyle.Regular)); //Set the document permission to forbid changes but allow form fill signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges | PdfCertificationFlags.AllowFormFill; //Save to file doc.SaveToFile("TextSignature.pdf"); doc.Close(); } } }
Firma digitalmente PDF con un'immagine
Di seguito sono riportati i passaggi per aggiungere una firma immagine a un documento PDF.
- Creare un oggetto PdfDocument e caricare un file PDF di esempio utilizzando il metodo PdfDocument.LoadFromFile().
- Carica un file di certificato .pfx durante l'inizializzazione dell'oggetto PdfCertificate.
- Crea un oggetto PdfSignature, specificandone la posizione e le dimensioni nel documento.
- Imposta la modalità grafica della firma su SignImageOnly, che mostrerà solo l'immagine della firma.
- Impostare l'immagine della firma tramite la proprietà PdfSignature.SignImageSource.
- Impostare le autorizzazioni del documento certificato su ForbidChanges e AllowFormFill.
- Salvare il documento in un altro file utilizzando il metodo PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Graphics; using Spire.Pdf.Security; using System.Drawing; namespace AddImageSignature { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Load a sample PDF file doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf"); //Load the certificate PdfCertificate cert = new PdfCertificate("C:\\Users\\Administrator\\Desktop\\MyCertificate.pfx", "e-iceblue"); //Create a PdfSignature object and specify its position and size PdfSignature signature = new PdfSignature(doc, doc.Pages[doc.Pages.Count - 1], cert, "MySignature"); RectangleF rectangleF = new RectangleF(doc.Pages[0].ActualSize.Width - 200, 150, 130, 130); signature.Bounds = rectangleF; signature.Certificated = true; //Set the graphics mode to image only signature.GraphicsMode = GraphicMode.SignImageOnly; //Set the sign image source signature.SignImageSource = PdfImage.FromFile("C:\\Users\\Administrator\\Desktop\\verified.png"); //Set the signature font signature.SignDetailsFont = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular)); //Set the document permission to forbid changes but allow form fill signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges | PdfCertificationFlags.AllowFormFill; //Save to file doc.SaveToFile("ImageSignature.pdf"); doc.Close(); } } }
Firma digitalmente PDF con testo e un'immagine
Di seguito sono riportati i passaggi per firmare digitalmente un documento PDF con testo e un'immagine.
- Creare un oggetto PdfDocument e caricare un file PDF di esempio utilizzando il metodo PdfDocument.LoadFromFile().
- Carica un file di certificato .pfx durante l'inizializzazione dell'oggetto PdfCertificate.
- Crea un oggetto PdfSignature, specificandone la posizione e le dimensioni nel documento.
- Imposta la modalità grafica della firma su SignImageAndSignDetail, che mostrerà sia l'immagine della firma che i dettagli.
- Impostare l'immagine della firma tramite la proprietà PdfSignature.SignImageSource e impostare i dettagli della firma, inclusi nome, informazioni di contatto, motivo, data e così via tramite altre proprietà nell'oggetto PdfSignature.
- Impostare le autorizzazioni del documento certificato su ForbidChanges e AllowFormFill.
- Salvare il documento in un altro file utilizzando il metodo PdfDocument.SaveToFile().
- C#
- VB.NET
using Spire.Pdf; using Spire.Pdf.Security; using System; using System.Drawing; using Spire.Pdf.Graphics; namespace AddTextAndImageSignature { class Program { static void Main(string[] args) { //Create a PdfDocument object PdfDocument doc = new PdfDocument(); //Load a sample PDF file doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf"); //Load the certificate PdfCertificate cert = new PdfCertificate("C:\\Users\\Administrator\\Desktop\\MyCertificate.pfx", "e-iceblue"); //Create a PdfSignature object and specify its position and size PdfSignature signature = new PdfSignature(doc, doc.Pages[doc.Pages.Count - 1], cert, "MySignature"); RectangleF rectangleF = new RectangleF(doc.Pages[0].ActualSize.Width - 320, 150, 260, 110); signature.Bounds = rectangleF; signature.Certificated = true; //Set the graphics mode to image and sign detail signature.GraphicsMode = GraphicMode.SignImageAndSignDetail; //Set the signature content signature.NameLabel = "Signer:"; signature.Name = "Gary"; signature.ContactInfoLabel = "Phone:"; signature.ContactInfo = "0123456"; signature.DateLabel = "Date:"; signature.Date = DateTime.Now; signature.LocationInfoLabel = "Location:"; signature.LocationInfo = "USA"; signature.ReasonLabel = "Reason:"; signature.Reason = "I am the author"; signature.DistinguishedNameLabel = "DN:"; signature.DistinguishedName = signature.Certificate.IssuerName.Name; //Set the signature image source signature.SignImageSource = PdfImage.FromFile("C:\\Users\\Administrator\\Desktop\\handSignature.png"); //Set the signature font signature.SignDetailsFont = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular)); //Set the document permission to forbid changes but allow form fill signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges | PdfCertificationFlags.AllowFormFill; //Save to file doc.SaveToFile("TextAndImageSignature.pdf"); doc.Close(); } } }
Richiedi una licenza temporanea
Se desideri rimuovere il messaggio di valutazione dai documenti generati o eliminare le limitazioni delle funzioni, per favore richiedere una licenza di prova di 30 giorni per te.