Stvaranje barkodova

Stvaranje barkodova

Stvaranje barkodova

Pipeline za generiranje barkodova u Aspose.BarCode FOSS for Python slijedi trostruku arhitekturu: parse → encode → render.- Svrha za provedbu programa:generate() i per-simbolijskim pomoćnicima) orkestrira ove faze kroz BarcodeService.


API za proizvodnju na visokom nivou

Najjednostavniji način za generiranje barkod je kroz per-simbološke pomoćne funkcije:

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")

Svaki pomoćnik vraća: Barcode -Pozovi. to_svg() za SVG izlaz ili to_png() za izlaz PNG-a.

Općenito, generate() Funkcija prihvaća znakovnu strugu:

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

U skladu s člankom 21. stavkom 1. točkom (a) Uredbe (EU) br. 1303/2013: "code128", "code39", "ean13", "ean8", "qr", "upca", "upce".


BarcodeService

BarcodeService koordinira tri faze cjevovoda. SymbologyRegistry i jedan 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")

U skladu s člankom 1. generate() metoda:

  1. Pogledajte gore. SymbologyDefinition iz registracije
  2. Zove se… InputParser.parse() za potvrđivanje i normalizaciju ulaza
  3. Zove se… SymbologyEncoder.encode() za proizvodnju EncodedSymbol
  4. Vrati a. Barcode U slučaju da je to moguće, odredi se:

SymbologyRegistry

SymbologyRegistry trgovine SymbologyDefinition objekte koji su označeni kanonskim imenima i aliasima:

MethodDescription
get_definition(name)Pronađite potpunu definiciju simbola.
get_parser(name)-Uzmi ga. InputParser za simboliku
get_encoder(name)-Uzmi ga. SymbologyEncoder za simboliku
get_profile(name)-Uzmi ga. SymbologyProfile s podrazumijevanjem:
get_text_policy(name)-Uzmi ga. TextLayoutPolicy za prikaz teksta
register(definition)Registrirajte novu. SymbologyDefinition

EncoderRegistry je povratno kompatibilan nadimak za: SymbologyRegistry.


SymbologyDefinition

A. - U redu je. SymbologyDefinition Sljedeći članakSvjetna komisija:

PropertyTypeDescription
namestrU slučaju da je to moguće, odredi se:
parserInputParserValidira i normalizira ulazne podatke
encoderSymbologyEncoderKodira podatke u matricu modula.
profileSymbologyProfilePripreme, mogućnosti i pravila u vezi s tekstom
aliasestuple[str, ...]Alternativna imena za pretraživanje

EncodedSymbol

U skladu s člankom 1. EncodedSymbol Snimka koja se vraća koderom sadrži:

  • matrix a ModuleMatrix s mrežom logičkog modula barkodova
  • metadata a SymbolMetadata s imenom simbola, prikazom teksta i detaljima kodiranja
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 pružaju: get(x, y) Metod koji vraća vrijednost modula na danom mjestu.


NormalizedPayload

U skladu s člankom 1. NormalizedPayload je srednja reprezentacija između analize i kodiranja:

PropertyDescription
symbologyZnak kanonske simbolike
dataUvodni podaci potvrđeni (str ili: bytes)
input_kindKako je ulaz bio klasificiran
code128_encode_modeU slučaju da je kod 128 riješen, način (ako postoji)
code39_encode_modeU slučaju da je kod 39 riješen, način (ako postoji)
qr_error_correction_levelU slučaju da je to moguće, provjerite sljedeće:
qr_versionU slučaju da je to moguće, provjerite sljedeće:
qr_encoding_modeU slučaju da je to moguće, provjerite sljedeće:

OptionsResolver

OptionsResolver Spojiti korisničke opcije renderiranja s podrazumevanim postavkama simbologije:

MethodDescription
resolve(profile, options)Izraditi ResolvedRenderOptions spajanjem korisničkih opcija s podrazumevanim postavkama profila
merge_options(earlier, later)Fusion dva RenderOptions (kasnije vrijednosti preuzimaju)
coerce_options(options)Normalizirati sirove opcije u: RenderOptions

Savjeti i najbolje prakse

  • Koristite pomoćnike za simboliku (code128(), qr(), itd.) umjesto generate() U slučaju da se u skladu s člankom 7. stavku 1. točka (a) ne primjenjuje, mora se provesti nadzor nad tim sustavom.
  • U skladu s člankom 1. Barcode.symbol imovina daje izravni pristup na EncodedSymbol za prilagođenu prikazu ili analizu.
  • BarcodeService je bez stanja jedna instanc može generirati barkodove preko više niti.
  • Catch BarcodeError U skladu s člankom 13. stavkom 1. točkom (a) i podstavkom 15. stavku 2., ako je potrebno.

Zajednički problemi

IssueCausePopraviti
SymbologyNotFoundErrorIme nije registrirano u: SymbologyRegistryProvjerite pravopis; koristite kanonika imena
InvalidInputErrorPodaci krše zahtjeve simbologijeProvjerite zahtjeve za skup znakova i dužinu
Prazan SVG izlazNema kodiranih modula.Provjeriti jesu li podaci prazni i valjani za simbologiju.

See Also

 Hrvatski