Implementera QR-kodsignering i Java med GroupDocs.Signature för Java

Introduktion

Förbättra säkerheten för dina digitala dokument genom att bädda in QR-koder i dina Java-applikationer. Genom att utnyttja GroupDocs.Signature för Java kan du effektivt säkerställa dokumentäkthet och spårbarhet. Den här guiden guidar dig genom att skapa anpassade datasignaturer, konfigurera alternativ för QR-kodsignering och säkra dina dokument med robust kryptering.

Vad du kommer att lära dig:

  • Hur man skapar en anpassad datasignaturklass med GroupDocs.Signature
  • Konfigurera alternativ för QR-kodsignering i Java-program
  • Signera dokument med QR-koder och tillämpa anpassad kryptering

Låt oss dyka in i förutsättningarna och börja integrera den här funktionen i dina projekt!

Förkunskapskrav

Innan vi börjar, se till att du har konfigurerat nödvändiga bibliotek och beroenden i din utvecklingsmiljö.

Nödvändiga bibliotek och versioner

För att implementera GroupDocs.Signature för Java, inkludera följande beroende:

Maven

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

Gradle

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

Du kan också ladda ner den senaste versionen direkt från GroupDocs.Signature för Java-utgåvor.

Krav för miljöinstallation

  • Se till att du har ett fungerande Java Development Kit (JDK) installerat.
  • Konfigurera din integrerade utvecklingsmiljö (IDE), till exempel IntelliJ IDEA eller Eclipse.

Kunskapsförkunskaper

  • Grundläggande förståelse för Java-programmering och objektorienterade koncept.
  • Erfarenhet av att hantera beroenden med hjälp av Maven eller Gradle.

Konfigurera GroupDocs.Signature för Java

För att komma igång, konfigurera GroupDocs.Signature i ditt projekt genom att följa installationsanvisningarna ovan för att inkludera det i din byggkonfiguration.

Steg för att förvärva licens

GroupDocs erbjuder olika licensalternativ:

  • Gratis provperiodTesta alla funktioner utan begränsningar.
  • Tillfällig licensErhålla en licens för utvärderingsändamål.
  • KöpaFörvärva en fullständig licens för kommersiellt bruk.

Efter nedladdningen, initiera GroupDocs.Signature så här:

import com.groupdocs.signature.Signature;

class InitializeGroupDocs {
    public static void main(String[] args) {
        Signature signature = new Signature("path/to/your/document");
        // Nu kan du börja använda signaturobjektet för att arbeta med dokument.
    }
}

Implementeringsguide

Låt oss dela upp implementeringsprocessen i hanterbara avsnitt, med fokus på nyckelfunktioner.

Anpassad datasignaturklass

Översikt

Skapa en anpassad klass för att lagra signaturdata som ID, författare, signeringsdatum och ytterligare faktorer. Detta säkerställer att du har alla nödvändiga metadata inkapslade i dina signaturer.

Steg-för-steg-implementering

Definiera DocumentSignatureData-klassen

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

class DocumentSignatureData {
    @FormatAttribute(propertyName = "SignID")
    public String ID; // Unik identifierare för signaturen
    
    public String getID() { return ID; }
    public void setID(String value) { ID = value; }
    
    @FormatAttribute(propertyName = "SAuth")
    public final String Author; // Dokumentets författare
    
    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(); // Datum och tid för signering
    
    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); // Ytterligare datafaktor för signatur
    
    public final BigDecimal getDataFactor() { return DataFactor; }
    public final void setDataFactor(BigDecimal value) { DataFactor = value; }
}

Förklaring:

  • FormatAttribut: Antecknar egenskaper för att anpassa serialisering.
  • FastigheterRegistrera viktiga detaljer som unikt ID, författarnamn, signeringsdatum och datafaktor.

Konfiguration av alternativ för QR-kodsignering

Översikt

Konfigurera alternativ för QR-kodsignering för att definiera hur dina QR-koder ska visas i dokument, inklusive storlek, justering och utfyllnad.

Steg-för-steg-implementering

Definiera QrCodeSignOptionsConfig-klassen

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();
        
        // Serialisera det anpassade dataobjektet till QR-kod
        options.setData(documentSignature);
        
        // Ange QR-kodtyp
        options.setEncodeType(QrCodeTypes.QR);
        
        // Konfigurera utfyllnad för justering
        Padding padding = new Padding();
        padding.setRight(10); // Höger utfyllnad i pixlar
        padding.setBottom(10); // Bottenfyllning i pixlar
        options.setMargin(padding);
        
        // Definiera storlek och position för QR-koden
        options.setHeight(100);
        options.setWidth(100);
        options.setVerticalAlignment(VerticalAlignment.Bottom);
        options.setHorizontalAlignment(HorizontalAlignment.Right);
        
        return options;
    }
}

Förklaring:

  • QR-kodSignAlternativ: Hanterar hur QR-koden visas, inklusive dess storlek och position.
  • StoppningJusterar justeringen i dokumentet.

Dokumentsignering med QR-kod och anpassad kryptering

Översikt

Kombinera QR-koder och anpassad kryptering för att signera dokument säkert. Detta garanterar dataintegritet och konfidentialitet.

Steg-för-steg-implementering

Signera ett dokument med QR-kod

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);

            // Anpassad XOR-krypteringsstrategi
            IDataEncryption encryption = new CustomXOREncryption();

            // Konfigurera det anpassade dokumentsignaturdataobjektet
            DocumentSignatureData documentSignature = new DocumentSignatureData();
            documentSignature.setID(UUID.randomUUID().toString());
            documentSignature.setAuthor(System.getenv("USERNAME"));
            documentSignature.setSigned(new Date());
            documentSignature.setDataFactor(new BigDecimal("11.22"));

            // Konfigurera QR-kodsalternativ
            QrCodeSignOptions options = QrCodeSignOptionsConfig.setupQrCodeSignOptions(documentSignature);

            // Använd kryptering på data i QR-koden
            options.setDataEncryption(encryption);

            // Signera och spara dokumentet
            signature.sign(outputFilePath, options);
        } catch (Exception e) {
            throw new GroupDocsSignatureException(e.getMessage());
        }
    }
}

Förklaring:

  • AnpassadXOR-krypteringImplementerar en anpassad krypteringsstrategi för att säkra QR-koddata.
  • UUIDGenererar en unik identifierare för varje signatur.