Δημιουργία Data Matrix PDF με HIBC Barcode σε Java

Αν δημιουργείτε λογισμικό φαρμακευτικής ή υγειονομικής εφοδιαστικής αλυσίδας, πιθανότατα έχετε αντιμετωπίσει το πρόβλημα της παρακολούθησης με χαρτί, χαμένων υπογραφών και εφιάλτες ελέγχων. Δημιουργώντας ένα Data Matrix PDF που ενσωματώνει έναν κωδικό HIBC LIC λύνει αυτά τα προβλήματα παρέχοντας ένα αδιάβλητο, μηχανικά αναγνώσιμο ίχνος που αντέχει στην εκτύπωση, τη σάρωση και την κανονιστική ανασκόπηση. Σε αυτό το σεμινάριο θα δείτε ακριβώς πώς να προσθέσετε υποστήριξη QR code PDF, καθώς και μορφές Aztec και Data Matrix, χρησιμοποιώντας το GroupDocs.Signature for Java.

Γρήγορες Απαντήσεις

  • Ποια βιβλιοθήκη διαχειρίζεται τους κωδικούς HIBC σε Java; GroupDocs.Signature for Java.
  • Ποια μορφή κωδικού είναι η πιο συμπαγής; Data Matrix – ιδανική για μικρές ετικέτες.
  • Μπορώ να προσθέσω τόσο QR όσο και Data Matrix στο ίδιο PDF; Ναι, απλώς δημιουργήστε ξεχωριστά QrCodeSignOptions.
  • Χρειάζεται σύνδεση στο διαδίκτυο κατά την εκτέλεση; Όχι, η βιβλιοθήκη λειτουργεί πλήρως offline μετά την εγκατάσταση.
  • Ποια έκδοση Java συνιστάται; Java 11+ για απόδοση παραγωγικού επιπέδου.

Τι είναι η υπογραφή PDF με κωδικό HIBC;

Η κλάση Signature στο GroupDocs.Signature for Java αντιπροσωπεύει ένα έγγραφο PDF και παρέχει μεθόδους για ενσωμάτωση κωδικών HIBC ως ψηφιακές υπογραφές. Με την υπογραφή ενός PDF με κωδικό HIBC δημιουργείτε ένα επαληθεύσιμο, αδιάβλητο αρχείο που μπορεί να σαρωθεί σε οποιοδήποτε σημείο της εφοδιαστικής αλυσίδας.

Γιατί να χρησιμοποιήσετε Data Matrix και QR codes μαζί;

Το GroupDocs.Signature υποστηρίζει 50+ μορφές εισόδου και εξόδου και μπορεί να επεξεργαστεί PDF πολλών εκατοντάδων σελίδων χωρίς να φορτώνει ολόκληρο το αρχείο στη μνήμη. Η χρήση Data Matrix για πυκνές, μικρής περιοχής ετικέτες και QR για πιο ευρύχωρα έγγραφα προσφέρει την καλύτερη ισορροπία μεταξύ αναγνωσιμότητας, χωρητικότητας δεδομένων (έως 4.296 χαρακτήρες για QR) και αποδοτικότητας χώρου εκτύπωσης.

Προαπαιτούμενα

  • JDK 11 ή νεότερο (Java 8 λειτουργεί αλλά συνιστάται Java 11+ για βέλτιστη απόδοση).
  • IDE όπως IntelliJ IDEA, Eclipse ή VS Code με επεκτάσεις Java.
  • Maven ή Gradle για διαχείριση εξαρτήσεων (παραδείγματα παρακάτω).
  • Δείγμα PDF (π.χ., sample.pdf) για δοκιμή της υλοποίησης.
  • Έγκυρη άδεια GroupDocs.Signature (δωρεάν δοκιμή για ανάπτυξη, επί πληρωμή για παραγωγή).

Ρύθμιση GroupDocs.Signature για Java

Διαμόρφωση Maven

Προσθέστε την εξάρτηση στο pom.xml σας:

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

Διαμόρφωση Gradle

Για έργα Gradle, προσθέστε αυτό στο build.gradle:

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

Επιλογή Άμεσης Λήψης

Μπορείτε επίσης να κατεβάσετε το αρχείο JAR απευθείας από GroupDocs.Signature for Java releases και να το προσθέσετε στο classpath του έργου σας χειροκίνητα. Αυτή η προσέγγιση λειτουργεί καλά σε περιβάλλοντα με περιορισμένο δίκτυο.

Απόκτηση Άδειας

Ζητήστε δωρεάν δοκιμή ή προσωρινή άδεια από το GroupDocs για να αφαιρέσετε τα υδατογραφήματα και να ξεκλειδώσετε όλες τις λειτουργίες. Οι παραγωγικές εγκαταστάσεις απαιτούν αγορασμένη άδεια.

