Πώς να προσθέσετε barcode σε PDF σε Java

Εισαγωγή

Έχετε βρεθεί ποτέ να παλεύετε με την αυθεντικότητα των εγγράφων στην εφαρμογή σας Java; Δεν είστε μόνοι. Είτε δημιουργείτε σύστημα αποθεμάτων, διαχειρίζεστε συμβόλαια ή χειρίζεστε έγγραφα εφοδιαστικής αλυσίδας, υπάρχει μεγάλη πιθανότητα να χρειάζεστε έναν αξιόπιστο τρόπο για να υπογράφετε και να επαληθεύετε PDFs αυτόματα.

Οι παραδοσιακές ψηφιακές υπογραφές είναι εξαιρετικές, αλλά μερικές φορές χρειάζεστε κάτι πιο εξειδικευμένο — όπως υπογραφές barcode που λειτουργούν απρόσκοπτα με συστήματα σάρωσης και αυτοματοποιημένες ροές εργασίας. Εδώ έρχονται τα barcode GS1DotCode.

Τι θα μάθετε:

  • Πώς να υπογράψετε έγγραφα PDF με barcode GS1DotCode σε Java
  • Πώς να εξάγετε και να αποθηκεύσετε εικόνες υπογραφής barcode
  • Πότε (και γιατί) να χρησιμοποιήσετε υπογραφές barcode αντί των παραδοσιακών μεθόδων
  • Συνηθισμένα προβλήματα και πώς να τα αποφύγετε

Στο τέλος αυτού του οδηγού, θα έχετε μια έτοιμη λύση που μπορείτε να ενσωματώσετε σε οποιοδήποτε έργο Java.

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

  • Ποια βιβλιοθήκη προσθέτει barcode σε PDFs σε Java; GroupDocs.Signature for Java.
  • Ποια μορφή barcode καλύπτεται; GS1DotCode, ένας συμπαγής δισδιάστατος πίνακας σημείων.
  • Χρειάζομαι πληρωμένη άδεια; Μια δωρεάν δοκιμή λειτουργεί για δοκιμές· η παραγωγή απαιτεί εμπορική άδεια.
  • Μπορώ να εξάγω το barcode ως εικόνα; Ναι, χρησιμοποιώντας το API BarcodeSignature.
  • Ποια έκδοση Java απαιτείται; JDK 8 ή νεότερη.

Τι είναι η προσθήκη barcode;

Προσθήκη barcode αναφέρεται στη διαδικασία ενσωμάτωσης προγραμματιστικά ενός γραφικού barcode αναγνώσιμου από μηχανή σε αρχείο PDF, ώστε το barcode να γίνεται μέρος του ρεύματος περιεχομένου του εγγράφου. Αυτό περιλαμβάνει τη δημιουργία της εικόνας barcode, την τοποθέτησή της σε μια σελίδα και την αποθήκευση του τροποποιημένου PDF, διασφαλίζοντας ότι το barcode παραμένει αναζητήσιμο και εκτυπώσιμο.

Γιατί να επιλέξετε barcode GS1DotCode;

Το GS1DotCode σχεδιάστηκε για καταστάσεις όπου ο χώρος είναι περιορισμένος. Σε αντίθεση με τα γραμμικά barcode που εκτείνονται οριζόντια, το DotCode δημιουργεί έναν δισδιάστατο πίνακα σημείων που πακετάρει τεράστιες ποσότητες πληροφορίας σε μικρή περιοχή. Αυτό το καθιστά ιδανικό για:

  • Μικρές ετικέτες προϊόντων όπου κάθε χιλιοστόμετρο μετράει
  • Υψηλής ταχύτητας εκτύπωση σε γραμμές παραγωγής (η μορφή έχει σχεδιαστεί γι’ αυτό)
  • Παρακολούθηση εφοδιαστικής αλυσίδας όπου χρειάζεται να κωδικοποιήσετε σύνθετες δομές δεδομένων

