Γενιά Barcode

Γενιά Barcode

Γενιά Barcode

Το σωλήνα παραγωγής κωδικού γραμμής στο Aspose.BarCode FOSS για Python ακολουθεί μια αρχιτεκτονική τριών σταδίων: Κωδικός κώδικας, Render.Η ΑΕΠ ΠΕΡΙΟΔΟΣ (generate() και οι βοηθοί της συμβολαιολογίας) ορχήστραρουν αυτά τα στάδια μέσω BarcodeService.


Υψηλή γενιά API

Ο απλούστερος τρόπος για να δημιουργήσετε έναν κωδικό γραμμής είναι μέσω των λειτουργιών βοηθού per-symbology:

import aspose_barcode_foss as barcode

bc_128 = barcode.code128("ABC123")
bc_qr = barcode.qr("https://example.com")
bc_ean = barcode.ean13("590123412345")
bc_upca = barcode.upca("01234567890")

Κάθε βοηθός επιστρέφει σε ένα Barcode Σημείωση: Call to_svg() για την παραγωγή του ΣΕΒ ή to_png() για την παραγωγή του PNG.

Η γενική generate() Η λειτουργία αποδέχεται μια σήμανση του ονόματος της συμβολαιολογίας:

bc = barcode.generate("code128", "DATA")
svg = bc.to_svg()

Σημαντικές συμβολικές ονομασίες: "code128", "code39", "ean13", "ean8", "qr", "upca", "upce".


BarcodeService

BarcodeService συντονίζει τα τρία στάδια του σωλήνα. διατηρεί ένα SymbologyRegistry Και ένα OptionsResolver:

from aspose_barcode_foss import BarcodeService

# The default service is used by all helper functions
# You can create a custom service for testing or extension:
service = BarcodeService(registry=registry, options_resolver=resolver)
result = service.generate("code128", "DATA")

Η generate() Μέθοδος :

  1. Κοιτάξτε το SymbologyDefinition Από το μητρώο
  2. Καλέστε το InputParser.parse() Να επικυρώσει και να ομαλοποιήσει τις εισφορές
  3. Καλέστε το SymbologyEncoder.encode() Για να παράγει ένα EncodedSymbol
  4. Επιστροφή Α Barcode Η αναπαραγωγή του σύμβολο και του προφίλ του

SymbologyRegistry

SymbologyRegistry ΣΤΑΡΕΣ SymbologyDefinition αντικείμενα που έχουν κλειδιά με κανονικά ονόματα και συμμαχίες:

MethodDescription
get_definition(name)Επεκτάστε μια πλήρη ορισμό σύμβολο
get_parser(name)Πάρτε το InputParser Για μια συμβολική
get_encoder(name)Πάρτε το SymbologyEncoder Για μια συμβολική
get_profile(name)Πάρτε το SymbologyProfile Με παρατυπίες
get_text_policy(name)Πάρτε το TextLayoutPolicy Για το κείμενο της rendering
register(definition)Εγγραφή ενός νέου SymbologyDefinition

EncoderRegistry Είναι ένα αντίστοιχο αλληλεπίδραση για SymbologyRegistry.


SymbologyDefinition

Α SymbologyDefinition Συγκεντρώστε όλα τα συστατικά που χρειάζονται για να υποστηρίξουν μια συμβολική:

PropertyTypeDescription
namestrΚανονική Σύμβολο Αναγνώρισης
parserInputParserΕξυγίανση και ομαλοποίηση των δεδομένων εισόδου
encoderSymbologyEncoderΚρυπτογραφήστε τα δεδομένα σε ένα μοντέλο ματρίκας
profileSymbologyProfileΕλαττώματα, ικανότητες και πολιτική κειμένου
aliasestuple[str, ...]Εναλλακτικές ονομασίες για το lookup

EncodedSymbol

Η EncodedSymbol Το κώδικα που επιστρέφει ένας κωδικός περιέχει:

  • matrix - Α ModuleMatrix με το λογικό δίκτυο του κωδικού γραμμής
  • metadata - Α SymbolMetadata με το όνομα της συμβολικής, το κείμενο που εμφανίζεται και τα στοιχεία κωδικοποίησης
bc = barcode.code128("TEST")
symbol = bc.symbol

print(f"Matrix: {symbol.matrix.width}x{symbol.matrix.height}")
print(f"Display text: {symbol.metadata.display_text}")
print(f"Symbology: {symbol.metadata.symbology}")

ModuleMatrix Παρέχει α get(x, y) μέθοδος που επιστρέφει την τιμή του ενότητας σε μια δεδομένη θέση.


NormalizedPayload

Η NormalizedPayload Είναι η ενδιάμεση εκπροσώπηση μεταξύ του parsing και της κωδικοποίησης:

PropertyDescription
symbologyΚαναϊκή συμβολική ονομασία
dataΕισαγωγικά δεδομένα (str ή bytes)
input_kindΠώς κατατάσσεται η εισαγωγή
code128_encode_modeΔιακανονισμένο κώδικα 128 mode (εάν είναι απαραίτητο)
code39_encode_modeΕξέταση Κώδικα 39 λειτουργία (εάν είναι απαραίτητο)
qr_error_correction_levelΕξέταση του σφάλματος QR (εάν είναι απαραίτητο)
qr_versionΕπεξεργασμένη έκδοση QR (εάν είναι απαραίτητο)
qr_encoding_modeΕξέταση της κατάστασης κωδικοποίησης QR (εάν είναι απαραίτητο)

OptionsResolver

OptionsResolver συνδυάζουν τις επιλογές render που παρέχονται από τον χρήστη με προεπιλογή συμβολαιολογίας:

MethodDescription
resolve(profile, options)Παράγει α ResolvedRenderOptions Συνδυάζοντας επιλογές χρήστη με προφίλ παραγραφές
merge_options(earlier, later)Σύνδεση 2 RenderOptions (Περισσότερες αξίες υπερβαίνουν)
coerce_options(options)Εξέλιξη των πρώτων επιλογών σε RenderOptions

Συμβουλές και βέλτιστες πρακτικές

  • Η χρήση του αρθρογραφικού (code128(), qr(),και άλλα) αντί να generate() για την ασφάλεια τύπου - εξασφαλίζουν ότι χρησιμοποιείται η σωστή κατηγορία επιλογών.
  • Η Barcode.symbol Η ιδιοκτησία παρέχει άμεση πρόσβαση στην EncodedSymbol για την προσαρμοσμένη αναλύση ή ανάγνωση.
  • BarcodeService είναι ασταθής - μια περίπτωση μπορεί να παράγει κωδικούς γραμμής σε πολλαπλές αλυσίδες.
  • Catch BarcodeError ως βασική τάξη για να χειριστεί όλες τις εξαιρέσεις που σχετίζονται με τον κωδικό γραμμής σε ένα μόνο μπλοκ.

κοινά ζητήματα

IssueCauseΦΙΛΕΞΗ
SymbologyNotFoundErrorΌνομα που δεν έχει καταχωριστεί στο SymbologyRegistryΕλέγξτε το σπέρμα, χρησιμοποιήστε κανόνια
InvalidInputErrorΤα δεδομένα παραβιάζουν τις απαιτήσεις συμβολαιολογίαςΕλέγξτε το σύνολο χαρακτήρα και τις απαιτήσεις μήκους
Ελεύθερη παραγωγή SVGΔεν υπάρχουν κωδικοποιημένα μοντέλαΕλέγξτε τα δεδομένα είναι μη κενά και ισχύουν για τη συμβολική

See Also

 Ελληνικά