Passer au contenu du pied de page
UTILISATION D'IRONPDF POUR JAVA

Comment ajouter des signatures numériques aux PDFs en Java

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

IronPDF - Une bibliothèque PDF Java

IronPDF Java PDF Library Overview is a Java library that allows developers to create new PDF documents from scratch through Converting HTML String to PDF, Converting HTML File to PDF, convertissant Word en PDF ou via une URL. Il aide à manipuler facilement les PDF en ajoutant ou en supprimant du contenu. Il offre des options de sécurité et de signature numérique pour le document PDF ainsi que la signature numérique.

IronPDF ne nécessite aucune autre bibliothèque tierce pour effectuer ses tâches liées aux PDF. Il offre également la possibilité de convertir entre différents formats de fichiers. Il offre une prise en charge multiplateforme et est spécialement conçu pour Java, Scala et Kotlin.

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

Prérequis

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

  • Un 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 des téléchargements Oracle Java SE.
  • Projet Java Maven pour l'automatisation - Cela aidera à télécharger et gérer les dépendances dans votre programme Java. Vous pouvez télécharger Maven depuis la page de téléchargement Apache Maven.
  • Bibliothèque 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 l'extrait de code suivant dans la balise des dépendances du fichier pom.xml :
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>2023.2.0</version>
</dependency>
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>2023.2.0</version>
</dependency>
XML
  • Une autre dépendance requise est Slf4j-simple. Elle est optionnelle et peut être ajoutée à l'aide de la dépendance suivante dans le fichier pom.xml :

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>2.0.5</version>
    </dependency>
    <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

Importer des paquets Java IronPDF

Les imports suivants sont requis dans le fichier principal. Il permet d'utiliser les fonctions 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;
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 ce qui est requis est fait et prêt à ajouter une signature numérique aux documents PDF en Java en utilisant IronPDF.

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

Pour apprendre comment signer numériquement des PDF, il est nécessaire soit de créer un document PDF à partir de zéro, soit d'ouvrir un document PDF existant. This article will create a new PDF document for PDF signature using the renderHtmlAsPdf Method of the PdfDocument Class. Le code est le suivant :

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

Le document PDF est créé mais pas encore enregistré. Ainsi, la prochaine étape consiste à créer une signature numérique et ensuite à l'ajouter à ce document PDF, puis finalement à l'enregistrer.

Créer une signature numérique

Vous devrez créer un certificat de signature numérique à l'aide d'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 dans Adobe Reader.

Ouvrez Adobe Reader et cliquez sur Éditer > Préférences. Puis cliquez sur Signatures et plus sur Identités et Certificats de confiance.

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

Ajoutez le champ de signature suivant pour faire un doc de fichier .pfx ou .p12.

Comment ajouter des signatures numériques aux PDF en Java, Figure 3 : Boîte de dialogue Ajouter une ID numérique Boîte de dialogue Ajouter une ID numérique

L'exemple de code suivant créera une nouvelle signature dans le code Java en utilisant le fichier de certificat .pfx pour Windows et le fichier .p12 pour Mac avec sa clé privée (mot de passe) :