Βασική Αρχικοποίηση

Η κλάση Signature είναι το σημείο εισόδου για όλες τις λειτουργίες υπογραφής. Φορτώνει το PDF, εφαρμόζει τον κωδικό και γράφει το υπογεγραμμένο αρχείο.

import com.groupdocs.signature.Signature;

class InitializeSignature {
    public static void main(String[] args) {
        Signature signature = new Signature("sample.pdf");
        // Proceed with signing operations...
    }
}

Πώς να δημιουργήσετε Data Matrix PDF με κωδικό HIBC;

Φορτώστε το πηγαίο PDF, διαμορφώστε ένα αντικείμενο QrCodeSignOptions για τη μορφή Data Matrix και καλέστε sign() – αυτό είναι ό,τι χρειάζεστε για την ενσωμάτωση ενός συμβατού κωδικού HIBC Data Matrix. Τα παρακάτω βήματα σας καθοδηγούν μέσα από τον ακριβή κώδικα που απαιτείται. Το QrCodeSignOptions ορίζει τις ρυθμίσεις για μια υπογραφή κωδικού, όπως τύπο, περιεχόμενο, μέγεθος και θέση.

  1. Εισαγωγή των απαιτούμενων κλάσεων – αυτές σας δίνουν πρόσβαση στη μηχανή υπογραφής και στις επιλογές Data Matrix.
import com.groupdocs.signature.Signature;
import com.groupdocs.signature.options.sign.QrCodeSignOptions;
import com.groupdocs.signature.domain.qrcodes.QrCodeTypes;
  1. Δημιουργία του αντικειμένου Signature με απόλυτες διαδρομές για τα αρχεία προέλευσης και προορισμού.
String sourceFilePath = "YOUR_DOCUMENT_DIRECTORY";
String destinFilePath = "YOUR_OUTPUT_DIRECTORY/SignWithHIBCLICQR.pdf";

final Signature signature = new Signature(sourceFilePath);
  1. Διαμόρφωση των επιλογών Data Matrix – ορίστε τη συμβολοσειρά HIBC, επιλέξτε QrCodeTypes.HIBCLICDataMatrix και καθορίστε τις συντεταγμένες τοποθέτησης. Το QrCodeTypes απαριθμεί τις υποστηριζόμενες μορφές κωδικού για υπογραφές HIBC.
QrCodeSignOptions hibcLic_QR = new QrCodeSignOptions("A123PROD30917/75#422011907#GP293", QrCodeTypes.HIBCLICQR);
hibcLic_QR.setLeft(1); // Set the position from left
hibcLic_QR.setTop(1);   // Set the position from top
hibcLic_QR.setReturnContent(true); // Return content after signing
hibcLic_QR.setReturnContentType(FileType.PNG); // Specify return content type as PNG
  1. Εφαρμογή της υπογραφής στο PDF.
signature.sign(destinFilePath, hibcLic_QR);
  1. Απελευθέρωση πόρων για να κλείσετε τα αρχεία και να αποφύγετε διαρροές μνήμης.
finally {
    if (signature != null) signature.dispose();
}

Πλήρες λειτουργικό παράδειγμα

Ακολουθεί η πλήρης ροή σε ένα ενιαίο μπλοκ (οι θέσεις κράτησης αντιπροσωπεύουν τον ακριβή κώδικα που θα επικολλήσετε από τα προηγούμενα αποσπάσματα):

import com.groupdocs.signature.Signature;
import com.groupdocs.signature.options.sign.QrCodeSignOptions;
import com.groupdocs.signature.domain.qrcodes.QrCodeTypes;

public class HibcQrSigning {
    public static void main(String[] args) {
        String sourceFilePath = "sample.pdf";
        String destinFilePath = "output/SignWithHIBCLICQR.pdf";
        
        Signature signature = null;
        try {
            signature = new Signature(sourceFilePath);
            
            QrCodeSignOptions hibcLic_QR = new QrCodeSignOptions(
                "A123PROD30917/75#422011907#GP293", 
                QrCodeTypes.HIBCLICQR
            );
            hibcLic_QR.setLeft(1);
            hibcLic_QR.setTop(1);
            hibcLic_QR.setReturnContent(true);
            hibcLic_QR.setReturnContentType(FileType.PNG);
            
            signature.sign(destinFilePath, hibcLic_QR);
            System.out.println("PDF signed successfully with HIBC QR code");
            
        } catch (Exception e) {
            System.err.println("Error signing PDF: " + e.getMessage());
            e.printStackTrace();
        } finally {
            if (signature != null) signature.dispose();
        }
    }
}

Άμεση απάντηση (40–70 λέξεις)

