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() 方法,可直接输出。通过 RenderOptions 控制渲染选项,包括比例、DPI、模块尺寸、颜色、安静区以及可读文本的可见性。

由于该库是纯 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() 进行类型安全的生成。
  • 编码选项: 通过 Code128OptionsCode39OptionsQrOptions 以及特定符号系统的选项类,控制编码模式、校验位、错误纠正级别和 GS1。
  • 自动校验位: EAN-13、EAN-8、UPC-A 和 UPC-E 可根据数据字符串自动计算校验位。

在哪里可以使用Aspose.BarCode FOSS?

  • 产品标签: 零售包装生成EAN-13和UPC-A条形码.
  • **库存管理:**为仓储和物流工作流程创建128代码标签.
  • 创建QR代码,以提供营销材料,活动门票和移动链接.
  • 运输和物流: 生成代码39和代号128的条形符号,用于发货跟踪标签.

制作和输出

  • SVG 输出: 调用 barcode.to_svg() 以获取符合标准的 SVG 字符串。
  • PNG 输出: 调用 barcode.to_png() 以获取 PNG 图像字节。
  • RenderOptions: 控制 scaledpimodule_widthmodule_heightquiet_zoneforeground_colorbackground_colortransparent_backgroundshow_textfont_familyfont_size
  • 可读文本: 特定符号系统的 TextLayoutPolicy 实现处理每种条码类型下方的文本放置。
  • 渲染器架构: PngRendererSvgRenderer 实现了 Renderer 接口,以实现可扩展的输出。

开发者经验

Aspose.BarCode FOSS 可通过 pip install aspose-barcode-foss 安装。无需安装本地库或系统软件包。该库需要 Python 3.12 或更高版本。

该 API 基于 BarcodeEncodeOptionsRenderOptionsSymbologyRegistry 构建,覆盖完整的生成到渲染管道。每种符号系统由一个 SymbologyDefinition 定义,该 SymbologyDefinition 捆绑了解析器、编码器、配置文件和文本布局策略。代码库采用 MIT 许可证,托管在 GitHub 上,并接受贡献。

符号结构配置

  • 代码128模式: 选择AUTO, CODE_A , CODE_BCODE_C 或通过Code128EncodeMode混合设置模式.
  • ** 代码39模式:**选择BASEFULL_ASCII通过 Code39Options 加一个可选的检查数字.
  • 按下一个选项:**通过 QrOptions设置error_correction_level (L,M,Q,H),version,maskencoding_mode (AUTO,NUMERIC,ALPHANUME RICK,BYTE, KANJI) 的位置.
  • 注册系统: SymbologyRegistry 存储所有定义并根据规范名称或称解决符号.
  • ** 配置文件元数据:** 每个符号的SymbologyProfile提供默认,功能,规范引用和已知限制.

错误处理

  • Typed exceptions: BarcodeError 是基类,包含 EncodingErrorRenderingErrorInvalidInputErrorSymbologyNotFoundErrorUnsupportedFeatureErrorUnsupportedCapabilityError
  • Input validation: 每个 InputParser 在编码前验证数据,提前捕获无效字符和格式违规。
  • Capability checks: 不支持的特性(例如 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 for Python 使用什么许可证?

该库是根据MIT许可证发布的.您可以在开源和商业项目中使用,修改并重新分发它,无需收费.

支持哪些条码符号?

图书馆支持七种符号:码128,码39,EAN-13,EAN-8,QR码,UPC-A和U PC-E.

有哪些输出格式?

条形码通过 to_svg() 渲染为 SVG,并通过 to_png() 渲染为 PNG。to_pdf() 方法存在于 API 中,但在当前发布中会引发 NotImplementedError。

如何为 Python 安装 Aspose.BarCode FOSS?

运行 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() 独立渲染它。

如何配置符号编码选项?

将特定符号系统的选项对象(例如 Code128OptionsQrOptionsEan13Options)作为 encode 参数传递给 BarcodeService.generate()。每个选项类都公开针对该符号系统的特定属性,例如用于 Code 128 的 encode_mode 或用于 QR Code 的 error_correction_level

  

支持和学习资源

 中文