Introduction
Освобождаваме… Aspose.BarCode FOSS for Python, чиста библиотека на Python за генериране на стандартно-съвместими 1D и 2D баркодове. Библиотеката е публикувана в PyPI като aspose-barcode-foss, носи лиценз на MIT и няма външни зависимости.
Библиотеката поддържа седем символи: Код 128, Кода 39, EAN-13, E AN-8, QR Code, UPC-A и U PC-E. Всеки баркод прави директно SVG или PNG. Няма местни разширения, няма системни пакети за инсталиране и не са необходими графични драйвери pip install aspose-barcode-foss е пълната настройка за Windows, Linux и macOS.
Ключови характеристики
API за генериране на високо ниво
Най-високо ниво. generate() функция приема символична име и данни нишка, връщащ a Barcode Предмет. Посветен на помощници по символика code128(), code39(), ean13(), ean8(), qr(), upca(), и upce() осигуряване на безопасни за всеки формат точки за вписване.
import aspose_barcode_foss as barcode
bc = barcode.generate("code128", "ABC123")
svg = bc.to_svg()
Опции за кодиране, специфични за символиката
Всяка симвология приема клас опции, който контролира кодиращото поведение. Code128Options предвижда: encode_mode (AUTO, CODE_A, CODE_B, CODE_C, CODE_AB, CODE_AC, CODE_BC). Code39Options Поддържа режимите BASE и FULL_ASCII. QrOptions експозиции error_correction_level (L, M, Q, H), version, mask, и encoding_mode (AUTO, NUMERIC, ALPHANUMERIC, BYTE, KANJI).
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.H),
)
png_bytes = bc.to_png()
Контроли за изобразяване
RenderOptions контролира визуалния изход: scale, dpi, module_width, module_height, quiet_zone, foreground_color, background_color, transparent_background, show_text, font_family, и font_size.И двете. to_svg() и в) to_png() приемане на необязателно 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,
))
Автоматични цифри за проверка
EAN-13, EANS-8, UPC-A и UPSC-E изчисляват проверка цифри автоматично от веригата данни. Вие доставяте само полезните цифри; библиотеката прикрепя правилната проверки цифр по време на кодиране.
Входяща валидация
Всяка символика има специална. InputParser Невалидни знаци, неправилни дължини и нарушения на формата се откриват рано с въвежданите изключения: InvalidInputError, EncodingError, SymbologyNotFoundError, и UnsupportedCapabilityError всички наследяващи от BarcodeError.
Бързо стартиране
pip install aspose-barcode-foss
Създаване на код 128 и записването на SVG в файл:
import aspose_barcode_foss as barcode
from aspose_barcode_foss import RenderOptions
bc = barcode.code128("Hello World")
svg = bc.to_svg(options=RenderOptions(show_text=True))
with open("barcode.svg", "w") as f:
f.write(svg)
Създаване на QR код и го запазване като PNG:
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.H),
)
with open("qr.png", "wb") as f:
f.write(bc.to_png())
Библиотеката изисква Python 3.12 или по-нови.
Подкрепени формати
| Symbology | Type | Проверка за цифра | Класа опции |
|---|---|---|---|
| Код 128 | 1D | Вградено в системата | Code128Options |
| Код 39 | 1D | Optional | Code39Options |
| EAN-13 | 1D | Automatic | Ean13Options |
| EAN-8 | 1D | Automatic | Ean8Options |
| QR код | 2D | Вградено в системата | QrOptions |
| UPC-A | 1D | Automatic | UpcaOptions |
| UPC-E | 1D | Automatic | UpceOptions |
Формати на изход:
| Format | Extension | Export |
|---|---|---|
| SVG | .svg | ✓ |
| PNG | .png | ✓ |
Отворени източници и лицензиране
Библиотеката е с лиценз на MIT. Можете да я използвате в търговски приложения, да го модифицирате и разпространявате без ограничения. Източникът е достъпен на: http://www.microsoft-com/en/usrcdpg_syspheres.html GitHub.Няма нива на използване, няма ограничения и няма телеметрия.