常见问题
许可与开源
什么许可证适用于 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 128 | 1D | Code128Options |
| Code 39 | 1D | Code39Options |
| EAN-13 | 1D | Ean13Options |
| EAN-8 | 1D | Ean8Options |
| QR Code | 2D | QrOptions |
| UPC-A | 1D | UpcaOptions |
| UPC-E | 1D | UpceOptions |
每种编码都有专用的帮助函数(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 是仅用于生成的库。它根据数据创建条形码,但不包括条形码识别或扫描功能。