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:
- Pogledajte gore.
SymbologyDefinitioniz registracije - Zove se…
InputParser.parse()za potvrđivanje i normalizaciju ulaza - Zove se…
SymbologyEncoder.encode()za proizvodnjuEncodedSymbol - Vrati a.
BarcodeU slučaju da je to moguće, odredi se:
SymbologyRegistry
SymbologyRegistry trgovine SymbologyDefinition objekte koji su označeni kanonskim imenima i aliasima:
| Method | Description |
|---|---|
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:
| Property | Type | Description |
|---|---|---|
name | str | U slučaju da je to moguće, odredi se: |
parser | InputParser | Validira i normalizira ulazne podatke |
encoder | SymbologyEncoder | Kodira podatke u matricu modula. |
profile | SymbologyProfile | Pripreme, mogućnosti i pravila u vezi s tekstom |
aliases | tuple[str, ...] | Alternativna imena za pretraživanje |
EncodedSymbol
U skladu s člankom 1. EncodedSymbol Snimka koja se vraća koderom sadrži:
matrixaModuleMatrixs mrežom logičkog modula barkodovametadataaSymbolMetadatas 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:
| Property | Description |
|---|---|
symbology | Znak kanonske simbolike |
data | Uvodni podaci potvrđeni (str ili: bytes) |
input_kind | Kako je ulaz bio klasificiran |
code128_encode_mode | U slučaju da je kod 128 riješen, način (ako postoji) |
code39_encode_mode | U slučaju da je kod 39 riješen, način (ako postoji) |
qr_error_correction_level | U slučaju da je to moguće, provjerite sljedeće: |
qr_version | U slučaju da je to moguće, provjerite sljedeće: |
qr_encoding_mode | U slučaju da je to moguće, provjerite sljedeće: |
OptionsResolver
OptionsResolver Spojiti korisničke opcije renderiranja s podrazumevanim postavkama simbologije:
| Method | Description |
|---|---|
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.) umjestogenerate()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.symbolimovina daje izravni pristup naEncodedSymbolza prilagođenu prikazu ili analizu. BarcodeServiceje bez stanja jedna instanc može generirati barkodove preko više niti.- Catch
BarcodeErrorU skladu s člankom 13. stavkom 1. točkom (a) i podstavkom 15. stavku 2., ako je potrebno.
Zajednički problemi
| Issue | Cause | Popraviti |
|---|---|---|
SymbologyNotFoundError | Ime nije registrirano u: SymbologyRegistry | Provjerite pravopis; koristite kanonika imena |
InvalidInputError | Podaci krše zahtjeve simbologije | Provjerite zahtjeve za skup znakova i dužinu |
| Prazan SVG izlaz | Nema kodiranih modula. | Provjeriti jesu li podaci prazni i valjani za simbologiju. |