Barkód generáció

Barkód generáció

Barkód generáció

A Python-ban található Aspose.BarCode FOSS sorrendben a vonalkódok háromfázisú építészetet követnek: parse → encode → render.A magas szintű API (generate() és szimbólum-segítői) ezeket a szakaszt rendezi az átjáró BarcodeService.


Magas szintű API generáció

A legegyszerűbb módja, hogy generáljon egy vonalkódot a per-szimbológia segédfunkciók révén:

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

Minden segéd visszaad egy Barcode - Hívj fel. to_svg() SVG kimenetelre, vagy to_png() PNG kimenetelre.

A generikus generate() A funkció elfogadja a szimbólógiai névszöveget:

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

Helyes szimbólumnév: "code128", "code39", "ean13", "ean8", "qr", "upca", "upce".


BarcodeService

BarcodeService A három csővezeték szakaszának koordinációja. SymbologyRegistry és egy 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")

A Bizottság generate() módszer:

  1. Felé nézi a… SymbologyDefinition a nyilvántartásból.
  2. A “C” -t hívja. InputParser.parse() a bemeneti adatok érvényesítése és normalizálása;
  3. A “C” -t hívja. SymbologyEncoder.encode() a termeléshez szükséges EncodedSymbol
  4. A: a-t adja vissza. Barcode a jelkép és annak profilja csomagolása.

SymbologyRegistry

SymbologyRegistry Értékesítők SymbologyDefinition a kanonikus névekkel és álnevekkel feltüntetett objektumok:

MethodDescription
get_definition(name)A teljes szimbólógiai definíció keresése
get_parser(name)Hozd a… InputParser szimbólómia esetében
get_encoder(name)Hozd a… SymbologyEncoder szimbólómia esetében
get_profile(name)Hozd a… SymbologyProfile az alapértelmezett számok szerint
get_text_policy(name)Hozd a… TextLayoutPolicy szövegmegjelenítéshez
register(definition)Regisztráljon egy új számot. SymbologyDefinition

EncoderRegistry az alábbiakhoz való visszafelé kompatibilis álnév: SymbologyRegistry.


SymbologyDefinition

A. Az alábbiak: SymbologyDefinition az egyetlen szimbólógia támogatásához szükséges összes komponens összefoglalása:

PropertyTypeDescription
namestrKánonikus szimbólum-azonosító
parserInputParserBefolyásos adatok érvényesítése és normalizálása
encoderSymbologyEncoderAdat kódol egy modulmatrixba
profileSymbologyProfileElőzetesen megadott funkciók, képességek és szövegpolitika
aliasestuple[str, ...]Alternatív név a kereséshez

EncodedSymbol

A Bizottság EncodedSymbol a kódolóval visszaadott:

  • matrix a ModuleMatrix a vonalkód logikai modul-hálózatával,
  • metadata a SymbolMetadata szimbólumnév, megjelenítő szöveg és kódolási részletek.
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 a) az alábbiak: get(x, y) olyan módszer, amely a modul értéket egy adott helyzetben adja vissza.


NormalizedPayload

A Bizottság NormalizedPayload a szétválasztás és kódolás közötti közbenső képzés:

PropertyDescription
symbologyKánonikus szimbólumnév
dataA validált bemeneti adatok (str vagy a következő: bytes)
input_kindA bemeneti adatok osztályozásának módja
code128_encode_modeMegoldott kód 128-as mód (ha van)
code39_encode_modeMegoldott kód 39-as mód (ha van)
qr_error_correction_levelMegoldott QR-hibás korrekció (ha van)
qr_versionMegoldott QR-verzió (ha van)
qr_encoding_modeMegoldott QR kódolási mód (ha van)

OptionsResolver

OptionsResolver a felhasználó által megadott render opciókat egyesíti az alapértelmezett szimbólómával:

MethodDescription
resolve(profile, options)A következőt adja: ResolvedRenderOptions felhasználói beállítások és profil alapértelmezett formák egyesítése révén.
merge_options(earlier, later)Kettő egyesülése. RenderOptions (a későbbi értékek felülírhatók)
coerce_options(options)A nyers opciók normalizálása a következőkbe: RenderOptions

Tippek és legjobb gyakorlatok

  • Használjon szimbólum-egyenlő segédeket (code128(), qr(), stb.) helyett a generate() a típusbiztonság biztosítja, hogy a megfelelő opciókat használják.
  • A Bizottság Barcode.symbol Az ingatlan közvetlen hozzáférést biztosít a EncodedSymbol a testre szabott megjelenítéshez vagy elemzéshez.
  • BarcodeService az állammentes egy példány több szálakódot is generálhat.
  • Catch BarcodeError az összes vonalkódsal kapcsolatos kivétel kezelésére szolgáló alaposztály egy blokkban.

Általános kérdések

IssueCauseMegjavítani.
SymbologyNotFoundErrorNem regisztrált név: SymbologyRegistryEllenőrizze a helyesírást; használjon kánonikus neveket.
InvalidInputErrorAz adatok sértik a szimbólógiai követelményeket.Ellenőrizze a karakterkészlet és hosszuk követelményeit
Üres SVG kimeneti képNincs kódolt modul.Ellenőrizze, hogy az adatok nem üresek és érvényesek a szimbólómia vonatkozásában.

See Also

 Magyar