Η μορφή μπορεί να διαχειριστεί έως 3.116 χαρακτήρες σε συμπαγή περιοχή και διαβάζεται αξιόπιστα ακόμη και σε υψηλές ταχύτητες ή με μερική ζημιά. Αν εργάζεστε στο λιανικό εμπόριο ή τη λογιστική, οι συνεργάτες σας πιθανότατα χρησιμοποιούν ήδη πρότυπα GS1 — οπότε μιλάτε την ίδια γλώσσα.

Συμβουλή: Χρησιμοποιήστε GS1DotCode όταν χρειάζεται να ενσωματώσετε περισσότερους από 20 χαρακτήρες σε ετικέτα μικρότερη από 1 ίντσα × 1 ίντσα.

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

Πριν ξεκινήσετε τον κώδικα, βεβαιωθείτε ότι το περιβάλλον σας ικανοποιεί τις παρακάτω απαιτήσεις.

Απαιτούμενες βιβλιοθήκες και εξαρτήσεις

  • GroupDocs.Signature for Java 23.12 ή νεότερη (υποστηρίζει 30+ μορφές εγγράφων)
  • Maven ή Gradle για διαχείριση εξαρτήσεων

Ρύθμιση περιβάλλοντος

  • JDK 8 ή νεότερο εγκατεστημένο και ρυθμισμένο στο PATH
  • Ένα IDE όπως IntelliJ IDEA, Eclipse ή NetBeans
  • Ένα δείγμα αρχείου PDF για πειραματισμό (οποιοδήποτε μη‑προστατευμένο PDF αρκεί)

Προαπαιτούμενες γνώσεις

  • Βασική σύνταξη Java (μεταβλητές, μέθοδοι, αντικείμενα)
  • Εξοικείωση με δήλωση εξαρτήσεων Maven ή Gradle
  • Κατανόηση αρχείων I/O σε Java (π.χ., FileInputStream)

Αν λείπει κάποιο από αυτά τα στοιχεία, κάντε παύση και εγκαταστήστε το τώρα· τα επόμενα βήματα υποθέτουν ότι είναι παρόντα.

Ρύθμιση GroupDocs.Signature for Java

Maven

Αν χρησιμοποιείτε Maven, προσθέστε την παρακάτω εξάρτηση στο pom.xml σας:

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

Το Maven θα κατεβάσει τη βιβλιοθήκη και όλες τις απαιτούμενες μεταβιβαστικές εξαρτήσεις αυτόματα.

Gradle

Για χρήστες Gradle, εισάγετε αυτή τη γραμμή στο αρχείο build.gradle:

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

Το Gradle λύνει το πακέτο με τον ίδιο «hands‑off» τρόπο.

Άμεση λήψη

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

Συμβουλή: Το Maven ή το Gradle απλοποιεί μελλοντικές αναβαθμίσεις — απλώς αυξήστε τον αριθμό έκδοσης.

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

Η GroupDocs προσφέρει τρεις επιλογές αδειοδότησης:

  • Δωρεάν δοκιμή – χωρίς πιστωτική κάρτα, με υδατογράμματα στα αποτελέσματα
  • Προσωρινή άδεια – 30‑ήμερη πλήρης αξιολόγηση
  • Εμπορική άδεια – αφαιρεί τους περιορισμούς δοκιμής και παρέχει δικαιώματα παραγωγής

Αφού αποκτήσετε το αρχείο άδειας, τοποθετήστε το στον φάκελο resources του έργου σας και φορτώστε το πριν δημιουργηθεί οποιοδήποτε αντικείμενο Signature.

License.setLicense φορτώνει το αρχείο άδειας GroupDocs, ενεργοποιώντας πλήρη λειτουργικότητα χωρίς περιορισμούς δοκιμής.

Εκτελέστε το παρακάτω απόσπασμα για να επαληθεύσετε ότι η βιβλιοθήκη φορτώνεται σωστά:

import com.groupdocs.signature.Signature;

