Table des matières
Installé via NuGet
PM> Install-Package Spire.PDF
Liens connexes
La signature numérique garantit que le document signé ne peut être modifié par personne d'autre que son auteur. L'ajout de signatures est le moyen le plus courant de garantir l'authenticité du contenu du document. Une signature numérique visuelle dans un document PDF peut afficher du texte ou une image (par exemple, une signature manuscrite). Cet article explique comment signer numériquement des PDF en utilisant Spire.PDF for .NET à partir des trois aspects suivants.
- Signer numériquement un PDF avec du texte
- Signer numériquement un PDF avec une image
- Signer numériquement un PDF avec du texte et une image
Installer Spire.PDF for .NET
Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.PDF for .NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.
PM> Install-Package Spire.PDF
Signer numériquement un PDF avec du texte
Voici les étapes pour ajouter une signature en texte brut à un document PDF.
- Créez un objet PdfDocument et chargez un exemple de fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Chargez un fichier de certificat .pfx lors de l'initialisation de l'objet PdfCertificate.
- Créez un objet PdfSignature, en spécifiant sa position et sa taille dans le document.
- Définissez le mode graphique de la signature sur SignDetail, qui affichera les détails de la signature en texte brut.
- Définissez les détails de la signature, y compris le nom, les informations de contact, la raison, la date, etc. via les propriétés sous l'objet PdfSignature.
- Définissez les autorisations du document certifié sur ForbidChanges et AllowFormFill.
- Enregistrez le document dans un autre fichier à l'aide de la méthode 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();
}
}
}

Signer numériquement un PDF avec une image
Voici les étapes pour ajouter une signature d'image à un document PDF.
- Créez un objet PdfDocument et chargez un exemple de fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Chargez un fichier de certificat .pfx lors de l'initialisation de l'objet PdfCertificate.
- Créez un objet PdfSignature, en spécifiant sa position et sa taille dans le document.
- Définissez le mode graphique de la signature sur SignImageOnly, qui n'affichera que l'image de la signature.
- Définissez l'image de la signature via la propriété PdfSignature.SignImageSource.
- Définissez les autorisations du document certifié sur ForbidChanges et AllowFormFill.
- Enregistrez le document dans un autre fichier à l'aide de la méthode 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();
}
}
}

Signer numériquement un PDF avec du texte et une image
Voici les étapes pour signer numériquement un document PDF avec du texte et une image.
- Créez un objet PdfDocument et chargez un exemple de fichier PDF à l'aide de la méthode PdfDocument.LoadFromFile().
- Chargez un fichier de certificat .pfx lors de l'initialisation de l'objet PdfCertificate.
- Créez un objet PdfSignature, en spécifiant sa position et sa taille dans le document.
- Définissez le mode graphique de la signature sur SignImageAndSignDetail, qui affichera à la fois l'image et les détails de la signature.
- Définissez l'image de la signature via la propriété PdfSignature.SignImageSource et définissez les détails de la signature, y compris le nom, les informations de contact, la raison, la date, etc. via d'autres propriétés sous l'objet PdfSignature.
- Définissez les autorisations du document certifié sur ForbidChanges et AllowFormFill.
- Enregistrez le document dans un autre fichier à l'aide de la méthode 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();
}
}
}

Demander une licence temporaire
Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.