Για δημιουργία Data Matrix PDF, δημιουργήστε ένα Signature με το πηγαίο PDF, ορίστε QrCodeSignOptions σε QrCodeTypes.HIBCLICDataMatrix και παρέχετε μια σωστά μορφοποιημένη συμβολοσειρά HIBC, στη συνέχεια καλέστε signature.sign(outputPath, options). Η βιβλιοθήκη γράφει το υπογεγραμμένο PDF στον προορισμό, διατηρώντας τη διάταξη και ενσωματώνοντας τον κωδικό ως αδιάβλητη υπογραφή.

Πώς να προσθέσετε QR code PDF χρησιμοποιώντας το GroupDocs.Signature;

Φορτώστε το PDF, διαμορφώστε QrCodeSignOptions για τη μορφή QR και καλέστε sign(). Αυτό το μοτίβο δύο γραμμών λειτουργεί για οποιοδήποτε μέγεθος PDF και κλιμακώνει αυτόματα την εικόνα QR για βέλτιστη αναγνωσιμότητα. Το QrCodeSignOptions διαμορφώνει την υπογραφή κωδικού QR, συμπεριλαμβανομένου του περιεχομένου και των οπτικών ιδιοτήτων του. Τοποθετεί τον κωδικό βάσει των συντεταγμένων που ορίζετε, εξασφαλίζοντας ότι δεν επικαλύπτεται με υπάρχον περιεχόμενο και παραμένει σαρώσιμο μετά την εκτύπωση.

  1. Εισαγωγή κλάσεων ειδικών για QR
QrCodeSignOptions hibcLic_AZ = new QrCodeSignOptions("A123PROD30917/75#422011907#GP293", QrCodeTypes.HIBCLICAztec);
hibcLic_AZ.setLeft(1); // Set the position from left
hibcLic_AZ.setTop(200); // Set the position from top
hibcLic_AZ.setReturnContent(true); // Return content after signing
hibcLic_AZ.setReturnContentType(FileType.PNG); // Specify return content type as PNG
  1. Δημιουργία και διαμόρφωση επιλογών QR – σημειώστε τη χρήση του QrCodeTypes.HIBCLICQR.
signature.sign(destinFilePath, hibcLic_AZ);
  1. Υπογραφή του εγγράφου
QrCodeSignOptions hibcLic_DM = new QrCodeSignOptions("A123PROD30917/75#422011907#GP293", QrCodeTypes.HIBCLICDataMatrix);
hibcLic_DM.setLeft(1); // Set the position from left
hibcLic_DM.setTop(400); // Set the position from top
hibcLic_DM.setReturnContent(true); // Return content after signing
hibcLic_DM.setReturnContentType(FileType.PNG); // Specify return content type as PNG

Άμεση απάντηση: Χρησιμοποιήστε QrCodeTypes.HIBCLICQR στο QrCodeSignOptions, ορίστε τη συμβολοσειρά περιεχομένου HIBC, τοποθετήστε τον κωδικό με setLeft() και setTop(), στη συνέχεια καλέστε signature.sign(outputPath, options). Ο κωδικός QR ενσωματώνεται άμεσα, έτοιμος για λήψη από smartphone ή σαρωτή.

Συνηθισμένα Λάθη που Πρέπει να Αποφύγετε

1. Παράλειψη Απελευθέρωσης Πόρων

Λάθος:

Signature signature = new Signature("sample.pdf");
signature.sign(destinFilePath, options);
// Oops, no dispose() call

Διόρθωση: Τυλίξτε τη χρήση του Signature σε μπλοκ try‑with‑resources ή καλέστε ρητά close() σε τελικό τμήμα.

2. Χρήση Λανθασμένων Συμβολοσειρών HIBC

