Jak implementovat vlastní serializaci a šifrování QR kódů v PDF pomocí GroupDocs.Signature pro Javu
Zavedení
V digitálním věku je bezpečné podepisování dokumentů nezbytné pro zachování integrity a autenticity dat. Představujeme GroupDocs.Signature pro Javu – výkonnou knihovnu navrženou pro zjednodušení přidávání podpisů do dokumentů. Tento tutoriál vás provede implementací vlastní serializace QR kódů se šifrováním v PDF souborech pomocí GroupDocs.Signature pro Javu.
Co se naučíte:
- Jak nastavit a konfigurovat GroupDocs.Signature pro Javu
- Implementace vlastní serializace pro podpisy QR kódů
- Šifrování serializovaných dat v QR kódu
- Použití těchto funkcí k zabezpečení vašich dokumentů
Než se pustíme do implementace, ujistěte se, že máte vše potřebné k jejímu pokračování.
Předpoklady
Pro efektivní používání tohoto tutoriálu se ujistěte, že splňujete následující předpoklady:
Požadované knihovny a závislosti:
- GroupDocs.Signature pro Javu verze 23.12 nebo vyšší
- Maven nebo Gradle pro správu závislostí (volitelné)
Požadavky na nastavení prostředí:
- Na vašem počítači nainstalovaná sada pro vývojáře Java (JDK)
- Základní znalost programování v Javě
Předpoklady znalostí:
- Znalost Javy a konceptů objektově orientovaného programování
- Základní znalost práce s PDF soubory v Javě
Nastavení GroupDocs.Signature pro Javu
Chcete-li začít, musíte si v prostředí projektu nastavit knihovnu GroupDocs.Signature.
Instalace Mavenu
Pokud používáte Maven, přidejte do svého souboru následující závislost pom.xml
soubor:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-signature</artifactId>
<version>23.12</version>
</dependency>
Instalace Gradle
Pro uživatele Gradle, zahrňte tento řádek do svého build.gradle
soubor:
implementation 'com.groupdocs:groupdocs-signature:23.12'
Přímé stažení
Případně si můžete nejnovější verzi stáhnout přímo z GroupDocs.Signature pro verze Javy.
Kroky získání licence
- Bezplatná zkušební verze: Začněte stažením zkušební verze a vyzkoušejte její funkce.
- Dočasná licence: V případě potřeby si můžete požádat o dočasnou licenci, která vám umožní produkt bez jakýchkoli omezení vyzkoušet.
- Nákup: Pro dlouhodobé používání zvažte zakoupení plné licence.
Po instalaci inicializujte GroupDocs.Signature ve vašem projektu:
import com.groupdocs.signature.Signature;
public class SetupGroupDocs {
public static void main(String[] args) {
Signature signature = new Signature("YOUR_DOCUMENT_DIRECTORY/sample.pdf");
// Váš kód zde...
}
}
Průvodce implementací
Nyní se pojďme ponořit do implementace vlastní serializace a šifrování QR kódů pomocí GroupDocs.Signature pro Javu.
Vlastní třída serializace pro podpisy QR kódů
Přehled
Tato funkce zahrnuje vytvoření třídy, která se stará o serializaci metadat do podpisu QR kódu. DocumentSignatureData
třída ukládá atributy, jako je ID, autor, datum podpisu a datový faktor.
import com.groupdocs.signature.domain.extensions.serialization.FormatAttribute;
import java.math.BigDecimal;
import java.util.Date;
class DocumentSignatureData {
@FormatAttribute(propertyName = "SignID")
public String ID;
public void setID(String value) {
this.ID = value;
}
@FormatAttribute(propertyName = "SAuth")
public String author;
public void setAuthor(String value) {
this.author = value;
}
@FormatAttribute(propertyName = "SDate", propertyFormat = "yyyy-MM-dd")
public Date signed = new Date();
public void setSigned(Date value) {
this.signed = value;
}
@FormatAttribute(propertyName = "SDFact", propertyFormat = "N2")
public BigDecimal dataFactor = new BigDecimal(0.01);
public void setDataFactor(BigDecimal value) {
this.dataFactor = value;
}
}
Vysvětlení
- Atributy: Ten/Ta/To
@FormatAttribute
Anotace určují, jak je každý atribut serializován do QR kódu.- Průkaz totožnostiJedinečný identifikátor podpisu.
- AutorOsoba, která dokument podepsala.
- Datum podpisuČasové razítko podpisu dokumentu.
- Datový faktorDalší číselné údaje spojené s podpisem.
Podpis QR kódem s vlastní serializací a šifrováním dat
Přehled
Tato část ukazuje, jak podepsat dokument pomocí QR kódu, který obsahuje vlastní serializovaná data a šifrování.
import com.groupdocs.signature.Signature;
import com.groupdocs.signature.domain.Padding;
import com.groupdocs.signature.domain.enums.HorizontalAlignment;
import com.groupdocs.signature.domain.enums.VerticalAlignment;
import com.groupdocs.signature.domain.extensions.encryption.IDataEncryption;
import com.groupdocs.signature.domain.qrcodes.QrCodeTypes;
import com.groupdocs.signature.exception.GroupDocsSignatureException;
import com.groupdocs.signature.options.sign.QrCodeSignOptions;
import java.io.File;
import java.math.BigDecimal;
import java.util.Date;
import java.util.UUID;
class SignWithQRCodeCustomSerialization {
String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";
String outputFilePath = new File("YOUR_OUTPUT_DIRECTORY", "SignedQRCodeCustomSerialization.pdf").getPath();
public void signDocument() throws Exception {
Signature signature = new Signature(filePath);
// Implementujte zde svou vlastní šifrovací logiku
IDataEncryption encryption = new CustomXOREncryption();
DocumentSignatureData documentSignature = new DocumentSignatureData();
documentSignature.setID(UUID.randomUUID().toString());
documentSignature.setAuthor(System.getenv("USERNAME"));
documentSignature.setSigned(new Date());
documentSignature.setDataFactor(new BigDecimal("11.22"));
QrCodeSignOptions options = new QrCodeSignOptions();
options.setData(documentSignature);
options.setEncodeType(QrCodeTypes.QR);
options.setDataEncryption(encryption);
// Konfigurace zarovnání a vzhledu
options.setHeight(100);
options.setWidth(100);
options.setVerticalAlignment(VerticalAlignment.Bottom);
options.setHorizontalAlignment(HorizontalAlignment.Right);
Padding padding = new Padding();
padding.setRight(10);
padding.setBottom(10);
options.setMargin(padding);
signature.sign(outputFilePath, options);
}
}
Vysvětlení
- Vlastní šifrování: Implementujte si vlastní šifrovací logiku v
CustomXOREncryption
nebo použít jakoukoli jinou metodu implementaceIDataEncryption
. - Možnosti podpisu: Nakonfigurujte vzhled a zarovnání QR kódu pomocí možností, jako je výška, šířka, odsazení atd.
- Proces podepisování: Ten/Ta/To
signature.sign()
Metoda aplikuje na dokument podpis QR kódem.
Tipy pro řešení problémů
- Ujistěte se, že všechny závislosti jsou ve vašem nástroji pro sestavení (Maven/Gradle) správně nakonfigurovány.
- Ověřte, zda jsou cesty k souborům pro vstupní a výstupní dokumenty správné.
- Ověřte, zda je vaše vlastní šifrovací logika správně implementována a integrována.
Praktické aplikace
Zde jsou některé reálné aplikace této funkce:
- Podepisování právních dokumentů: Bezpečně podepisujte smlouvy s metadaty vloženými do QR kódů pro zajištění pravosti.
- Zpracování faktur: Automaticky přidávejte šifrované podpisy k fakturám pro větší zabezpečení a sledovatelnost.
- Sledování logistiky: Používejte podepsané dokumenty pro sledování zásilek, vkládání jedinečných identifikátorů a časových razítek do QR kódů.
- Akademické certifikace: Bezpečně vkládejte informace o studentech do digitálních certifikátů pomocí podpisu QR kódem