public class InitializeGroupDocs {
    public static void main(String[] args) {
        // Create an instance of Signature
        Signature signature = new Signature("path/to/your/document.pdf");
        
        System.out.println("Initialization successful!");
    }
}

Αν δείτε το μήνυμα “Initialization successful!” η ρύθμιση ολοκληρώθηκε. Διαφορετικά, ελέγξτε ξανά το classpath και τη διαδρομή της άδειας.

Οδηγός υλοποίησης

Θα καλύψουμε δύο βασικές λειτουργίες: (1) υπογραφή PDF με barcode GS1DotCode και (2) εξαγωγή του barcode ως αρχείο εικόνας.

Λειτουργία 1: υπογραφή εγγράφου με barcode GS1DotCode

Πώς να υπογράψετε PDF με barcode GS1DotCode σε Java;

Φορτώστε το PDF στόχο με new Signature("source.pdf"), διαμορφώστε ένα αντικείμενο BarcodeSignOptions που περιέχει δεδομένα μορφοποιημένα κατά GS1, και καλέστε sign() για να παραχθεί νέο PDF που ενσωματώνει το barcode. Η λειτουργία αυτή γράφει το barcode απευθείας στο ρεύμα περιεχομένου του PDF, διατηρώντας το μέσω εκτύπωσης και επανασάρωσης.

Η διαδικασία περιλαμβάνει τρία σύντομα βήματα: δημιουργία ενός αντικειμένου Signature, ρύθμιση του BarcodeSignOptions και κλήση του sign(). Ο κώδικας παρακάτω δείχνει κάθε βήμα.

1. αρχικοποίηση του αντικειμένου υπογραφής

Η κλάση Signature είναι το σημείο εισόδου για όλες τις λειτουργίες επεξεργασίας εγγράφων στο GroupDocs.Signature.

import com.groupdocs.signature.Signature;

String sourceFilePath = "YOUR_DOCUMENT_DIRECTORY/document.pdf";
final Signature signature = new Signature(sourceFilePath);

Γιατί είναι σημαντικό: Το αντικείμενο Signature αφαιρεί τη διαχείριση αρχείων, ρέει μεγάλα PDFs αποδοτικά χωρίς να φορτώνει ολόκληρο το αρχείο στη μνήμη.

2. διαμόρφωση επιλογών barcode

BarcodeSignOptions σας επιτρέπει να ορίσετε τον τύπο barcode, τα κωδικοποιημένα δεδομένα, τη θέση και τις διαστάσεις.

import com.groupdocs.signature.domain.signatures.BarcodeSignature;
import com.groupdocs.signature.options.sign.BarcodeSignOptions;
import com.groupdocs.signature.domain.barcodes.BarcodeTypes;

BarcodeSignOptions gs1DotCodeOptions = new BarcodeSignOptions("(01)04912345123459(15)970331(30)128(10)ABC123", BarcodeTypes.GS1DotCode);
gs1DotCodeOptions.setLeft(100); // Set barcode position
gs1DotCodeOptions.setTop(100);
gs1DotCodeOptions.setHeight(150);
gs1DotCodeOptions.setWidth(200);

Κύρια σημεία:

  • Η κωδικοποιημένη συμβολοσειρά ακολουθεί τους Αναγνωριστικούς Εφαρμογών (AIs) του GS1, όπως (01) για GTIN, (15) για ημερομηνία λήξης κ.λπ.
  • setLeft() και setTop() χρησιμοποιούν μονάδες points (72 pts = 1 in).
  • Το ελάχιστο συνιστώμενο μέγεθος για αξιόπιστη σάρωση είναι 108 pt × 108 pt (1.5 in × 1.5 in).
3. υπογραφή του εγγράφου

Προσθέστε τις διαμορφωμένες επιλογές σε λίστα (μπορείτε να συνδυάσετε πολλαπλούς τύπους υπογραφών) και καλέστε sign().

import java.util.ArrayList;
import java.util.List;

