Comment générer des codes bar avec Aspose.BarCode FOSS
Problem
Gérer des codes de barre 1D et 2D à partir de filets de données en utilisant Aspose.BarCode FOSS pour Python. la bibliothèque fournit les fonctions d’aide par symbologie (code128(), qr(), ean13(),et ainsi de suite) et un générique generate() Une fonction qui accepte une string de nom symbologique.
import aspose_barcode_foss as barcode
bc = barcode.code128("Hello World")
svg = bc.to_svg()Prerequisites
- Python 3.12 ou plus tard
- gestionnaire de paquets pip
aspose-barcode-fossInstallé parpip install aspose-barcode-foss
Utiliser des assistants de symbologie
Chaque symbologie soutenue a une fonction d’aide dédiée qui rend un Barcode l’aide validera la entrée et sélectionne automatiquement le bon encoder.
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”)
## Utiliser la fonction générique
Le `generate()` La fonction accepte une rame de nom symbologique comme son premier argument.C'est utile lorsque la symbolologie est déterminée à temps réel.
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=“Copy code”
<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>
Combiner la génération avec les options de code
Passez un encode paramètre pour contrôler les options symbologiques spécifiques pendant la génération.
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()Lire le symbole encodé
Le Barcode L’objet expose une symbol Propriété de type EncodedSymbol,qui contient le matrix (A) à ModuleMatrix avec le module grille) et metadata (A) à SymbolMetadata avec le nom symbologique, le texte affiché et les données normalisées).
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}")
## Économiser la production
Après avoir créé un `Barcode`,et appeler `to_svg()` pour un SVG string ou `to_png()` Pour les bytes PNG. Écrivez le résultat dans un fichier.
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=“Copy code”
<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>
Symbologies soutenues
| Symbology | Type | Aide à la fonction | Options de classe |
|---|---|---|---|
| Code de 128 | 1D | code128() | Code128Options |
| Code 39 | 1D | code39() | Code39Options |
| EAN-13 | 1D | ean13() | Ean13Options |
| EAN-8 | 1D | ean8() | Ean8Options |
| Code QR | 2D | qr() | QrOptions |
| UPC-A | 1D | upca() | UpcaOptions |
| UPC-E | 1D | upce() | UpceOptions |