Γενιά 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() Μέθοδος :
- Κοιτάξτε το
SymbologyDefinitionΑπό το μητρώο - Καλέστε το
InputParser.parse()Να επικυρώσει και να ομαλοποιήσει τις εισφορές - Καλέστε το
SymbologyEncoder.encode()Για να παράγει έναEncodedSymbol - Επιστροφή Α
BarcodeΗ αναπαραγωγή του σύμβολο και του προφίλ του
SymbologyRegistry
SymbologyRegistry ΣΤΑΡΕΣ SymbologyDefinition αντικείμενα που έχουν κλειδιά με κανονικά ονόματα και συμμαχίες:
| Method | Description |
|---|---|
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 Συγκεντρώστε όλα τα συστατικά που χρειάζονται για να υποστηρίξουν μια συμβολική:
| Property | Type | Description |
|---|---|---|
name | str | Κανονική Σύμβολο Αναγνώρισης |
parser | InputParser | Εξυγίανση και ομαλοποίηση των δεδομένων εισόδου |
encoder | SymbologyEncoder | Κρυπτογραφήστε τα δεδομένα σε ένα μοντέλο ματρίκας |
profile | SymbologyProfile | Ελαττώματα, ικανότητες και πολιτική κειμένου |
aliases | tuple[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 και της κωδικοποίησης:
| Property | Description |
|---|---|
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 που παρέχονται από τον χρήστη με προεπιλογή συμβολαιολογίας:
| Method | Description |
|---|---|
resolve(profile, options) | Παράγει α ResolvedRenderOptions Συνδυάζοντας επιλογές χρήστη με προφίλ παραγραφές |
merge_options(earlier, later) | Σύνδεση 2 RenderOptions (Περισσότερες αξίες υπερβαίνουν) |
coerce_options(options) | Εξέλιξη των πρώτων επιλογών σε RenderOptions |
Συμβουλές και βέλτιστες πρακτικές
- Η χρήση του αρθρογραφικού (
code128(),qr(),και άλλα) αντί ναgenerate()για την ασφάλεια τύπου - εξασφαλίζουν ότι χρησιμοποιείται η σωστή κατηγορία επιλογών. - Η
Barcode.symbolΗ ιδιοκτησία παρέχει άμεση πρόσβαση στηνEncodedSymbolγια την προσαρμοσμένη αναλύση ή ανάγνωση. BarcodeServiceείναι ασταθής - μια περίπτωση μπορεί να παράγει κωδικούς γραμμής σε πολλαπλές αλυσίδες.- Catch
BarcodeErrorως βασική τάξη για να χειριστεί όλες τις εξαιρέσεις που σχετίζονται με τον κωδικό γραμμής σε ένα μόνο μπλοκ.
κοινά ζητήματα
| Issue | Cause | ΦΙΛΕΞΗ |
|---|---|---|
SymbologyNotFoundError | Όνομα που δεν έχει καταχωριστεί στο SymbologyRegistry | Ελέγξτε το σπέρμα, χρησιμοποιήστε κανόνια |
InvalidInputError | Τα δεδομένα παραβιάζουν τις απαιτήσεις συμβολαιολογίας | Ελέγξτε το σύνολο χαρακτήρα και τις απαιτήσεις μήκους |
| Ελεύθερη παραγωγή SVG | Δεν υπάρχουν κωδικοποιημένα μοντέλα | Ελέγξτε τα δεδομένα είναι μη κενά και ισχύουν για τη συμβολική |