1. Продукти
  2.   Aspose.BarCode
  3.   Aspose.BarCode FOSS for Python

Aspose.BarCode FOSS for Python

Відкритий Python бібліотека для створення стандартних 1D та 2D штрих‑кодів. Ліцензовано під MIT, чистий Python, виводить у SVG та PNG.

Бібліотека Python з відкритим кодом для генерації штрих-кодів

Aspose.BarCode FOSS for Python — це безкоштовна, з відкритим вихідним кодом бібліотека для створення штрих‑кодів, що відповідають стандартам, у чистому Python. Встановіть її за допомогою pip install aspose-barcode-foss і почніть створювати штрих‑коди Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A та UPC-E. Кожен штрих‑код рендериться безпосередньо у SVG або PNG без нативних залежностей.

Бібліотека надає високорівневу функцію generate() та допоміжні засоби для кожної символьності, такі як barcode.code128(), barcode.qr() і barcode.ean13(). Кожний виклик повертає об’єкт Barcode з методами .to_svg() та .to_png() для негайного виводу. Параметри рендерингу, включаючи масштаб, DPI, розміри модуля, кольори, тиху зону та видимість тексту, що читається людиною, керуються через RenderOptions.

Оскільки бібліотека є чистим Python без нативних залежностей Office або обробки зображень, вона працює однаково на Windows, Linux та macOS, включаючи Docker‑контейнери та CI‑ранери. Кодова база має ліцензію MIT і розміщена на GitHub. Для корпоративних функцій та підтримки дивіться Aspose.BarCode for Python — Enterprise Product.

Породження штрих-кодів

  • Сім символьних систем: Code 128, Code 39, EAN-13, EAN-8, QR Code, UPC-A та UPC-E.
  • Високорівневий API: Викличте barcode.generate("code128", "data"), щоб створити будь-який підтримуваний штрих-код за назвою.
  • Спеціалізовані допоміжні засоби: Використовуйте barcode.code128(), barcode.qr(), barcode.ean13(), barcode.ean8(), barcode.upca() та barcode.upce() для типобезпечної генерації.
  • Параметри кодування: Керуйте режимом кодування, контрольними цифрами, рівнем корекції помилок та GS1 за допомогою Code128Options, Code39Options, QrOptions та класів параметрів, специфічних для символьної системи.
  • Автоматичні контрольні цифри: EAN-13, EAN-8, UPC-A та UPC-E обчислюють контрольні цифри автоматично з рядка даних.

Де Aspose.BarCode FOSS може бути використано

  • Тексика продукту: Виробити штрих-коди EAN-13 та UPC-A для роздрібної упаковки.
  • ** Управління запасом:** Створення етикетків з кодом 128 для складських та логістичних робочих процесів.
  • Кампанії з QR-кодом: Виробляти QR коди для маркетингових матеріалів, квитків на події та мобільних посилань.
  • Премісна та логістична: Створення коду 39 і кода 128 для етикеток відстеження перевезення.

Редюсінг та випуск

  • SVG output: Викличте barcode.to_svg(), щоб отримати SVG‑рядок, що відповідає стандартам.
  • PNG output: Викличте barcode.to_png(), щоб отримати байти PNG‑зображення.
  • RenderOptions: Керуйте scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family та font_size.
  • Human-readable text: Специфічні для симболіки реалізації TextLayoutPolicy обробляють розміщення тексту під кожним типом штрихкоду.
  • Renderer architecture: PngRenderer та SvgRenderer реалізують інтерфейс Renderer для розширюваного виводу.

Досвід розробника

Aspose.BarCode FOSS можна встановити за допомогою pip install aspose-barcode-foss. Немає нативних бібліотек або системних пакетів для встановлення. Бібліотека вимагає Python 3.12 або новішу.

API побудовано навколо Barcode, EncodeOptions, RenderOptions та SymbologyRegistry, охоплюючи повний конвеєр від генерації до рендерингу. Кожна символіка визначається SymbologyDefinition, який об’єднує парсер, енкодер, профіль та політику розташування тексту. Кодова база має ліцензію MIT, розміщена на GitHub, і приймає внески.

