certflow.services.printer.printer_service module¶
打印机业务服务 - 专为 LQ-635KII 设计
- class certflow.services.printer.printer_service.PrinterService(printer_name=None)[源代码]¶
基类:
objectLQ-635KII 打印机服务
提供合格证打印等高级功能
- 参数:
printer_name (str | None)
- CERT_FIELDS = [('product_name', '产品名称:', 1), ('product_model', '产品型号:', 2), ('dn', '公称通径:', 3), ('pn', '公称压力:', 4), ('temperature', '工作温度:', 5), ('medium', '适用介质:', 6), ('check_standard', '检验标准:', 7), ('inspector_id', '检验工号:', 8), ('manufacture_date', '出厂日期:', 9), ('serial_number', '产品编号:', 10)]¶
- property last_os_job_id: int | None¶
最近一次打印提交的 OS 作业 ID(由
LQ635KIIPrinter._flush捕获)。用于打印队列的 OS 级取消 / 状态查询(BLUEPRINT §2.3 偏差 5 作业 ID 捕获链路)。每次新打印前由
_flush覆盖,无 win32print(headless) 时为None。
- print_certificate(data, copies=1)[源代码]¶
简单文本模式打印(备用方案)
精确定位请使用 print_by_template_config(读 coordinates.yaml,单一坐标源) 使用文本模式打印,LQ-635KII 自动处理中文
- print_by_template(template_key, data, copies=1, x_offsets=None)[源代码]¶
根据模板打印合格证
使用 coordinates.yaml 中定义的模板坐标进行精确定位打印。
- print_by_template_config(config, data, copies=1, x_offsets=None)[源代码]¶
根据 RuntimePrintConfig 打印合格证
使用 RuntimePrintConfig.template.fields 中定义的坐标进行精确定位打印。 相比 print_by_template(),不再依赖 TemplateManager,直接使用 RuntimePrintConfig。
- render_certificate_bytes(config, data, copies=1, x_offsets=None)[源代码]¶
渲染合格证为 ESC/P-K 原始字节流(不发送到打印机)。
与
print_by_template_config()共用同一套命令构建逻辑,但刻意 不调用open()/flush(),因此无需真实打印机、不会真正出纸, 可直接拿到「即将发送给打印机的完整字节」,供调试落盘 / 十六进制分析。