Cum să generați coduri de bare cu Aspose.BarCode FOSS
Problem
Generați coduri de bare 1D și 2D din șirurile de date folosind Aspose.BarCode FOSS pentru Python. Biblioteca oferă funcții ajutatoare per-simbologie (code128(), qr(), ean13(), etc.) şi un generic de medicamente. generate() funcție care acceptă un nume de simbol.
import aspose_barcode_foss as barcode
bc = barcode.code128("Hello World")
svg = bc.to_svg()Prerequisites
- Python 3.12 sau mai recentă
- manager de pachete pip
aspose-barcode-fossinstalată prin intermediul:pip install aspose-barcode-foss
Folosirea ajutoarelor per-simbolice
Fiecare simbolologie suportată are o funcție de ajutor dedicat care returnează un Barcode Obiectul. Ajutorul validează intrarea și selectează codificatorul corect automat.
1D barcodes
bc_128 = barcode.code128(“ABC-123”) bc_39 = barcode.code39(“HELLO”) bc_ean13 = barcode.ean13(“590123412345”) bc_ean8 = barcode.ean8(“1234567”) bc_upca = barcode.upca(“01234567890”) bc_upce = barcode.upce(“012345”)
2D barcode
bc_qr = barcode.qr(“https://example.com”)
## Folosirea funcției generatoare generice
În ceea ce priveşte `generate()` funcția acceptă un șir de nume simbol ca prim argument. Acest lucru este util atunci când simbolia este determinată la runtime.
bc = barcode.generate("code128", "Dynamic data")
svg = bc.to_svg()
# Also works with other symbology names
bc_qr = barcode.generate("qr", "https://example.com")
bc_ean = barcode.generate("ean13", "590123412345")<button class=“hextra-code-copy-btn hx-group/copybtn hx-transition-all active:hx-opacity-50 hx-bg-primary-700/5 hx-border hx-border-black/5 hx-text-gray-600 hover:hx-text-gray-900 hx-rounded-md hx-p-1.5 dark:hx-bg-primary-300/10 dark:hx-border-white/10 dark:hx-text-gray-400 dark:hover:hx-text-gray-50” title=“Copiază codul”
<div class="copy-icon group-[.copied]/copybtn:hx-hidden hx-pointer-events-none hx-h-4 hx-w-4"></div>
<div class="success-icon hx-hidden group-[.copied]/copybtn:hx-block hx-pointer-events-none hx-h-4 hx-w-4"></div>
Combinarea generației cu opțiunile de codificare
Treci un pas. encode parametru de control al opțiunilor specifice simbologiei în timpul generării.
import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel
bc = barcode.qr(
"https://example.com",
encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.Q),
)
svg = bc.to_svg()Citirea simbolului codificat
În ceea ce priveşte Barcode Obiectul expune o symbol proprietate de tip EncodedSymbol, care conţine: matrix (a) ModuleMatrix cu rețeaua de module) și metadata (a) SymbolMetadata cu numele de simbol, textul afișat și datele normalizate).
bc = barcode.code128(“Test”) symbol = bc.symbol
Access the module matrix
print(f"Width: {symbol.matrix.width}") print(f"Height: {symbol.matrix.height}")
Access symbol metadata
print(f"Symbology: {symbol.metadata.symbology}") print(f"Display text: {symbol.metadata.display_text}")
## Salvarea producţiei
După generarea unui `Barcode`, sună-mă . `to_svg()` pentru un șir SVG sau `to_png()` Scrie rezultatul într-un fişier.
bc = barcode.code128("SAVE-ME")
# Save as SVG
with open("barcode.svg", "w") as f:
f.write(bc.to_svg())
# Save as PNG
with open("barcode.png", "wb") as f:
f.write(bc.to_png())<button class=“hextra-code-copy-btn hx-group/copybtn hx-transition-all active:hx-opacity-50 hx-bg-primary-700/5 hx-border hx-border-black/5 hx-text-gray-600 hover:hx-text-gray-900 hx-rounded-md hx-p-1.5 dark:hx-bg-primary-300/10 dark:hx-border-white/10 dark:hx-text-gray-400 dark:hover:hx-text-gray-50” title=“Copiază codul”
<div class="copy-icon group-[.copied]/copybtn:hx-hidden hx-pointer-events-none hx-h-4 hx-w-4"></div>
<div class="success-icon hx-hidden group-[.copied]/copybtn:hx-block hx-pointer-events-none hx-h-4 hx-w-4"></div>
Simboluri susținute
| Symbology | Type | Funcţie de ajutor | Clasificarea opțiunilor |
|---|---|---|---|
| Codul 128 | 1D | code128() | Code128Options |
| Codul 39 | 1D | code39() | Code39Options |
| EAN-13 | 1D | ean13() | Ean13Options |
| EAN-8 | 1D | ean8() | Ean8Options |
| Cod QR | 2D | qr() | QrOptions |
| UPC-A | 1D | upca() | UpcaOptions |
| UPC-E | 1D | upce() | UpceOptions |