Implementazione della firma del codice QR Java con GroupDocs.Signature per Java
Introduzione
Migliora la sicurezza dei tuoi documenti digitali integrando i codici QR nelle tue applicazioni Java. Sfruttando GroupDocs.Signature per Java puoi garantire in modo efficace l’autenticità e la tracciabilità dei documenti. Questa guida ti guiderà nella creazione di firme personalizzate, nella configurazione delle opzioni di firma tramite codici QR e nella protezione dei tuoi documenti con una crittografia avanzata.
Cosa imparerai:
- Come creare una classe di firma dati personalizzata utilizzando GroupDocs.Signature
- Configurazione delle opzioni di firma del codice QR nelle applicazioni Java
- Firma di documenti con codici QR e applicazione di crittografia personalizzata
Analizziamo i prerequisiti e iniziamo a integrare questa funzionalità nei tuoi progetti!
Prerequisiti
Prima di iniziare, assicurati di aver configurato le librerie e le dipendenze necessarie nel tuo ambiente di sviluppo.
Librerie e versioni richieste
Per implementare GroupDocs.Signature per Java, includere la seguente dipendenza:
Esperto
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-signature</artifactId>
<version>23.12</version>
</dependency>
Gradle
implementation 'com.groupdocs:groupdocs-signation:23.12'
Puoi anche scaricare l’ultima versione direttamente da GroupDocs.Signature per le versioni Java.
Requisiti di configurazione dell’ambiente
- Assicurati di aver installato un Java Development Kit (JDK) funzionante.
- Configura il tuo ambiente di sviluppo integrato (IDE), come IntelliJ IDEA o Eclipse.
Prerequisiti di conoscenza
- Conoscenza di base della programmazione Java e dei concetti orientati agli oggetti.
- Familiarità con la gestione delle dipendenze tramite Maven o Gradle.
Impostazione di GroupDocs.Signature per Java
Per iniziare, configura GroupDocs.Signature nel tuo progetto seguendo le istruzioni di installazione sopra riportate per includerlo nella configurazione della build.
Fasi di acquisizione della licenza
GroupDocs offre diverse opzioni di licenza:
- Prova gratuita: Prova tutte le funzionalità senza limitazioni.
- Licenza temporanea: Ottenere una licenza per scopi di valutazione.
- Acquistare: Acquisire una licenza completa per uso commerciale.
Dopo il download, inizializza GroupDocs.Signature in questo modo:
import com.groupdocs.signature.Signature;
class InitializeGroupDocs {
public static void main(String[] args) {
Signature signature = new Signature("path/to/your/document");
// Ora puoi iniziare a utilizzare l'oggetto firma per lavorare con i documenti.
}
}
Guida all’implementazione
Suddividiamo il processo di implementazione in sezioni gestibili, concentrandoci sulle caratteristiche principali.
Classe di firma dati personalizzata
Panoramica
Crea una classe personalizzata per memorizzare i dati della firma, come ID, autore, data di firma e altri fattori. In questo modo, avrai tutti i metadati necessari incapsulati nelle tue firme.
Implementazione passo dopo passo
Definire 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; // Identificatore univoco per la firma
public String getID() { return ID; }
public void setID(String value) { ID = value; }
@FormatAttribute(propertyName = "SAuth")
public final String Author; // Autore del documento
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(); // Data e ora della firma
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); // Fattore dati aggiuntivo per la firma
public final BigDecimal getDataFactor() { return DataFactor; }
public final void setDataFactor(BigDecimal value) { DataFactor = value; }
}
Spiegazione:
- Attributo di formato: Annota le proprietà per personalizzare la serializzazione.
- Proprietà: Acquisisci dettagli essenziali come l’ID univoco, il nome dell’autore, la data della firma e il fattore dati.
Configurazione delle opzioni di firma del codice QR
Panoramica
Configura le opzioni di firma del codice QR per definire come appariranno i tuoi codici QR sui documenti, tra cui dimensioni, allineamento e spaziatura.
Implementazione passo dopo passo
Definisci 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();
// Serializzare l'oggetto dati personalizzato nel codice QR
options.setData(documentSignature);
// Specificare il tipo di codice QR
options.setEncodeType(QrCodeTypes.QR);
// Configurare il padding per l'allineamento
Padding padding = new Padding();
padding.setRight(10); // Riempimento destro in pixel
padding.setBottom(10); // Imbottitura inferiore in pixel
options.setMargin(padding);
// Definisci la dimensione e la posizione del codice QR
options.setHeight(100);
options.setWidth(100);
options.setVerticalAlignment(VerticalAlignment.Bottom);
options.setHorizontalAlignment(HorizontalAlignment.Right);
return options;
}
}
Spiegazione:
- Opzioni di firma del codice QR: Gestisce il modo in cui viene visualizzato il codice QR, comprese le sue dimensioni e la sua posizione.
- ImbottituraRegola l’allineamento all’interno del documento.
Firma dei documenti con codice QR e crittografia personalizzata
Panoramica
Combina codici QR e crittografia personalizzata per firmare i documenti in modo sicuro. Questo garantisce l’integrità e la riservatezza dei dati.
Implementazione passo dopo passo
Firma un documento con il codice 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);
// Strategia di crittografia XOR personalizzata
IDataEncryption encryption = new CustomXOREncryption();
// Configurare l'oggetto dati della firma del documento personalizzato
DocumentSignatureData documentSignature = new DocumentSignatureData();
documentSignature.setID(UUID.randomUUID().toString());
documentSignature.setAuthor(System.getenv("USERNAME"));
documentSignature.setSigned(new Date());
documentSignature.setDataFactor(new BigDecimal("11.22"));
// Imposta le opzioni del codice QR
QrCodeSignOptions options = QrCodeSignOptionsConfig.setupQrCodeSignOptions(documentSignature);
// Applica la crittografia ai dati all'interno del codice QR
options.setDataEncryption(encryption);
// Firma e salva il documento
signature.sign(outputFilePath, options);
} catch (Exception e) {
throw new GroupDocsSignatureException(e.getMessage());
}
}
}
Spiegazione:
- Crittografia XORE personalizzata: Implementa una strategia di crittografia personalizzata per proteggere i dati del codice QR.
- UUID: Genera un identificatore univoco per ogni firma.