List<com.groupdocs.signature.options.sign.SignOptions> listOptions = new ArrayList<>();
listOptions.add(gs1DotCodeOptions);
signature.sign("YOUR_OUTPUT_DIRECTORY/signed_document_with_gs1dotcode.pdf", listOptions);

Σημείωση απόδοσης: Η επαναχρησιμοποίηση ενός μόνο αντικειμένου Signature για παρτίδες μειώνει το κόστος δημιουργίας αντικειμένων και βελτιώνει το throughput.

Λειτουργία 2: αποθήκευση περιεχομένου υπογραφής barcode σε αρχείο

Πώς να εξάγετε εικόνα barcode από υπογεγραμμένο PDF σε Java;

BarcodeSignature αντιπροσωπεύει ένα αντικείμενο υπογραφής barcode που εξάγεται από υπογεγραμμένο έγγραφο, παρέχοντας πρόσβαση στα δεδομένα και στην εικόνα του.

Δημιουργήστε μια παρουσία BarcodeSignature (ή ανακτήστε την μέσω search()), διαβάστε τα δεδομένα εικόνας σε Base64 μέσω getContent(), αποκωδικοποιήστε τα και γράψτε τα bytes σε αρχείο PNG. Αυτό παράγει μια ανεξάρτητη εικόνα που μπορείτε να εμφανίσετε σε UI ή να στείλετε σε εκτυπωτή ετικετών.

1. προσομοίωση δημιουργίας υπογραφής barcode

Σε πραγματικά σενάρια θα λαμβάνατε το BarcodeSignature από αποτέλεσμα αναζήτησης· εδώ το δημιουργούμε χειροκίνητα για επίδειξη.

import com.groupdocs.signature.domain.signatures.BarcodeSignature;
import java.io.FileOutputStream;

String base64String = "SampleBase64EncodedData";
BarcodeSignature barcodeSignature = new BarcodeSignature(base64String);
2. αποθήκευση του περιεχομένου σε αρχείο

Αποκωδικοποιήστε τη συμβολοσειρά Base64 και γράψτε τα παραγόμενα bytes στο δίσκο χρησιμοποιώντας μπλοκ try‑with‑resources.

int imageNumber = 1;
String formatExtension = ".png";  // Assume PNG format

try (FileOutputStream outputStream = new FileOutputStream("YOUR_OUTPUT_DIRECTORY/barcode_image" + imageNumber + formatExtension)) {
    byte[] byteArray = barcodeSignature.getContent();
    if (byteArray != null) {
        outputStream.write(byteArray);
    }
}

Προειδοποίηση: Το getContent() μπορεί να επιστρέψει null αν η υπογραφή δημιουργήθηκε χωρίς ενσωμάτωση εικόνας. Ελέγξτε πάντα για null πριν γράψετε.

Συχνά προβλήματα και λύσεις

Πρόβλημα: το barcode δεν σαρώνεται

Συμπτώματα: Το barcode φαίνεται εντάξει στον προβολέα PDF, αλλά οι σαρωτές επιστρέφουν σφάλματα.

Λύσεις:

  • Αυξήστε το μέγεθος του barcode τουλάχιστον σε 108 pt × 108 pt.
  • Βεβαιωθείτε ότι η ανάλυση εκτυπωτή είναι ≥ 300 dpi.
  • Επαληθεύστε ότι η συμβολοσειρά δεδομένων GS1 ακολουθεί τη σωστή σύνταξη AI· ένα ελλιπές παρενθετικό σπάει τον σαρωτή.

Πρόβλημα: OutOfMemoryError σε μεγάλα PDFs

Συμπτώματα: Η επεξεργασία εγγράφων μεγαλύτερων από 50 MB προκαλεί αποτυχίες heap‑space.

Λύσεις:

  • Εκκινήστε το JVM με μεγαλύτερο heap, π.χ., -Xmx2g.
  • Επεξεργαστείτε τα έγγραφα σε μικρότερες παρτίδες.
  • Αποδεσμεύστε ρητά τα αντικείμενα Signature: signature.dispose() μετά από κάθε αρχείο.

