Przypadki użycia generowania kodów kreskowych
Aspose.BarCode FOSS for Python obsługuje siedem symboli: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A i UPC-E. Ten artykuł przedstawia praktyczne scenariusze dla każdego.
Zarządzanie zapasami
Code 128 jest powszechnym wyborem dla etykiet inwentaryzacyjnych, ponieważ koduje dane alfanumeryczne, w tym znaki specjalne. Każdy przedmiot otrzymuje unikalny identyfikator wydrukowany na etykiecie.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
# Generate a Code 128 barcode for an inventory SKU
barcode = service.generate("code128", "SKU-2026-A1234")
svg_content = barcode.to_svg(RenderOptions(scale=2.0, show_text=True))
with open("inventory_label.svg", "w") as f:
f.write(svg_content)Etykiety wysyłkowe
Code 128 i Code 39 są szeroko stosowane w wysyłce i logistyce. Code 39 jest prostszy (wielkie litery, cyfry i kilka symboli) i jest używany w starszych systemach. Code 128 obsługuje szerszy zestaw znaków.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
# Code 39 for a tracking number
barcode = service.generate("code39", "SHIP2026071234")
png_bytes = barcode.to_png(RenderOptions(dpi=300, show_text=True))
with open("shipping_label.png", "wb") as f:
f.write(png_bytes)Sprzedaż detaliczna – punkt sprzedaży
EAN-13 i UPC-A są standardowymi symbolami dla produktów detalicznych. EAN-13 jest używany międzynarodowo; UPC-A jest 12-cyfrową wariantą północnoamerykańską.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
# EAN-13 for a product barcode (12 digits; check digit auto-computed)
barcode = service.generate("ean13", "590123412345")
svg_content = barcode.to_svg(RenderOptions(scale=3.0, show_text=True))
# UPC-A for a North American product
barcode_upc = service.generate("upca", "01234567890")
svg_upc = barcode_upc.to_svg(RenderOptions(scale=3.0, show_text=True))Śledzenie dokumentów
Code 128 działa dobrze w systemach śledzenia dokumentów, w których każdy dokument otrzymuje unikalny identyfikator alfanumeryczny.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
# Generate barcodes for a batch of documents
doc_ids = ["DOC-2026-001", "DOC-2026-002", "DOC-2026-003"]
for doc_id in doc_ids:
barcode = service.generate("code128", doc_id)
svg = barcode.to_svg(RenderOptions(scale=1.5, show_text=True))
filename = f"{doc_id.lower().replace('-', '_')}.svg"
with open(filename, "w") as f:
f.write(svg)Kodowanie URL i danych kontaktowych przy użyciu kodów QR
QR Code koduje dowolne dane tekstowe, w tym URL, informacje kontaktowe oraz dane uwierzytelniające Wi-Fi.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
# QR Code for a URL
barcode = service.generate("qrcode", "https://products.aspose.org/barcode/")
png_bytes = barcode.to_png(RenderOptions(scale=4.0))
with open("url_qrcode.png", "wb") as f:
f.write(png_bytes)Etykiety małych przedmiotów z EAN-8 i UPC-E
EAN-8 i UPC-E są kompaktowymi symbolami dla przedmiotów, gdzie miejsce jest ograniczone. EAN-8 używa 7 lub 8 cyfr; UPC-E jest skompresowaną wersją UPC-A.
from aspose_barcode_foss import BarcodeService, RenderOptions
service = BarcodeService()
# EAN-8 for a small product (7 digits; check digit auto-computed)
barcode = service.generate("ean8", "1234567")
svg = barcode.to_svg(RenderOptions(scale=2.0, show_text=True))Najczęściej zadawane pytania
Jaką symbolikę powinienem wybrać?
- Dane alfanumeryczne (dowolne znaki): Code 128
- Tylko wielkie litery, starsze systemy: Code 39
- Produkty detaliczne (międzynarodowe): EAN-13 lub EAN-8
- Produkty detaliczne (Ameryka Północna): UPC-A lub UPC-E
- Adresy URL, tekst, dane binarne: QR Code
Czy mogę generować kody kreskowe wsadowo?
Tak. Utwórz jednorazowo instancję BarcodeService i wywołuj generate() w pętli. Każde wywołanie zwraca obiekt Barcode, który możesz renderować niezależnie za pomocą to_svg() lub to_png().
Jakie formaty wyjściowe są dostępne?
Biblioteka renderuje do SVG za pomocą to_svg() i PNG za pomocą to_png(). Renderowanie PDF nie zostało jeszcze zaimplementowane.