UTILISATION D'IRONPDF FOR JAVA

Comment ajouter des signatures numériques aux PDF en Java

Mise à jour août 25, 2024
Partager:

Dans cet article, vous apprendrez à ajouter une signature numérique à un PDF en utilisant IronPDF for Java.

IronPDF - Une bibliothèque PDF Java

IronPDF est une bibliothèque Java qui permet aux développeurs de créer de nouveaux documents PDF à partir de zéro grâce à Chaîne HTML, Fichier HTML, Fichier Word, ou URL. Il permet de manipuler facilement les PDFs en ajoutant ou en supprimant du contenu. Il fournit options de sécurité pour le document PDF avec signature numérique.

IronPDF ne nécessite aucune autre bibliothèque tierce pour effectuer l'une de ses tâches liées au PDF. Il permet également de convertir différents formats de fichiers. Il offre une compatibilité multiplateforme et est spécialement conçu pour Java, Scala et Kotlin.

Étapes à suivre pour ajouter des signatures numériques à un document PDF en Java

Conditions préalables

Pour signer numériquement des documents PDF, les prérequis suivants sont nécessaires :

  • **N'importe quel IDE Java (NetBeans, Eclipse, IntelliJ)Installé- Cet article utilisera IntelliJ. Vous pouvez télécharger séparément le kit de développement Java à partir de la page Site web d'Oracle.
  • Projet Java Maven pour l'automatisation - Il permet de télécharger et de gérer les dépendances dans votre programme Java. Vous pouvez télécharger Maven depuis le Site web d'Apache Maven.
  • Librairie IronPDF téléchargée et installée - Pour télécharger et installer IronPDF, incluez son artefact de dépendance Maven. Vous pouvez ajouter le fragment de code suivant dans la balise des dépendances du fichier pom.xml :

    ``xml-mvn-install-ao

  • Une autre dépendance nécessaire est Slf4j-simple. C'est optionnel et peut être ajouté en utilisant la dépendance suivante dans le fichier pom.xml :
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>2.0.5</version>
    </dependency>
XML

Comment ajouter des signatures numériques aux PDF en Java, Figure 1 : fichier pom.xml

fichier pom.xml

IronPDF pour Java

Les importations suivantes sont nécessaires dans le fichier principal. Elles permettent d'utiliser les fonctions d'IronPDF pour ajouter une signature numérique à un document PDF :

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.Signature;
import com.ironsoftware.ironpdf.signature.SignatureManager;
import java.io.IOException;
import java.nio.file.Paths;
JAVA

Maintenant, tout est prêt pour ajouter une signature numérique aux documents PDF en Java à l'aide de IronPDF.

Créer un fichier PDF ou ouvrir un fichier PDF existant

Pour signer numériquement Pour les PDFs, il est nécessaire soit de créer un document PDF à partir de zéro, soit d'ouvrir un document PDF existant. Cet article créera un nouveau document PDF pour la signature PDF en utilisant le renderHtmlAsPdf de la méthode PdfDocument classe. Le code est le suivant :

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");
JAVA

Le document PDF est créé mais n'est pas encore enregistré. Donc, l'étape suivante consiste à créer une signature numérique et à l'ajouter à ce document PDF, puis à l'enregistrer.

Créer une signature numérique

Vous devrez créer un certificat de signature numérique en utilisant Adobe Reader, qui sera utilisé dans le code Java pour signer numériquement des documents PDF avec ces détails. Vous pouvez consulter comment créer une signature numérique.

Ouvrez Adobe Reader et cliquez sur Édition > Préférences. Cliquez ensuite sur Signatures, puis sur Identités et certificats de confiance.

Comment ajouter des signatures numériques aux PDFs en Java, Figure 2 : Les préférences du projet

Les préférences du projet

Ajouter le champ Signature suivant pour rendre le fichier .pfx ou .p12 doc.

Comment ajouter des signatures numériques aux PDFs en Java, Figure 3 : Fenêtre de dialogue Ajouter une ID numérique

Ajouter une boîte de dialogue d'ID numérique

L'exemple de code suivant crée une nouvelle signature en code Java à l'aide du fichier de certificat .pfx pour Windows et .p12 pour Mac ainsi que de sa clé privée (mot de passe):

Signature signature = new Signature("Iron.pfx", "123456");
JAVA

Signer un fichier PDF avec une signature numérique

