Implémentation de la signature de code QR Java avec GroupDocs.Signature pour Java

Introduction

Améliorez la sécurité de vos documents numériques en intégrant des codes QR à vos applications Java. L’utilisation de GroupDocs.Signature pour Java vous permet de garantir efficacement l’authenticité et la traçabilité de vos documents. Ce guide vous guidera dans la création de signatures de données personnalisées, la configuration des options de signature par code QR et la sécurisation de vos documents grâce à un chiffrement robuste.

Ce que vous apprendrez :

  • Comment créer une classe de signature de données personnalisée à l’aide de GroupDocs.Signature
  • Configuration des options de signature du code QR dans les applications Java
  • Signature de documents avec des codes QR et application d’un cryptage personnalisé

Plongeons dans les prérequis et commençons à intégrer cette fonctionnalité dans vos projets !

Prérequis

Avant de commencer, assurez-vous d’avoir configuré les bibliothèques et dépendances nécessaires dans votre environnement de développement.

Bibliothèques et versions requises

Pour implémenter GroupDocs.Signature pour Java, incluez la dépendance suivante :

Maven

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-signature</artifactId>
    <version>23.12</version>
</dependency>

Gradle

implementation 'com.groupdocs:groupdocs-signation:23.12'

Vous pouvez également télécharger la dernière version directement depuis Versions de GroupDocs.Signature pour Java.

Configuration requise pour l’environnement

  • Assurez-vous d’avoir installé un kit de développement Java (JDK) fonctionnel.
  • Configurez votre environnement de développement intégré (IDE), tel qu’IntelliJ IDEA ou Eclipse.

Prérequis en matière de connaissances

  • Compréhension de base de la programmation Java et des concepts orientés objet.
  • Familiarité avec la gestion des dépendances à l’aide de Maven ou Gradle.

Configuration de GroupDocs.Signature pour Java

Pour commencer, configurez GroupDocs.Signature dans votre projet en suivant les instructions d’installation ci-dessus pour l’inclure dans votre configuration de build.

Étapes d’acquisition de licence

GroupDocs propose différentes options de licence :

  • Essai gratuit: Testez toutes les fonctionnalités sans limitations.
  • Licence temporaire:Obtenir une licence à des fins d’évaluation.
  • Achat: Acquérir une licence complète pour une utilisation commerciale.

Après le téléchargement, initialisez GroupDocs.Signature comme ceci :

import com.groupdocs.signature.Signature;

class InitializeGroupDocs {
    public static void main(String[] args) {
        Signature signature = new Signature("path/to/your/document");
        // Vous pouvez maintenant commencer à utiliser l’objet signature pour travailler avec des documents.
    }
}

Guide de mise en œuvre

Décomposons le processus de mise en œuvre en sections gérables, en nous concentrant sur les fonctionnalités clés.

Classe de signature de données personnalisée

Aperçu

Créez une classe personnalisée pour stocker les données de signature telles que l’identifiant, l’auteur, la date de signature et d’autres facteurs. Cela garantit que toutes les métadonnées nécessaires sont encapsulées dans vos signatures.

Mise en œuvre étape par étape

Définir la classe DocumentSignatureData

import com.groupdocs.signature.domain.extensions.serialization.FormatAttribute;
import java.util.Date;
import java.math.BigDecimal;

class DocumentSignatureData {
    @FormatAttribute(propertyName = "SignID")
    public String ID; // Identifiant unique pour la signature
    
    public String getID() { return ID; }
    public void setID(String value) { ID = value; }
    
    @FormatAttribute(propertyName = "SAuth")
    public final String Author; // Auteur du document
    
    public final String getAuthor() { return Author; }
    public final void setAuthor(String value) { Author = value; }
    
    @FormatAttribute(propertyName = "SDate", propertyFormat = "yyyy-MM-dd")
    public final Date Signed = new Date(); // Date et heure de signature
    
    public final Date getSigned() { return Signed; }
    public final void setSigned(Date value) { Signed = value; }
    
