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 for Java PDF Library Overview (en anglais)est une bibliothèque Java qui permet aux développeurs de créer de nouveaux documents PDF à partir de zéro grâce àConversion d'une chaîne HTML en PDF, Conversion d'un fichier HTML en PDF, Conversion de Word en PDF, ou URL. Il permet de manipuler facilement les PDFs en ajoutant ou en supprimant du contenu. Il fournitOptions de sécurité et de signature numériquepour 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 utilise IntelliJ. Vous pouvez télécharger séparément le kit de développement Java à partir de la pageTéléchargements Oracle Java SE.
  • 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 lePage de téléchargement 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

PourApprendre à signer numériquement des PDFdans le cas d'un document PDF, il est nécessaire de créer un document PDF à partir de zéro ou d'ouvrir un document PDF existant. Cet article créera un nouveau document PDF pour la signature PDF en utilisant leméthode renderHtmlAsPdf de laclasse PDFDocument. 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 consulterComment créer une signature numérique dans Adobe Reader.

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. [méthode getSignature](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#getSignature()) permet d'obtenir la signature précédente du document PDF, puis une nouvelle signature peut être ajoutée à l'aide de la fonctionméthode SignPdfWithSignature avec le fichier de signature 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 leméthode saveAs 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 suivantExemple de code pour les signatures PDF. Si vous souhaitez ajouter plus de sécurité et même modifier les métadonnées, consultez alors leExemple de code de sécurité et de métadonnées.

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 etSignatureManagerclasse, 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 pourExtraire ou ajouter du texte, Charger et extraire des images, Ajouter des en-têtes et des pieds de page aux PDF, annotations, Rendu de tableaux et de graphiques en PDF, travailler avecFormulaires PDF, et bien plus encore.

Vous pouvez obtenir des informations détaillées sur l'utilisation d'IronPDF en consultant la pageExemples de code Java PDF pages.

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

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

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

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