功能演示 · 实现版本

打印功能演示

对标 Lodop 在线样例 的 53 类打印功能, 按荔枝打印助手的实际实现版本组织。每一类样例映射到本应用真实的命令与服务,可直接调用。

调用范式

与 Lodop 的「初始化 → 加内容 → 打印」三段式对应,本应用走命令 + JSON 参数范式, 可经托盘、Web 服务 /command、或 AO 远程下发。

// 1. 选打印机/初始化
printer = GetPrinterList()
// 2. 加内容:模板 + 数据占位符
TemplatePrint({ "html":"…{{name}}…", "data":{"name":"李"}, "printer":"…" })
// 3. 打印 / 预览 / 维护
TemplatePrint({ …, "preview":false })

样例清单(实现版本)

共 53 类打印场景,收敛为以下 6 大类。每类列出对标 Lodop 的样例编号与对应能力。

多格式打印

对标 Lodop 样例二/八/五十二:选材打印、图片打印、PDF 打印。

  • PrintFile printfile {"path":"C:\\a.pdf"}

    样例二 · 选材打印:直接打印当前文件(PDF/Office/图片/文本/XPS/SVG/OFD)

  • PrintPdf printpdf {"path":"C:\\a.pdf","printer":"HP 5200"}

    样例八/五十二 · 指定打印机直接输出 PDF,版面稳定

  • NativePrintService image/text 原生 GDI 直打

    样例八 · 图片/文本走 GDI+ 原生绘制打印

面单 / 标签模板

对标 Lodop 样例五/十一/三十九/五十:纸张、条码、文本框、文档式模板。

  • TemplatePrint template {"html":"…{{name}}…","data":{"name":"李"}}

    样例五十 · HTML 模板 + JSON 数据占位符替换,100×150 等自定义尺寸

  • 二维码本地生成 qr=true

    样例三十九 · 模板内二维码本地生成,无需联网

  • 条形码直打 printbarcode {"data":"123456","type":"code128"}

    样例十一 · 直接打印 1D/2D 条形码

ESC/POS 热敏

对标 Lodop 样例十七:发打印机指令 / 直接读写端口。

  • PrintEscPos esccpos {"printer":"POSTEK2108","text":"小票"}

    样例十七 · 原始指令直打热敏小票/标签,支持条码与二维码

  • 端口指令 raw bytes → LPT/com

    样例十七 · 直接读写打印机端口的原始指令通道

AO 远程 / 广域网打印

对标 Lodop 样例五十三 + 广域网打印页:AO 设备子状态。

  • AoClientService 出站 WebSocket 长连接

    样例五十三 · 终端出站长连接,设备注册与任务路由

  • 断外网离线打印 offline queue

    广域网打印 · 断外网时任务入本地队列,恢复后补打

虚拟打印与文档

对标 Lodop 样例二十二/五十一:纯 WEB 预览、原始指令获取。

  • PrintToPdf / PrintToXps 无头渲染转 PDF/XPS 虚拟文档

    样例二十二 · 无头浏览器渲染,版面 1:1 稳定

  • XpsWriterService XPS 文档生成/打印

    样例五十一 · 生成 XPS 文档并走文档打印

  • GetPrinterList / SetDefault 打印机枚举与默认设置

    样例二十八 · 快速读取客户端系统/打印机信息

队列 / 清理 / 更新

对标 Lodop 样例四十五:打印状态与控制。

  • QueuePrint / GetQueue / RetryJob 任务入队 · 查询 · 重试

    样例四十五 · 打印状态查询与控制

  • CleanDisk / CleanAppTemp 扫描/清理/回收站/配额

    系统维护 · 分类扫描临时缓存日志,启动自清

  • CheckUpdate / ApplyUpdate Gitee 拉取 + SHA256 校验原地替换

    自动更新 · 用户数据不动

53 样例对照

Lodop 样例编号 → 本应用对应能力(未列出的即已被上面 6 大类覆盖)。

样例Lodop 场景本应用对应
二/八/五十二选材打印 · 图片 · PDFPrintFile / PrintPdf / GDI+ 原生
五/十一/三十九/五十纸张 · 条码 · 文本框 · 文档式模板TemplatePrint(HTML+数据)+ 本地二维码 + 条形码
十七发打印机指令 / 读写端口PrintEscPos 原始指令通道
五十三AO 设备子状态AoClientService 设备注册与状态上报
二十二/五十一纯 WEB 预览 · 原始指令PrintToPdf/Xps 无头渲染
二十八读客户端系统信息GetPrinterList/Detail / GetMachineFingerprint
四十五打印状态与控制队列 GetQueue/RetryJob/CancelJob