Λάθος: Χρήση γενικών συμβολοσειρών όπως “12345”.
Διόρθωση: Ακολουθήστε το πρότυπο HIBCC (π.χ., A123PROD30917/75#422011907#GP293). Επαληθεύστε με τον HIBCC online validator.

3. Σκληρή Κωδικοποίηση Διαδρομών Αρχείων

Λάθος:

String sourceFilePath = "C:/Users/John/Documents/test.pdf";

Διόρθωση: Αποθηκεύστε τις διαδρομές σε αρχείο ρυθμίσεων ή μεταβλητή περιβάλλοντος και διαβάστε τις κατά την εκτέλεση.

4. Παράβλεψη Συγκρούσεων Θέσης Κωδικού

Τοποθετήστε τους κωδικούς μακριά από υπάρχον κείμενο ή υπογραφές. Χρησιμοποιήστε συντεταγμένες PDF (η αρχή είναι κάτω‑αριστερά) και δοκιμάστε με τυπωμένο δείγμα.

5. Μη Δοκιμή με Πραγματικούς Σαρωτές

Τυπώστε το υπογεγραμμένο PDF και σαρώστε το με το ακριβές υλικό που χρησιμοποιείται στη ροή εργασίας σας. Επαληθεύστε την αναγνωσιμότητα σε διαφορετικές ποιότητες εκτύπωσης.

Πρακτικές Εφαρμογές στην Υγεία

ΣενάριοΠροτεινόμενος ΚωδικόςΓιατί ταιριάζει
Διανομή φαρμακευτικών προϊόντωνQR CodeΥψηλή χωρητικότητα δεδομένων, ευρέως σαρωμένο από smartphones.
Διαχείριση αποθεμάτωνData MatrixΜικρό αποτύπωμα, ιδανικό για πυκνές ετικέτες ραφιών.
Κανονιστική συμμόρφωση (FDA 21 CFR Part 11)QR + Data MatrixΔιπλή μορφή παρέχει εφεδρεία και δυνατότητα ελέγχου.
Παρακολούθηση ιατρικών συσκευώνAztec CodeΣυμπαγές μέγεθος λειτουργεί σε περιορισμένο χώρο συσκευασίας.

Σκέψεις Απόδοσης και Καλές Πρακτικές

Μοτίβο Μαζικής Επεξεργασίας

List<String> filesToSign = getFileList();
for (String filePath : filesToSign) {
    Signature signature = null;
    try {
        signature = new Signature(filePath);
        // Sign and save
    } finally {
        if (signature != null) signature.dispose();
    }
}
  • Δημιουργήστε νέο αντικείμενο Signature ανά αρχείο για να κρατήσετε τη χρήση μνήμης χαμηλή.
  • Χρησιμοποιήστε σταθερό thread pool (Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() - 1)) για παράλληλη επεξεργασία, αλλά παρακολουθείτε το μέγεθος heap επειδή κάθε Signature κρατά ολόκληρο το PDF στη μνήμη.

Διατήρηση Ενημερωμένων Βιβλιοθηκών

Οι εκδόσεις του GroupDocs βελτιώνουν την ταχύτητα επεξεργασίας έως 20 % και προσθέτουν νέες λειτουργίες συμμόρφωσης HIBC. Προγραμματίστε τριμηνιαίους ελέγχους εξαρτήσεων.

Caching Προτύπων

Φορτώστε ένα πρότυπο PDF μία φορά, κλωνοποιήστε το για κάθε παραλλαγή κωδικού και υπογράψτε τα κλώνα. Αυτό μειώνει το I/O και επιταχύνει τις εργασίες υψηλού όγκου.

Συχνές Ερωτήσεις

Ε: Μπορεί το GroupDocs.Signature να υπογράψει τύπους αρχείων εκτός του PDF;
Α: Ναι, υποστηρίζει επίσης DOCX, XLSX, PPTX, PNG, JPEG και TIFF με το ίδιο API υπογραφής κωδικού.

Ε: Πώς αντιμετωπίζω σφάλματα “Invalid barcode content”;
Α: Επαληθεύστε ότι η συμβολοσειρά HIBC ακολουθεί ακριβώς τη σύνταξη HIBCC, χρησιμοποιήστε τον online validator και βεβαιωθείτε ότι χρησιμοποιείτε τη σωστή σταθερά QrCodeTypes για τη μορφή που επιλέξατε.

Ε: Ποια είναι η μέγιστη χωρητικότητα δεδομένων για κάθε μορφή HIBC;
Α: QR ≈ 4.296 αλφαριθμητικούς χαρακτήρες, Aztec ≈ 3.832 αριθμητικούς / 3.067 αλφαριθμητικούς, Data Matrix ≈ 3.116 αριθμητικούς / 2.335 αλφαριθμητικούς. Κρατήστε τους κωδικούς κάτω από 200 χαρακτήρες για βέλτιστη αξιοπιστία σάρωσης.

Ε: Είναι δυνατόν να ενσωματώσω πολλαπλούς τύπους κωδικού σε ένα PDF;
Α: Απόλυτα. Δημιουργήστε ξεχωριστά αντικείμενα QrCodeSignOptions με διαφορετικές θέσεις και καλέστε signature.sign() για το καθένα. Απλώς βεβαιωθείτε ότι δεν επικαλύπτονται.

Ε: Χρειάζεται σύνδεση στο διαδίκτυο για υπογραφή κατά την εκτέλεση;
Α: Όχι. Μόλις το JAR είναι στο classpath και η άδεια ενεργοποιηθεί, όλες οι λειτουργίες εκτελούνται τοπικά.

Πρόσθετοι Πόροι


Τελευταία ενημέρωση: 2026-05-16
Δοκιμασμένο με: GroupDocs.Signature 23.12 for Java
Συγγραφέας: GroupDocs


signature.sign(destinFilePath, hibcLic_DM);

Σχετικά Μαθήματα