常见问题

许可与开源

什么许可证适用于 Aspose.BarCode FOSS for Python?

Aspose.BarCode FOSS for Python 在 MIT 许可证下发布。完整的许可证文本包含在随软件包分发的 LICENSE 文件中。您可以自由地在开源和专有项目中使用、修改和重新分发该库。

我可以在商业产品中使用 Aspose.BarCode FOSS 吗?

是的。MIT 许可证允许商业使用,且无需支付版税或除包含原始许可证声明之外的署名要求。您无需将您的应用程序开源。


安装与要求

我该如何安装 Aspose.BarCode FOSS for Python?

使用以下命令进行安装:

git clone https://github.com/aspose-barcode-foss/Aspose.BarCode-FOSS-for-Python.git
cd Aspose.BarCode-FOSS-for-Python
pip install -e .

该库需要 Python 3.12 或更高版本。

是否需要任何本地依赖或系统软件包?

不。Aspose.BarCode 针对 Python 的 FOSS 是一个纯 Python 包。它没有本地扩展、没有 C 依赖,也无需安装系统级软件包。它可在 Windows、macOS 和 Linux 上运行——包括类似 python:3.12-slim 的精简 Docker 镜像。


符号支持

支持哪些条码符号?

该库支持七种符号:

Symbology类型Options 类
Code 1281DCode128Options
Code 391DCode39Options
EAN-131DEan13Options
EAN-81DEan8Options
QR Code2DQrOptions
UPC-A1DUpcaOptions
UPC-E1DUpceOptions

每种编码都有专用的帮助函数(code128()、code39()、ean13()、ean8()、qr()、upca()、upce()),以及一个接受编码名称字符串的通用 generate() 函数。

有哪些可用的输出格式?

该库可以将条码渲染为 SVG 和 PNG:

  • to_svg() — 返回 SVG 字符串
  • to_png() — 返回 PNG 字节

这两种方法都接受可选的 RenderOptions 参数,用于控制比例、DPI、颜色、空白区以及可读文本。


API Usage

我该如何生成条码?

使用每种符号系统的辅助函数:

import aspose_barcode_foss as barcode

bc = barcode.code128("Hello World")
svg = bc.to_svg()

with open("barcode.svg", "w") as f:
    f.write(svg)

或者使用通用的 generate() 函数:

bc = barcode.generate("qr", "https://example.com")

我如何配置编码选项?

每种符号系统都有专用的选项类。将其作为 encode 参数传入:

from aspose_barcode_foss import QrOptions, QrErrorCorrectionLevel

bc = barcode.qr(
    "https://example.com",
    encode=QrOptions(error_correction_level=QrErrorCorrectionLevel.H),
)

我如何控制条形码的视觉外观?

使用 RenderOptions 搭配 to_svg() 或 to_png():

from aspose_barcode_foss import RenderOptions

bc = barcode.code128("DATA")
png = bc.to_png(options=RenderOptions(
    scale=3.0,
    dpi=300,
    foreground_color="#003366",
    show_text=True,
))

可用属性:scale、dpi、module_width、module_height、quiet_zone、foreground_color、background_color、transparent_background、show_text、font_family、font_size。

库如何处理 EAN 和 UPC 条码的校验位?

默认情况下,库会自动计算校验位。只提供有效载荷数字即可(12 位用于 EAN-13,7 位用于 EAN-8,11 位用于 UPC-A):

bc = barcode.ean13("590123412345")  # 12 digits — check digit computed

若要提供预先计算的校验位,请设置 allow_check_digit_input=True:

from aspose_barcode_foss import Ean13Options

bc = barcode.ean13(
    "5901234123457",  # 13 digits with check digit
    encode=Ean13Options(allow_check_digit_input=True),
)

已知限制

是否支持 PDF 输出?

否。to_pdf() 方法和 PdfRenderer 类在 API 表面上存在,但会抛出 NotImplementedError。请改用 to_svg() 或 to_png()。SVG 输出可以通过外部工具嵌入到 PDF 文档中。

是否支持 ECI 和 GS1 标准?

尚未支持。EciHelper 和 Gs1Helper 类具有抛出 NotImplementedError 的方法存根。EncodeOptions 上的 eci_assignment_number 和 gs1_enabled 属性虽已存在,但在当前版本中不可用。

库能读取或扫描条形码吗?

No. Aspose.BarCode Python 的 FOSS 是仅用于生成的库。它根据数据创建条形码,但不包括条形码识别或扫描功能。

另请参阅

 中文