Πρόβλημα: το barcode εμφανίζεται θολό

Συμπτώματα: Το παραγόμενο barcode φαίνεται pixelated στο τελικό PDF.

Λύσεις:

  • Χρησιμοποιήστε μεγαλύτερες διαστάσεις· η βιβλιοθήκη αποδίδει γραφικά vector όταν είναι δυνατόν, αλλά η κλιμάκωση μετά τη δημιουργία δημιουργεί artefacts.
  • Αποφύγετε μετατροπές raster‑to‑vector· αφήστε το GroupDocs να κάνει την απόδοση απευθείας από τον ορισμό vector.

Πρόβλημα: εξαιρέσεις άδειας

Συμπτώματα: Σφάλματα όπως “License not found” ή “Trial limitations exceeded”.

Λύσεις:

  • Τοποθετήστε το αρχείο άδειας στη ρίζα του classpath (src/main/resources).
  • Καλέστε License.setLicense("GroupDocs.Signature.lic") πριν δημιουργήσετε οποιοδήποτε αντικείμενο Signature.
  • Για προσωρινές άδειες, επιβεβαιώστε την ημερομηνία λήξης (30 ημέρες από την έκδοση).

Πότε να χρησιμοποιήσετε αυτήν την προσέγγιση

Καλές περιπτώσεις χρήσης

  • Παρακολούθηση εφοδιαστικής αλυσίδας – ενσωματώστε IDs προϊόντων, αριθμούς παρτίδας και ημερομηνίες λήξης απευθείας σε έγγραφα αποστολής.
  • Αυτοματοποιημένη εκτύπωση ετικετών – δημιουργήστε barcode «on‑the‑fly» για κάθε τιμολόγιο PDF.
  • Κανονιστικές βιομηχανίες – τα πρότυπα GS1 είναι υποχρεωτικά σε πολλά λιανικά και υγειονομικά περιβάλλοντα.

Πότε να σκεφτείτε εναλλακτικές

  • Αν χρειάζεστε μόνο κρυπτογραφική ακεραιότητα, μια τυπική υπογραφή PKI είναι πιο κατάλληλη.
  • Για απλές οπτικές σημειώσεις, μια υπογραφή κειμένου ή σφραγίδα εικόνας μπορεί να είναι επαρκής.
  • Όταν το μέγεθος του εγγράφου είναι κρίσιμο, αποφύγετε την προσθήκη εικόνων υψηλής ανάλυσης barcode· αντί αυτού, χρησιμοποιήστε QR codes που μπορούν να είναι μικρότερα για συγκρίσιμη πυκνότητα δεδομένων.

Καλές πρακτικές ασφαλείας

Επαλήθευση δεδομένων

Καθαρίστε τυχόν δεδομένα που παρέχονται από χρήστη πριν τα κωδικοποιήσετε σε barcode. Κακοδιατυπωμένες συμβολοσειρές GS1 μπορούν να προκαλέσουν σφάλματα σάρωσης ή, στην χειρότερη περίπτωση, να ενεργοποιήσουν buffer overflow σε παλαιά firmware σαρωτών.

Έλεγχος πρόσβασης

Εφαρμόστε έλεγχο πρόσβασης βάσει ρόλων (RBAC) ώστε μόνο εξουσιοδοτημένοι χρήστες να μπορούν να καλέσουν το API υπογραφής. Αποθηκεύστε το αρχείο άδειας με ασφάλεια και περιορίστε τα δικαιώματα του συστήματος αρχείων.

Καταγραφή ελέγχου

Καταγράψτε κάθε λειτουργία υπογραφής με στοιχεία όπως ID χρήστη, χρονική σήμανση, διαδρομή αρχείου προέλευσης και το ακριβές payload GS1. Παράδειγμα καταγραφής:

// Simple logging example (use a proper logging framework in production)
System.out.println("Document signed by: " + userId + " at " + new Date());
System.out.println("Barcode data: " + barcodeData);