Signature signature = new Signature("Iron.pfx", "123456");
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 Method](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#getSignature()) helps to get the previous signature of the PDF document, and then a new signature can be added using the méthode SignPdfWithSignature avec le fichier de signature en argument. Le code est le suivant :

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

Enregistrer le fichier de signature PDF

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

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

À la compilation et à l'exécution réussies du code, 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 offre également d'autres options de signature, qui sont optionnelles et peuvent également être utilisées pour les signatures numériques. Il inclut les 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 quelques 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());
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 se présente comme suit :

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 class DigitalSignatureExample {
    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");
    }
}
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 class DigitalSignatureExample {
    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 vérifier plus d'informations sur la Signature Numérique depuis l'exemple de code de signatures PDF. Si vous voulez ajouter plus de sécurité et même éditer les métadonnées, alors consultez l'exemple de code de sécurité et de métadonnées.

Conclusion

Cet article a expliqué étape par étape comment ajouter des signatures numériques aux documents PDF en utilisant IronPDF pour Java.

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

IronPDF facilite aux développeurs l'exécution des tâches liées aux PDF avec facilité et rapidité. Il fournit des résultats précis avec des PDF au rendu parfait. Pour un langage de programmation polyvalent et largement utilisé comme Java, IronPDF est bien adapté pour travailler avec les documents PDF car il est également polyvalent et prend en charge presque toutes les opérations PDF. De plus, il est construit sur les capacités déjà réussies de .NET.

IronPDF offre également une conversion facile depuis différents formats de fichiers, en utilisant le rapide IronPDFEngine conçu spécifiquement pour Java. You can use the IronPDF library to Extract or Add Text, Load and Extract Images, Add Headers and Footers to PDFs, annotations, Render Charts and Graphs to PDFs, work with PDF Forms, and many more.

Vous pouvez obtenir des informations détaillées sur l'utilisation de IronPDF depuis les pages d'exemples de code Java PDF.

IronPDF est gratuit pour le développement individuel et offre un essai gratuit sans filigrane pour générer des documents PDF. Il peut être licencié pour un usage commercial, et ses utilisateurs peuvent obtenir plus d'informations sur la licence sur cette page d'informations détaillées sur la licence.

Questions Fréquemment Posées

Comment puis-je ajouter une signature numérique à un PDF en Java ?

Vous pouvez ajouter une signature numérique à un PDF en Java en utilisant IronPDF en créant ou en ouvrant un document PDF, en générant une signature numérique avec un fichier de certificat, et en utilisant la classe `SignatureManager` d'IronPDF pour appliquer la signature. Enfin, enregistrez le document PDF signé.

Quelles sont les étapes pour convertir HTML en PDF à l'aide d'une bibliothèque Java ?

Pour convertir HTML en PDF avec IronPDF en Java, utilisez la méthode PdfDocument.renderHtmlAsPdf. Cela vous permet de convertir des chaînes HTML directement dans un document PDF, qui peut ensuite être sauvegardé avec la méthode PdfDocument.saveAs.

Quels prérequis sont nécessaires pour utiliser IronPDF dans un projet Java ?

Pour utiliser IronPDF dans un projet Java, vous avez besoin d'un IDE Java comme IntelliJ, d'un projet Maven pour gérer les dépendances et de la bibliothèque IronPDF. De plus, pour ajouter des signatures numériques, un certificat de signature numérique est requis.

IronPDF peut-il en Java convertir d'autres formats de fichiers en PDF ?

Oui, outre HTML, IronPDF peut convertir divers autres formats de fichiers tels que les documents Word et les URLs en PDF dans une application Java.

IronPDF nécessite-t-il des bibliothèques tierces pour les fonctionnalités PDF ?

Non, IronPDF ne nécessite aucune bibliothèque tierce pour ses fonctionnalités PDF principales, ce qui en fait une solution autonome pour la création et la manipulation de PDF en Java.

Comment puis-je générer un certificat de signature numérique pour signer des PDFs ?

Un certificat de signature numérique peut être créé à l'aide d'Adobe Reader en naviguant dans Édition > Préférences > Signatures, et en gérant les identités et certificats de confiance.

Quelle classe dans IronPDF est utilisée pour gérer les signatures numériques en Java ?

La classe SignatureManager d'IronPDF est utilisée pour gérer les signatures numériques en Java. Elle vous permet d'ajouter de nouvelles signatures et de récupérer les signatures existantes d'un document PDF.

Quelles options supplémentaires sont disponibles pour la signature numérique avec IronPDF en Java ?

IronPDF en Java offre des options pour ajouter des images de signature, spécifier le contact de signature, l'emplacement et la raison, ainsi que pour ajouter des images manuscrites et numérisées à la signature numérique.

Existe-t-il une version gratuite d'IronPDF pour Java ?

IronPDF propose un essai gratuit pour le développement individuel et peut être utilisé sans filigrane. Il existe des options de licence pour un usage commercial.

Quelles sont les fonctionnalités avancées d'IronPDF pour Java ?

IronPDF pour Java comprend des fonctionnalités telles que l'extraction de texte et d'images, l'ajout d'en-têtes et de pieds de page, le rendu de graphiques et de graphiques, et le travail avec des formulaires PDF.

Darrius Serrant
Ingénieur logiciel Full Stack (WebOps)

Darrius Serrant est titulaire d'un baccalauréat en informatique de l'université de Miami et travaille comme ingénieur marketing WebOps Full Stack chez Iron Software. Attiré par le codage dès son plus jeune âge, il a vu l'informatique comme à la fois mystérieuse et accessible, en faisant le ...

Lire la suite