Конфігурація символіки

  • Код 128 режими: Виберіть AUTO, CODE_A , CODE_B, CODE_C або змішані режимі через Code128EncodeMode.
  • Код 39 режими: Виберіть BASE або FULL_ASCII кодування з додатковою відбіркою цифр через Code39Options.
  • QR опції: Назначити error_correction_level (L, M, Q, H), version, mask і encoding_mode [AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI] через { QrOptions ].
  • Реєстраційна система: SymbologyRegistry зберігає всі визначення та розчиняє символіки за канонічним іменем або псевдонім.
  • Профільні метадані: Кожна символіка SymbologyProfile надає умовні параметри, можливості, спаміні специфікації та відомі обмеження.

Виконання помилок

  • Типізовані виключення: BarcodeError є базовим, з EncodingError, RenderingError, InvalidInputError, SymbologyNotFoundError, UnsupportedFeatureError та UnsupportedCapabilityError.
  • Перевірка вводу: Кожен InputParser перевіряє дані перед кодуванням, виявляючи недопустимі символи та порушення формату на ранньому етапі.
  • Перевірка можливостей: Непідтримувані функції (наприклад, двійковий ввід для Code 39) викликають UnsupportedCapabilityError з описовим повідомленням.

Створення штрих-коду 128

Створити штрих-код код 128 з функцією generate() високого рівня і віднести його до SVG.

import aspose_barcode_foss as barcode
bc = barcode.generate("code128", "Hello World")
svg_string = bc.to_svg()
print(svg_string[:80])

Створення QR-коду з індивідуальними опціями

Створювати QR-код з специфічним виправленням помилок і відтворення на PNG байти.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel
bc = barcode.qr("https://example.com", options=QrOptions(
    error_correction_level=QrErrorCorrectionLevel.H
))
png_bytes = bc.to_png()
with open("qr.png", "wb") as f:
    f.write(png_bytes)

Видання з індивідуальним видом

Використовуйте RenderOptions для управління масштабом, кольорами та тихою зоною будь-якого штрих-кода.

import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.ean13("590123412345")
svg = bc.to_svg(options=RenderOptions(
    scale=2.0,
    foreground_color="#003366",
    quiet_zone=10.0,
    show_text=True
))

Часті Питання

Яку ліцензію використовує Aspose.BarCode FOSS для Python?

Бібліотека випускається за ліцензією MIT. Ви можете використовувати, модифікувати та перерозподіляти її як в відкритих кодових, так і комерційних проектах без роялті.

Які символіки штрих-коду підтримуються?

Бібліотека підтримує сім символіки Код 128, Коду 39, EAN-13, EAn-8, QR Code, UPC-A та U PC-E.

Які формати виходу доступні?

Баркоди передаються в SVG через to_svg() і PNG черезto_png(). Метод to_pdf() існує у API, але викликає NotImplementedError в поточному випуску.

Як встановити Aspose.BarCode FOSS для Python?

Запустити pip install aspose-barcode-foss. Бібліотека вимагає Python 3.12 або більш пізнього версії. Це чистої Python без наційованих залежностей.

Чи можу я керувати візуальним видом штрих-коду?

Да. Передайте об’єкт RenderOptions на to_svg() або to_png() для управління масштабом, DPI, розмірами модуля, кольорами, тихою зоною та читаним людьми текстом.

Які версії Python підтримуються?

Aspose.BarCode FOSS вимагає Python 3.12 або більш пізнього версії. Це чистої Python без наційних залежностей чи розширення C.

Чи можу я генерувати штрих-коди в баці?

Так. Створіть окрему інстанцію BarcodeService і подзвоните generate() в циклі для кожного значення даних. Кожний дзвінок повертає об’єкт Barcode, який ви передаєте незалежно з to_svg() або to_png().

Як налаштувати опції кодування за символікою?

Передати символогічно-специфічний об’єкт опцій (наприклад, Code128Options,QrOptions , Ean13Options) як параметр encode на BarcodeService.generate(). Кожен клас опції викриває властивості, специфічні для цієї симвології, наприклад encode_mode для коду 128 або error_correction_level - для QR-кода.

  

Ресурси Підтримки та Навчання

 Українська