业务赋能中心
远程打印
远程打印机发现、打印任务、Windows Print Agent 和事件流水说明。
功能定位
远程打印 用于把云端里选定的文件交给目标地区的 Windows 打印机执行打印。它适合线下签字、纸质留档、门店物料、交付资料等需要从共享盘直接下发到地区打印机的场景。
当前链路不是浏览器直接调用打印机,而是:
- 云端管理打印机和打印任务。
- 本地网关负责接收任务、同步文件、转发到宿主机。
- Windows Print Agent 负责发现打印机并提交到 Windows 打印队列。
两个页面分别做什么
远程打印机
用于维护可被业务选择的打印机记录,重点字段包括:
- 目标网关 ID。
- 区域。
- Windows 打印机名称。
- 业务显示名称。
- 驱动名称和位置。
- 是否启用。
- 是否设为该网关默认打印机。
当前页面支持从目标地区网关直接发现打印机,再选择一台写入云端记录。
远程打印任务
用于提交实际打印动作,重点包括:
- 目标打印机。
- 源文件相对路径。
- 文件名、格式、大小和哈希。
- 打印参数,例如份数、单双面、纸张、方向、页码范围。
- 事件流水和失败原因。
标准操作流程
- 先确认目标地区网关和 Windows Print Agent 已经连通。
- 在
远程打印机中从目标网关发现并保存打印机。 - 在
远程打印任务中上传文件或选择已同步文件。 - 选择目标打印机和打印参数。
- 提交任务后观察事件流水是否进入已接收、准备中、打印中、完成。
- 如失败,先看失败原因,再决定是否重试。
支持文件的理解方式
系统支持的实际打印能力取决于 Windows 宿主机和 Office 组件:
| 文件类型 | 执行方式 | 依赖 |
|---|---|---|
pdf | SumatraPDF 静默打印 | 安装脚本自动准备 |
doc/docx | LibreOffice 转 PDF 后交给 SumatraPDF | 安装脚本自动准备 |
jpg/jpeg/png/bmp/gif/tif/tiff | Windows .NET PrintDocument 直接打印 | Windows 自带能力 |
xls/xlsx | 优先 WPS Spreadsheets COM,失败后回退 Excel COM | WPS Office 或 Microsoft Excel |
ppt/pptx | 优先 WPS Presentation COM,失败后回退 PowerPoint COM | WPS 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 打印队列、打印机硬件状态和现场耗材情况。云端完成通常只代表任务已成功送入打印队列。