Ανίχνευση παραποίησης

Συνδυάστε μια υπογραφή barcode με κρυπτογραφική ψηφιακή υπογραφή. Το barcode παρέχει μηχανικά αναγνώσιμα δεδομένα, ενώ η ψηφιακή υπογραφή εγγυάται ακεραιότητα και μη αποδοχή.

Πρακτικές εφαρμογές

1. Διαχείριση εφοδιαστικής αλυσίδας

Κάθε δελτίο αποστολής λαμβάνει barcode GS1DotCode που κωδικοποιεί GTIN, παρτίδα και προορισμό. Οι σαρωτές σε κάθε σημείο ελέγχου ενημερώνουν αυτόματα το σύστημα ERP, μειώνοντας τα σφάλματα χειροκίνητης εισαγωγής κατά 98 %.

2. Έλεγχος αποθεμάτων

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

3. Λιανική πώληση

Τα τιμολόγια που εκτυπώνονται με barcode επιτρέπουν στους ταμίες να επεξεργάζονται επιστροφές σαρώντας το τιμολόγιο αντί να εισάγουν χειροκίνητα τον κωδικό συναλλαγής, μειώνοντας τον μέσο χρόνο ολοκλήρωσης κατά 30 δευτερόλεπτα ανά επιστροφή.

4. Τεκμηρίωση υγειονομικής περίθαλψης

Οι συνταγές που υπογράφονται με barcode GS1DotCode ενσωματώνουν ID ασθενούς, κωδικό φαρμάκου και οδηγίες δοσολογίας. Τα φαρμακεία σαρώνουν το barcode, εξαλείφοντας τα σφάλματα μεταγραφής που προκαλούν ανεπιθύμητες ενέργειες φαρμάκων.

Σκέψεις απόδοσης

Διαχείριση μνήμης

Το GroupDocs.Signature ρέει δεδομένα PDF, αλλά πρέπει να κλείνετε τους πόρους άμεσα:

try (Signature signature = new Signature(sourceFilePath)) {
    // Do your signing operations here
} // Signature automatically disposed here

Η χρήση try‑with‑resources εγγυάται ότι το αντικείμενο Signature απελευθερώνει τους χειριστές αρχείων ακόμη και αν προκύψει εξαίρεση.

Συμβουλές παρτίδας

  • Επαναχρησιμοποιήστε το ίδιο αντικείμενο BarcodeSignOptions όταν το payload είναι ίδιο για πολλά έγγραφα.
  • Παράλληλη υπογραφή με ExecutorService για φορτία CPU‑bound· ένας τυπικός διακομιστής 8 πυρήνων μπορεί να υπογράψει ≈ 150 PDFs ανά λεπτό όταν κάθε αρχείο είναι κάτω από 5 MB.
  • Ρυθμίστε το ρυθμό κλήσεων εξωτερικής επαλήθευσης άδειας για αποφυγή περιορισμού (rate‑limit).

Βελτιστοποίηση μορφής αρχείου

  • Προτιμήστε PDF/A‑1b για αρχειοθέτηση· συμπιέζει ρεύματα και μειώνει το μέγεθος του αρχείου έως 40 %.
  • Κρατήστε τις διαστάσεις του barcode όσο το δυνατόν μικρότερες· ένα barcode 1.5 in × 1.5 in προσθέτει περίπου 15 KB σε PDF 2 MB.

Συμπέρασμα

Τώρα διαθέτετε μια πλήρη, έτοιμη για παραγωγή ροή εργασίας για την προσθήκη υπογραφών barcode GS1DotCode σε αρχεία PDF σε Java, την εξαγωγή αυτών των barcode ως εικόνες και την ενσωμάτωση της διαδικασίας σε μεγαλύτερους σωλήνες διαχείρισης εγγράφων. Θυμηθείτε:

  1. Επικυρώστε τα payloads GS1 πριν την κωδικοποίηση.
  2. Επιλέξτε διαστάσεις barcode που εξισορροπούν την αξιοπιστία σάρωσης με τις περιοριστικές απαιτήσεις διάταξης.
  3. Συνδυάστε τις υπογραφές barcode με κρυπτογραφικές υπογραφές για πλήρη κάλυψη ασφαλείας.

