การนำ Java QR Code Signing ไปใช้กับ GroupDocs.Signature สำหรับ Java

การแนะนำ

เพิ่มความปลอดภัยให้กับเอกสารดิจิทัลของคุณด้วยการฝังรหัส QR ลงในแอปพลิเคชัน Java ของคุณ การใช้ประโยชน์จาก GroupDocs.Signature สำหรับ Java ช่วยให้คุณมั่นใจได้ถึงความถูกต้องของเอกสารและการตรวจสอบย้อนกลับได้อย่างมีประสิทธิภาพ คู่มือนี้จะแนะนำคุณเกี่ยวกับการสร้างลายเซ็นข้อมูลแบบกำหนดเอง การกำหนดค่าตัวเลือกการลงนามรหัส QR และการรักษาความปลอดภัยของเอกสารของคุณด้วยการเข้ารหัสที่แข็งแกร่ง

สิ่งที่คุณจะได้เรียนรู้:

  • วิธีการสร้างคลาสลายเซ็นข้อมูลแบบกำหนดเองโดยใช้ GroupDocs.Signature
  • การกำหนดค่าตัวเลือกการลงนามรหัส QR ในแอปพลิเคชัน Java
  • การลงนามเอกสารด้วยรหัส QR และใช้การเข้ารหัสแบบกำหนดเอง

มาเจาะลึกถึงข้อกำหนดเบื้องต้นและเริ่มผสานฟังก์ชันนี้เข้ากับโปรเจ็กต์ของคุณกันเลย!

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะเริ่มต้น ให้แน่ใจว่าคุณได้ตั้งค่าไลบรารีและการอ้างอิงที่จำเป็นในสภาพแวดล้อมการพัฒนาของคุณแล้ว

ไลบรารีและเวอร์ชันที่จำเป็น

ในการใช้งาน GroupDocs.Signature สำหรับ Java ให้รวมการอ้างอิงต่อไปนี้:

เมเวน

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

แกรเดิล

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

คุณสามารถดาวน์โหลดเวอร์ชันล่าสุดได้โดยตรงจาก GroupDocs.Signature สำหรับรุ่น Java.

ข้อกำหนดการตั้งค่าสภาพแวดล้อม

  • ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Java Development Kit (JDK) ที่ใช้งานได้
  • ตั้งค่าสภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) เช่น IntelliJ IDEA หรือ Eclipse

ข้อกำหนดเบื้องต้นของความรู้

  • ความเข้าใจพื้นฐานเกี่ยวกับการเขียนโปรแกรม Java และแนวคิดเชิงวัตถุ
  • ความคุ้นเคยกับการจัดการการอ้างอิงโดยใช้ Maven หรือ Gradle

การตั้งค่า GroupDocs.Signature สำหรับ Java

ในการเริ่มต้น ให้ตั้งค่า GroupDocs.Signature ในโครงการของคุณโดยปฏิบัติตามคำแนะนำในการติดตั้งด้านบนเพื่อรวมไว้ในการกำหนดค่าการสร้างของคุณ

ขั้นตอนการขอใบอนุญาต

GroupDocs นำเสนอตัวเลือกการออกใบอนุญาตที่แตกต่างกัน:

  • ทดลองใช้ฟรี:ทดสอบฟีเจอร์ทั้งหมดโดยไม่มีข้อจำกัด
  • ใบอนุญาตชั่วคราว:การขอใบอนุญาตเพื่อการประเมินผล
  • ซื้อ:รับใบอนุญาตเต็มรูปแบบเพื่อใช้งานเชิงพาณิชย์

หลังจากดาวน์โหลดแล้ว ให้เริ่มต้น GroupDocs.Signature ดังต่อไปนี้:

import com.groupdocs.signature.Signature;

class InitializeGroupDocs {
    public static void main(String[] args) {
        Signature signature = new Signature("path/to/your/document");
        // ตอนนี้คุณสามารถเริ่มใช้ลายเซ็นวัตถุเพื่อทำงานกับเอกสารได้แล้ว
    }
}

คู่มือการใช้งาน

มาแบ่งกระบวนการใช้งานออกเป็นส่วนๆ ที่จัดการได้ โดยเน้นที่คุณสมบัติหลัก

คลาสลายเซ็นข้อมูลที่กำหนดเอง

ภาพรวม

