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:
- Felé nézi a…
SymbologyDefinitiona nyilvántartásból. - A “C” -t hívja.
InputParser.parse()a bemeneti adatok érvényesítése és normalizálása; - A “C” -t hívja.
SymbologyEncoder.encode()a termeléshez szükségesEncodedSymbol - A: a-t adja vissza.
Barcodea jelkép és annak profilja csomagolása.
SymbologyRegistry
SymbologyRegistry Értékesítők SymbologyDefinition a kanonikus névekkel és álnevekkel feltüntetett objektumok:
| Method | Description |
|---|---|
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:
| Property | Type | Description |
|---|---|---|
name | str | Kánonikus szimbólum-azonosító |
parser | InputParser | Befolyásos adatok érvényesítése és normalizálása |
encoder | SymbologyEncoder | Adat kódol egy modulmatrixba |
profile | SymbologyProfile | Előzetesen megadott funkciók, képességek és szövegpolitika |
aliases | tuple[str, ...] | Alternatív név a kereséshez |
EncodedSymbol
A Bizottság EncodedSymbol a kódolóval visszaadott:
matrixaModuleMatrixa vonalkód logikai modul-hálózatával,metadataaSymbolMetadataszimbó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:
| Property | Description |
|---|---|
symbology | Kánonikus szimbólumnév |
data | A validált bemeneti adatok (str vagy a következő: bytes) |
input_kind | A bemeneti adatok osztályozásának módja |
code128_encode_mode | Megoldott kód 128-as mód (ha van) |
code39_encode_mode | Megoldott kód 39-as mód (ha van) |
qr_error_correction_level | Megoldott QR-hibás korrekció (ha van) |
qr_version | Megoldott QR-verzió (ha van) |
qr_encoding_mode | Megoldott 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:
| Method | Description |
|---|---|
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 agenerate()a típusbiztonság biztosítja, hogy a megfelelő opciókat használják. - A Bizottság
Barcode.symbolAz ingatlan közvetlen hozzáférést biztosít aEncodedSymbola testre szabott megjelenítéshez vagy elemzéshez. BarcodeServiceaz állammentes egy példány több szálakódot is generálhat.- Catch
BarcodeErroraz összes vonalkódsal kapcsolatos kivétel kezelésére szolgáló alaposztály egy blokkban.
Általános kérdések
| Issue | Cause | Megjavítani. |
|---|---|---|
SymbologyNotFoundError | Nem regisztrált név: SymbologyRegistry | Ellenőrizze a helyesírást; használjon kánonikus neveket. |
InvalidInputError | Az adatok sértik a szimbólógiai követelményeket. | Ellenőrizze a karakterkészlet és hosszuk követelményeit |
| Üres SVG kimeneti kép | Nincs kódolt modul. | Ellenőrizze, hogy az adatok nem üresek és érvényesek a szimbólómia vonatkozásában. |