Επόμενα βήματα: εξερευνήστε άλλους τύπους υπογραφών που προσφέρει το GroupDocs.Signature — QR codes, σφραγίδες κειμένου και ψηφιακά πιστοποιητικά — όλα με ενιαίο API.


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

Ε: Τι είναι το GS1DotCode και γιατί διαφέρει από τα QR codes;
Α: Το GS1DotCode είναι ένας συμπαγής δισδιάστατος πίνακας σημείων που αποθηκεύει έως 3.116 χαρακτήρες σε μικρότερη περιοχή από τα QR codes, καθιστώντας το ιδανικό για πολύ μικρές ετικέτες και υψηλής ταχύτητας εκτύπωση.

Ε: Μπορώ να χρησιμοποιήσω τη δωρεάν δοκιμή για παραγωγικές εγκαταστάσεις;
Α: Η δωρεάν δοκιμή περιορίζεται σε αξιολόγηση και προσθέτει υδατογράμματα στα αρχεία εξόδου. Η παραγωγική χρήση απαιτεί αγορασμένη ή προσωρινή 30‑ήμερη άδεια.

Ε: Πώς τοποθετώ το barcode σε συγκεκριμένη σελίδα;
Α: Ορίστε setPageNumber(pageIndex) στο αντικείμενο BarcodeSignOptions, στη συνέχεια προσαρμόστε setLeft() και setTop() για ακριβή τοποθέτηση.

Ε: Η GroupDocs.Signature υποστηρίζει PDFs με κωδικό πρόσβασης;
Α: Ναι. Παρέχετε τον κωδικό όταν δημιουργείτε το αντικείμενο Signature: new Signature("file.pdf", "password").

Ε: Πώς μπορώ να επαληθεύσω ότι προστέθηκε σωστά ένα barcode;
Signature.search() αναζητά υπογραφές σε έγγραφο, επιστρέφοντας μια συλλογή αντικειμένων υπογραφής. Χρησιμοποιήστε Signature.search() με BarcodeSearchOptions. Τα αντικείμενα BarcodeSignature που επιστρέφονται περιέχουν τα κωδικοποιημένα δεδομένα και το περιεχόμενο εικόνας για επαλήθευση.

Ε: Ποιο είναι το ελάχιστο μέγεθος barcode για αξιόπιστη σάρωση;
Α: Στοχεύστε τουλάχιστον 108 pt × 108 pt (1.5 in × 1.5 in). Μεγαλύτερα μεγέθη βελτιώνουν την αναγνωσιμότητα, ειδικά σε εκτυπωτές χαμηλής ανάλυσης.

Ε: Μπορώ να υπογράψω πολλά PDFs ταυτόχρονα;
Α: Ναι. Δημιουργήστε μια ομάδα νημάτων (thread pool) και μια ξεχωριστή παρουσία Signature ανά νήμα· η βιβλιοθήκη είναι thread‑safe όταν κάθε νήμα εργάζεται σε δικό του έγγραφο.

Ε: Υπάρχει όριο στον αριθμό barcode που μπορώ να ενσωματώσω σε ένα PDF;
Α: Δεν υπάρχει σκληρό όριο, αλλά κάθε barcode προσθέτει περίπου 15 KB δεδομένων. Για PDFs μεγαλύτερα από 100 MB, σκεφτείτε παρτίδα επεξεργασία για διαχείριση μνήμης.

Ε: Η βιβλιοθήκη λειτουργεί σε μη‑Windows πλατφόρμες;
Α: Το GroupDocs.Signature for Java είναι ανεξάρτητο από πλατφόρμα και τρέχει σε οποιοδήποτε OS με συμβατό JRE, συμπεριλαμβανομένων Linux και macOS.

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

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