Comment générer des codes bar avec Aspose.BarCode FOSS

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-foss Installé par pip 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

SymbologyTypeAide à la fonctionOptions de classe
Code de 1281Dcode128()Code128Options
Code 391Dcode39()Code39Options
EAN-131Dean13()Ean13Options
EAN-81Dean8()Ean8Options
Code QR2Dqr()QrOptions
UPC-A1Dupca()UpcaOptions
UPC-E1Dupce()UpceOptions

See Also

 Français