业务赋能中心

远程打印

远程打印机发现、打印任务、Windows Print Agent 和事件流水说明。

功能定位

远程打印 用于把云端里选定的文件交给目标地区的 Windows 打印机执行打印。它适合线下签字、纸质留档、门店物料、交付资料等需要从共享盘直接下发到地区打印机的场景。

当前链路不是浏览器直接调用打印机,而是:

  • 云端管理打印机和打印任务。
  • 本地网关负责接收任务、同步文件、转发到宿主机。
  • Windows Print Agent 负责发现打印机并提交到 Windows 打印队列。

两个页面分别做什么

远程打印机

用于维护可被业务选择的打印机记录,重点字段包括:

  • 目标网关 ID。
  • 区域。
  • Windows 打印机名称。
  • 业务显示名称。
  • 驱动名称和位置。
  • 是否启用。
  • 是否设为该网关默认打印机。

当前页面支持从目标地区网关直接发现打印机,再选择一台写入云端记录。

远程打印任务

用于提交实际打印动作,重点包括:

  • 目标打印机。
  • 源文件相对路径。
  • 文件名、格式、大小和哈希。
  • 打印参数,例如份数、单双面、纸张、方向、页码范围。
  • 事件流水和失败原因。

标准操作流程

  1. 先确认目标地区网关和 Windows Print Agent 已经连通。
  2. 远程打印机 中从目标网关发现并保存打印机。
  3. 远程打印任务 中上传文件或选择已同步文件。
  4. 选择目标打印机和打印参数。
  5. 提交任务后观察事件流水是否进入已接收、准备中、打印中、完成。
  6. 如失败,先看失败原因,再决定是否重试。

支持文件的理解方式

系统支持的实际打印能力取决于 Windows 宿主机和 Office 组件:

文件类型执行方式依赖
pdfSumatraPDF 静默打印安装脚本自动准备
doc/docxLibreOffice 转 PDF 后交给 SumatraPDF安装脚本自动准备
jpg/jpeg/png/bmp/gif/tif/tiffWindows .NET PrintDocument 直接打印Windows 自带能力
xls/xlsx优先 WPS Spreadsheets COM,失败后回退 Excel COMWPS Office 或 Microsoft Excel
ppt/pptx优先 WPS Presentation COM,失败后回退 PowerPoint COMWPS Office 或 Microsoft PowerPoint

因此,远程打印是否可用,不只取决于云端页面,还取决于宿主机软件环境。

事件流水怎么读

远程打印任务通常会经历这些阶段:

  • 已接收:目标区域网关已经收到任务。
  • 准备中:文件已同步到目标区域,准备提交打印。
  • 打印中:已经进入 Windows 打印队列。
  • 完成:已成功提交打印队列。
  • 失败:任一环节出错,例如文件同步失败、打印机不可用、Print Agent 拒绝任务。

如果任务显示完成,通常表示已经成功提交到 Windows 打印队列,不一定等于纸张已经从打印机出纸完成。

和本地环境的关系

远程打印比一般文档功能更依赖宿主机环境:

  • 目标打印机必须先安装在 Windows 宿主机。
  • Print Agent 必须作为宿主机服务运行。
  • 网关必须能通过 host.docker.internal 或同等方式访问宿主机 Agent。
  • 共享盘路径映射必须一致,否则文件无法同步到可打印位置。
  • 如果启用了 Print Agent 共享密钥,云端、本地网关和宿主机服务配置必须一致。

常见异常

获取不到打印机

优先检查目标地区网关是否在线,Windows Print Agent 是否存活,以及宿主机上是否真的安装了打印机。

打印任务一直停在已接收或准备中

优先检查文件同步是否成功、共享盘路径是否一致、Print Agent 是否可访问。

DOC/DOCX 提示 Office converter not configured

说明宿主机服务环境里没有可用 LibreOffice 转换器,或 soffice.exe 路径不可用。优先让现场重新执行 Print Agent 安装脚本,而不是只重启服务。

图片文件提示不支持

通常是地区机器还在运行旧版 Print Agent。先拉取最新本地网关代码,再重新安装或更新 StudioXPrintAgent 服务。

打印失败

优先检查打印机是否离线、纸张或驱动是否异常、宿主机 Office/WPS 是否可用。

任务完成但现场没有出纸

优先检查 Windows 打印队列、打印机硬件状态和现场耗材情况。云端完成通常只代表任务已成功送入打印队列。

继续阅读