Implementacja podpisywania kodu QR w Javie za pomocą GroupDocs.Signature dla Javy
Wstęp
Zwiększ bezpieczeństwo swoich dokumentów cyfrowych, osadzając kody QR w aplikacjach Java. Wykorzystanie GroupDocs.Signature for Java pozwala skutecznie zagwarantować autentyczność i identyfikowalność dokumentów. Ten przewodnik przeprowadzi Cię przez proces tworzenia niestandardowych podpisów danych, konfigurowania opcji podpisywania kodami QR i zabezpieczania dokumentów za pomocą solidnego szyfrowania.
Czego się nauczysz:
- Jak utworzyć niestandardową klasę podpisu danych przy użyciu GroupDocs.Signature
- Konfigurowanie opcji podpisu kodem QR w aplikacjach Java
- Podpisywanie dokumentów za pomocą kodów QR i stosowanie niestandardowego szyfrowania
Przyjrzyjmy się bliżej wymaganiom wstępnym i zacznijmy integrować tę funkcjonalność w Twoich projektach!
Wymagania wstępne
Zanim zaczniesz, upewnij się, że skonfigurowałeś niezbędne biblioteki i zależności w swoim środowisku programistycznym.
Wymagane biblioteki i wersje
Aby zaimplementować GroupDocs.Signature dla języka Java, należy uwzględnić następującą zależność:
Maven
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-signature</artifactId>
<version>23.12</version>
</dependency>
Gradle
implementation 'com.groupdocs:groupdocs-signation:23.12'
Możesz również pobrać najnowszą wersję bezpośrednio ze strony GroupDocs.Signature dla wydań Java.
Wymagania dotyczące konfiguracji środowiska
- Upewnij się, że masz zainstalowany działający Java Development Kit (JDK).
- Skonfiguruj zintegrowane środowisko programistyczne (IDE), takie jak IntelliJ IDEA lub Eclipse.
Wymagania wstępne dotyczące wiedzy
- Podstawowa znajomość programowania w Javie i koncepcji obiektowych.
- Znajomość obsługi zależności przy użyciu Maven lub Gradle.
Konfigurowanie GroupDocs.Signature dla języka Java
Aby rozpocząć, skonfiguruj GroupDocs.Signature w swoim projekcie, postępując zgodnie z instrukcjami instalacji podanymi powyżej, aby uwzględnić go w konfiguracji kompilacji.
Etapy uzyskania licencji
GroupDocs oferuje różne opcje licencjonowania:
- Bezpłatny okres próbny:Przetestuj wszystkie funkcje bez ograniczeń.
- Licencja tymczasowa:Uzyskaj licencję w celach ewaluacyjnych.
- Zakup:Nabyj pełną licencję do użytku komercyjnego.
Po pobraniu zainicjuj GroupDocs.Signature w następujący sposób:
import com.groupdocs.signature.Signature;
class InitializeGroupDocs {
public static void main(String[] args) {
Signature signature = new Signature("path/to/your/document");
// Możesz teraz zacząć używać obiektu podpisu do pracy z dokumentami.
}
}
Przewodnik wdrażania
Podzielmy proces wdrażania na łatwiejsze do opanowania sekcje, skupiając się na najważniejszych funkcjach.
Niestandardowa klasa podpisu danych
Przegląd
Utwórz niestandardową klasę do przechowywania danych podpisu, takich jak identyfikator, autor, data podpisu i dodatkowe czynniki. Dzięki temu masz pewność, że wszystkie niezbędne metadane będą zawarte w podpisach.
Wdrażanie krok po kroku
Zdefiniuj klasę 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; // Unikalny identyfikator 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(); // Data i godzina 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); // Dodatkowy czynnik danych dla podpisu
public final BigDecimal getDataFactor() { return DataFactor; }
public final void setDataFactor(BigDecimal value) { DataFactor = value; }
}
Wyjaśnienie:
- FormatAtrybut:Adnotacje do właściwości umożliwiające dostosowanie serializacji.
- Właściwości:Zbierz istotne szczegóły, takie jak unikalny identyfikator, nazwisko autora, datę podpisu i współczynnik danych.
Konfiguracja opcji znaku kodu QR
Przegląd
Skonfiguruj opcje podpisu kodem QR, aby określić wygląd kodów QR w dokumentach, w tym rozmiar, wyrównanie i odstępy.
Wdrażanie krok po kroku
Zdefiniuj klasę 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();
// Serializuj niestandardowy obiekt danych do kodu QR
options.setData(documentSignature);
// Określ typ kodu QR
options.setEncodeType(QrCodeTypes.QR);
// Skonfiguruj wypełnienie w celu wyrównania
Padding padding = new Padding();
padding.setRight(10); // Wypełnienie prawe w pikselach
padding.setBottom(10); // Wypełnienie dolne w pikselach
options.setMargin(padding);
// Określ rozmiar i pozycję kodu QR
options.setHeight(100);
options.setWidth(100);
options.setVerticalAlignment(VerticalAlignment.Bottom);
options.setHorizontalAlignment(HorizontalAlignment.Right);
return options;
}
}
Wyjaśnienie:
- Opcje podpisu kodu QR: Zarządza sposobem wyświetlania kodu QR, w tym jego rozmiarem i położeniem.
- WyściółkaDostosowuje wyrównanie w dokumencie.
Podpisywanie dokumentów za pomocą kodu QR i niestandardowego szyfrowania
Przegląd
Połącz kody QR i niestandardowe szyfrowanie, aby bezpiecznie podpisywać dokumenty. Zapewnia to integralność i poufność danych.
Wdrażanie krok po kroku
Podpisz dokument za pomocą kodu 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);
// Niestandardowa strategia szyfrowania XOR
IDataEncryption encryption = new CustomXOREncryption();
// Skonfiguruj obiekt danych podpisu dokumentu niestandardowego
DocumentSignatureData documentSignature = new DocumentSignatureData();
documentSignature.setID(UUID.randomUUID().toString());
documentSignature.setAuthor(System.getenv("USERNAME"));
documentSignature.setSigned(new Date());
documentSignature.setDataFactor(new BigDecimal("11.22"));
// Skonfiguruj opcje kodu QR
QrCodeSignOptions options = QrCodeSignOptionsConfig.setupQrCodeSignOptions(documentSignature);
// Zastosuj szyfrowanie danych w kodzie QR
options.setDataEncryption(encryption);
// Podpisz i zapisz dokument
signature.sign(outputFilePath, options);
} catch (Exception e) {
throw new GroupDocsSignatureException(e.getMessage());
}
}
}
Wyjaśnienie:
- Niestandardowe szyfrowanie XOR:Wdraża niestandardową strategię szyfrowania w celu zabezpieczenia danych kodu QR.
- Identyfikator UUID:Generuje unikalny identyfikator dla każdego podpisu.