สร้างคลาสแบบกำหนดเองเพื่อเก็บข้อมูลลายเซ็น เช่น ID ผู้เขียน วันที่ลงนาม และปัจจัยเพิ่มเติม วิธีนี้ช่วยให้คุณมีข้อมูลเมตาที่จำเป็นทั้งหมดรวมอยู่ในลายเซ็นของคุณ

การดำเนินการแบบทีละขั้นตอน

กำหนดคลาส 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; // ตัวระบุเฉพาะสำหรับลายเซ็น
    
    public String getID() { return ID; }
    public void setID(String value) { ID = value; }
    
    @FormatAttribute(propertyName = "SAuth")
    public final String Author; // ผู้เขียนเอกสาร
    
    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(); // วันที่และเวลาในการลงนาม
    
    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); // ปัจจัยข้อมูลเพิ่มเติมสำหรับลายเซ็น
    
    public final BigDecimal getDataFactor() { return DataFactor; }
    public final void setDataFactor(BigDecimal value) { DataFactor = value; }
}

คำอธิบาย:

  • รูปแบบแอตทริบิวต์: ใส่คำอธิบายคุณสมบัติเพื่อปรับแต่งการจัดลำดับ
  • คุณสมบัติ:บันทึกรายละเอียดที่สำคัญ เช่น รหัสเฉพาะ ชื่อผู้เขียน วันที่ลงนาม และปัจจัยข้อมูล

การกำหนดค่าตัวเลือกการลงนามรหัส QR

ภาพรวม

กำหนดค่าตัวเลือกการลงนามรหัส QR เพื่อกำหนดว่ารหัส QR ของคุณจะปรากฏบนเอกสารอย่างไร รวมถึงขนาด การจัดตำแหน่ง และการเติม

การดำเนินการแบบทีละขั้นตอน

กำหนดคลาส 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();
        
        // แปลงวัตถุข้อมูลที่กำหนดเองเป็นรหัส QR
        options.setData(documentSignature);
        
        // ระบุประเภทรหัส QR
        options.setEncodeType(QrCodeTypes.QR);
        
        // กำหนดค่าการเติมสำหรับการจัดตำแหน่ง
        Padding padding = new Padding();
        padding.setRight(10); // การเติมด้านขวาเป็นพิกเซล
        padding.setBottom(10); // การเติมด้านล่างเป็นพิกเซล
        options.setMargin(padding);
        
        // กำหนดขนาดและตำแหน่งของรหัส QR
        options.setHeight(100);
        options.setWidth(100);
        options.setVerticalAlignment(VerticalAlignment.Bottom);
        options.setHorizontalAlignment(HorizontalAlignment.Right);
        
        return options;
    }
}

คำอธิบาย:

  • ตัวเลือกลายเซ็น QRCode:จัดการวิธีการแสดงรหัส QR รวมถึงขนาดและตำแหน่ง
  • การบุนวมปรับการจัดตำแหน่งภายในเอกสาร

การลงนามเอกสารด้วยรหัส QR และการเข้ารหัสแบบกำหนดเอง

ภาพรวม

ผสานรวมรหัส QR และการเข้ารหัสแบบกำหนดเองเพื่อลงนามในเอกสารอย่างปลอดภัย รับรองความสมบูรณ์และความลับของข้อมูล

การดำเนินการแบบทีละขั้นตอน

ลงนามในเอกสารด้วยรหัส 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);

            // กลยุทธ์การเข้ารหัส XOR แบบกำหนดเอง
            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"));

            // ตั้งค่าตัวเลือก QR-Code
            QrCodeSignOptions options = QrCodeSignOptionsConfig.setupQrCodeSignOptions(documentSignature);

            // ใช้การเข้ารหัสข้อมูลภายในรหัส QR
            options.setDataEncryption(encryption);

            // ลงนามและบันทึกเอกสาร
            signature.sign(outputFilePath, options);
        } catch (Exception e) {
            throw new GroupDocsSignatureException(e.getMessage());
        }
    }
}

คำอธิบาย:

  • การเข้ารหัส XORE แบบกำหนดเอง:นำกลยุทธ์การเข้ารหัสแบบกำหนดเองมาใช้เพื่อรักษาความปลอดภัยข้อมูลรหัส QR
  • รหัสประจำตัว:สร้างตัวระบุเฉพาะสำหรับลายเซ็นแต่ละรายการ