Implementace podepisování QR kódů v Javě pomocí GroupDocs.Signature pro Javu

Zavedení

Zvyšte zabezpečení svých digitálních dokumentů vložením QR kódů do svých Java aplikací. Využití GroupDocs.Signature pro Javu vám umožní efektivně zajistit pravost a sledovatelnost dokumentů. Tato příručka vás provede vytvářením vlastních datových podpisů, konfigurací možností podepisování QR kódů a zabezpečením dokumentů pomocí robustního šifrování.

Co se naučíte:

  • Jak vytvořit vlastní třídu datového podpisu pomocí GroupDocs.Signature
  • Konfigurace možností podepisování QR kódem v aplikacích Java
  • Podepisování dokumentů pomocí QR kódů a použití vlastního šifrování

Pojďme se ponořit do předpokladů a začít tuto funkcionalitu integrovat do vašich projektů!

Předpoklady

Než začneme, ujistěte se, že máte ve svém vývojovém prostředí nastaveny potřebné knihovny a závislosti.

Požadované knihovny a verze

Pro implementaci GroupDocs.Signature pro Javu zahrňte následující závislost:

Znalec

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

Gradle

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

Nejnovější verzi si můžete také stáhnout přímo z GroupDocs.Signature pro verze Javy.

Požadavky na nastavení prostředí

  • Ujistěte se, že máte nainstalovanou funkční sadu Java Development Kit (JDK).
  • Nastavte si integrované vývojové prostředí (IDE), například IntelliJ IDEA nebo Eclipse.

Předpoklady znalostí

  • Základní znalost programování v Javě a objektově orientovaných konceptů.
  • Znalost práce se závislostmi pomocí Mavenu nebo Gradle.

Nastavení GroupDocs.Signature pro Javu

Chcete-li začít, nastavte GroupDocs.Signature ve svém projektu podle výše uvedených pokynů k instalaci a zahrňte jej do konfigurace sestavení.

Kroky získání licence

GroupDocs nabízí různé možnosti licencování:

  • Bezplatná zkušební verzeOtestujte všechny funkce bez omezení.
  • Dočasná licenceZískejte licenci pro účely hodnocení.
  • NákupZískejte plnou licenci pro komerční použití.

Po stažení inicializujte GroupDocs.Signature takto:

import com.groupdocs.signature.Signature;

class InitializeGroupDocs {
    public static void main(String[] args) {
        Signature signature = new Signature("path/to/your/document");
        // Nyní můžete začít používat objekt podpisu k práci s dokumenty.
    }
}

Průvodce implementací

Rozdělme si implementační proces na zvládnutelné části se zaměřením na klíčové funkce.

Třída vlastního datového podpisu

Přehled

Vytvořte vlastní třídu pro ukládání dat podpisu, jako je ID, autor, datum podpisu a další faktory. Tím zajistíte, že budete mít všechna potřebná metadata zapouzdřená ve svých podpisech.

Postupná implementace

Definování třídy 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; // Jedinečný identifikátor podpisu
    
    public String getID() { return ID; }
    public void setID(String value) { ID = value; }
    
    @FormatAttribute(propertyName = "SAuth")
    public final String Author; // Autor dokumentu
    
    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 a čas podpisu
    
    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); // Dodatečný datový faktor pro podpis
    
    public final BigDecimal getDataFactor() { return DataFactor; }
    public final void setDataFactor(BigDecimal value) { DataFactor = value; }
}

Vysvětlení:

  • Atribut formátuAnotuje vlastnosti pro přizpůsobení serializace.
  • NemovitostiZaznamenejte si důležité údaje, jako je jedinečné ID, jméno autora, datum podpisu a datový faktor.

Konfigurace možností podpisu QR kódem

Přehled

Nakonfigurujte možnosti podepisování QR kódů a definujte, jak se vaše QR kódy budou zobrazovat v dokumentech, včetně velikosti, zarovnání a odsazení.

Postupná implementace

Definování třídy 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();
        
        // Serializovat vlastní datový objekt do QR kódu
        options.setData(documentSignature);
        
        // Zadejte typ QR kódu
        options.setEncodeType(QrCodeTypes.QR);
        
        // Konfigurace odsazení pro zarovnání
        Padding padding = new Padding();
        padding.setRight(10); // Pravé odsazení v pixelech
        padding.setBottom(10); // Spodní odsazení v pixelech
        options.setMargin(padding);
        
        // Definujte velikost a umístění QR kódu
        options.setHeight(100);
        options.setWidth(100);
        options.setVerticalAlignment(VerticalAlignment.Bottom);
        options.setHorizontalAlignment(HorizontalAlignment.Right);
        
        return options;
    }
}

Vysvětlení:

  • Možnosti znamení QrKódu: Spravuje způsob zobrazení QR kódu, včetně jeho velikosti a umístění.
  • VýplňUpraví zarovnání v dokumentu.

Podepisování dokumentů pomocí QR kódu a vlastního šifrování

Přehled

Kombinujte QR kódy a vlastní šifrování pro bezpečné podepisování dokumentů. Tím je zajištěna integrita a důvěrnost dat.

Postupná implementace

Podepsat dokument pomocí QR kódu

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

            // Vlastní strategie šifrování XOR
            IDataEncryption encryption = new CustomXOREncryption();

            // Konfigurace vlastního datového objektu podpisu dokumentu
            DocumentSignatureData documentSignature = new DocumentSignatureData();
            documentSignature.setID(UUID.randomUUID().toString());
            documentSignature.setAuthor(System.getenv("USERNAME"));
            documentSignature.setSigned(new Date());
            documentSignature.setDataFactor(new BigDecimal("11.22"));

            // Možnosti nastavení QR kódu
            QrCodeSignOptions options = QrCodeSignOptionsConfig.setupQrCodeSignOptions(documentSignature);

            // Použijte šifrování na data v QR kódu
            options.setDataEncryption(encryption);

            // Podepište a uložte dokument
            signature.sign(outputFilePath, options);
        } catch (Exception e) {
            throw new GroupDocsSignatureException(e.getMessage());
        }
    }
}

Vysvětlení:

  • VlastníXOREncyfryImplementuje vlastní šifrovací strategii pro zabezpečení dat QR kódů.
  • UUID: Generuje jedinečný identifikátor pro každý podpis.