    @FormatAttribute(propertyName = "SDFact", propertyFormat = "N2")
    public final BigDecimal DataFactor = new BigDecimal(0.01); // Facteur de données supplémentaire pour la signature
    
    public final BigDecimal getDataFactor() { return DataFactor; }
    public final void setDataFactor(BigDecimal value) { DataFactor = value; }
}

Explication:

  • Attribut de format: Annote les propriétés pour personnaliser la sérialisation.
  • Propriétés: Capturez les détails essentiels tels que l’identifiant unique, le nom de l’auteur, la date de signature et le facteur de données.

Configuration des options de signalisation du code QR

Aperçu

Configurez les options de signature de code QR pour définir la manière dont vos codes QR apparaîtront sur les documents, y compris la taille, l’alignement et le remplissage.

Mise en œuvre étape par étape

Définir la classe QrCodeSignOptionsConfig

import com.groupdocs.signature.domain.enums.HorizontalAlignment;
import com.groupdocs.signature.domain.enums.VerticalAlignment;
import com.groupdocs.signature.domain.qrcodes.QrCodeTypes;
import com.groupdocs.signature.domain.Padding;
import com.groupdocs.signature.options.sign.QrCodeSignOptions;

class QrCodeSignOptionsConfig {
    public static QrCodeSignOptions setupQrCodeSignOptions(DocumentSignatureData documentSignature) {
        QrCodeSignOptions options = new QrCodeSignOptions();
        
        // Sérialiser l'objet de données personnalisé dans le code QR
        options.setData(documentSignature);
        
        // Spécifiez le type de code QR
        options.setEncodeType(QrCodeTypes.QR);
        
        // Configurer le remplissage pour l'alignement
        Padding padding = new Padding();
        padding.setRight(10); // Remplissage à droite en pixels
        padding.setBottom(10); // Rembourrage inférieur en pixels
        options.setMargin(padding);
        
        // Définir la taille et la position du code QR
        options.setHeight(100);
        options.setWidth(100);
        options.setVerticalAlignment(VerticalAlignment.Bottom);
        options.setHorizontalAlignment(HorizontalAlignment.Right);
        
        return options;
    }
}

Explication:

  • Options de signature de code QR: Gère la manière dont le code QR est affiché, y compris sa taille et sa position.
  • RembourrageAjuste l’alignement dans le document.

Signature de documents avec code QR et cryptage personnalisé

Aperçu

Combinez codes QR et chiffrement personnalisé pour signer des documents en toute sécurité. Cela garantit l’intégrité et la confidentialité des données.

Mise en œuvre étape par étape

Signer un document avec un code QR

import com.groupdocs.signature.Signature;
import com.groupdocs.signature.domain.extensions.encryption.IDataEncryption;
import com.groupdocs.signature.exception.GroupDocsSignatureException;

import java.util.UUID;

class SignDocumentWithQRCode {
    public static void signDocument(String filePath, String outputFilePath) throws Exception {
        try {
            Signature signature = new Signature(filePath);

            // Stratégie de cryptage XOR personnalisée
            IDataEncryption encryption = new CustomXOREncryption();

            // Configurer l'objet de données de signature de document personnalisé
            DocumentSignatureData documentSignature = new DocumentSignatureData();
            documentSignature.setID(UUID.randomUUID().toString());
            documentSignature.setAuthor(System.getenv("USERNAME"));
            documentSignature.setSigned(new Date());
            documentSignature.setDataFactor(new BigDecimal("11.22"));

            // Configurer les options du code QR
            QrCodeSignOptions options = QrCodeSignOptionsConfig.setupQrCodeSignOptions(documentSignature);

            // Appliquer le cryptage aux données contenues dans le code QR
            options.setDataEncryption(encryption);

            // Signez et enregistrez le document
            signature.sign(outputFilePath, options);
        } catch (Exception e) {
            throw new GroupDocsSignatureException(e.getMessage());
        }
    }
}

Explication:

  • Cryptage XORE personnalisé: Implémente une stratégie de cryptage personnalisée pour sécuriser les données du code QR.
  • UUID: Génère un identifiant unique pour chaque signature.