IronPDF aide à ajouter le certificat de signature en utilisant la classe SignatureManager. [getSignature](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#getSignature()) méthode permet de récupérer la signature précédente du document PDF, puis une nouvelle signature peut être ajoutée en utilisant la SignerPdfAvecSignature méthode avec la signature du fichier comme argument. Le code est le suivant :

SignatureManager signatureManager = pdf.getSignature();
signatureManager.SignPdfWithSignature(signature);
JAVA

Enregistrer le fichier de signature PDF

Enfin, enregistrons le fichier PDF ; sinon, le PDF n'est pas signé en utilisant le enregistrerSous de la classe PdfDocument. Le code est simple et se présente comme suit :

pdf.saveAs("signed.pdf");
JAVA

Lorsque la compilation et l'exécution du code sont réussies, la sortie produit un PDF qui a été signé numériquement.

Comment ajouter des signatures numériques aux PDF en Java, Figure 4 : Le fichier PDF de sortie

Le fichier PDF de sortie

IronPDF propose également d'autres options de signature, qui sont facultatives et peuvent également être utilisées pour les signatures numériques. Elle comprend des images de signature, sous forme d'écriture manuscrite, d'images de texte générées par ordinateur, ou d'images numérisées. L'exemple de code suivant vous aide à ajouter des options de sécurité supplémentaires pour la signature numérique :

signature.setSigningContact("support@ironsoftware.com");
signature.setSigningLocation("Chicago, USA");
signature.setSigningReason("To show how to sign a PDF");
BufferedImage signatureImage = ImageIO.read(new File("handwriting.png"));
WritableRaster raster = signatureImage.getRaster();
DataBufferByte data = (DataBufferByte) raster.getDataBuffer();
signature.setSignatureImage(data.getData());
JAVA

Le code complet est le suivant :

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.Signature;
import com.ironsoftware.ironpdf.signature.SignatureManager;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.IOException;

public static void main(String[] args) throws IOException {

    // Step 1. Create a PDF File Doc
    PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>");

    // Step 2. Create a Signature.
    Signature signature = new Signature("Iron.pfx", "123456");

    // Step 3. Sign the PDF with the PdfSignature.
    SignatureManager signatureManager = pdf.getSignature();
    signatureManager.SignPdfWithSignature(signature);

    // Step 4. The PDF is not signed until saved to file, stream, or byte array.
    pdf.saveAs("signed.pdf");
}
JAVA

Vous pouvez obtenir de plus amples informations sur la signature numérique en consultant le site suivant Exemple de code pour les signatures PDF. Si vous souhaitez ajouter plus de sécurité et même modifier les métadonnées, consultez alors le exemple de code ici.

Conclusion

Cet article explique étape par étape comment ajouter des signatures numériques aux documents PDF en utilisant IronPDF for Java.

Tout d'abord, l'article a couvert les composants nécessaires pour travailler avec les PDFs en Java en utilisant IronPDF. Ensuite, créez un document PDF simple en utilisant une chaîne HTML. Un fichier de certificat a été créé à partir d’Adobe Reader, qui a été utilisé pour signer le document PDF original. IronPDF fournit une Signature et SignatureManager classe, qui aide les utilisateurs à ajouter un certificat et à signer un PDF avec un champ de signature.

IronPDF facilite les développeurs dans l'exécution des tâches liées aux PDF avec aisance et rapidité. Il fournit des résultats précis avec des PDF au pixel près. Pour un langage de programmation polyvalent et largement utilisé comme Java, IronPDF convient parfaitement pour travailler avec des documents PDF car il est également polyvalent et prend en charge presque toutes les opérations PDF. En outre, il s'appuie sur des capacités .NET qui ont déjà fait leurs preuves.

IronPDF permet également de convertir facilement différents formats de fichiers, grâce au moteur rapide IronPDFEngine conçu spécialement pour Java. Vous pouvez utiliser la bibliothèque IronPDF pour extraire ou ajouter du texte, charger et extraire des images, ajouter des en-têtes et des pieds de page, annotations, rendre des graphiques et des diagrammes, travailler avec Formulaires PDF, et bien plus encore.

Vous pouvez obtenir des informations détaillées sur l'utilisation d'IronPDF en consultant la page Exemples de codes pages.

IronPDF est gratuit pour le développement individuel et fournit un essai gratuit générer des documents PDF sans filigrane. Il peut être licencié pour une utilisation commerciale, et ses utilisateurs peuvent obtenir plus d'informations sur la licence à partir de ce page de licence détaillée.

< PRÉCÉDENT
Convertisseur PDF Java (Tutoriel d'exemple de code)
SUIVANT >
Comment lire un fichier PDF en Java ?

Prêt à commencer ? Version : 2024.9 vient de paraître

Téléchargement gratuit de Maven Voir les licences > ;