PaperCutMF · 打印管理 · 本地实施

企业微信 · 打印集成

日佳打印集成服务 · 企业微信版

让企业微信成为 PaperCut 的扫码入口、打印通知与云打印通道。需要公网 HTTPS 域名:企微事件只能回调公网地址,这一点和其他通道不一样。

需要公网 HTTPS扫码登录卡片释放云打印
示意图
企业微信企业微信会话
打印任务待释放
季度汇报.pdf · 12 页 · 彩色
去释放取消
卡片回调 5 秒内 ack;重复点击只执行一次

示意图:展示通知与卡片释放,不是真实界面。

先说清楚:需要公网 HTTPS 域名企业微信的消息与事件只能回调公网 HTTPS 地址。没有域名,扫码登录、打印通知、卡片按钮的回调都收不到,云打印也收不到文件。可以用反向代理、frp 或 Tailscale funnel 把内网服务暴露成一个 HTTPS 地址,但那个域名必须有。

入口在企微,打印在别处

员工每天开着企业微信,打印动作却要跳出去做。

01

多一套账号要记

复合机要输工号或刷工卡,企微里的身份用不上。

02

打完了靠人喊

提交之后没人知道,文件堆在机器上,行政要挨个问。

03

文件传来传去

手机里的 PDF、Office 要先转到电脑,再找共享盘提交。

四项功能

扫码、通知、云打印、通讯录,四件事共用一套服务。

01

企微扫码登录

复合机面板显示二维码,员工用企业微信扫码确认;state 一次性、5 分钟内有效,设备轮询取登录结果。

  • state 一次性
  • 5 分钟有效
  • 设备轮询取结果
02

打印通知 + 卡片释放

作业提交后推企业微信消息,卡片上释放或取消;回调 5 秒内 ack,重复推送只执行一次。释放范围是该用户在该队列的待释放任务,不是按单份任务精确释放——这是 PaperCut API 的限制。

  • 5 秒内 ack
  • 幂等
  • 按队列释放
03

企微云打印

把 PDF、图片或 Office 发给应用,Office 由 LibreOffice 转成 PDF 后进队列,到机刷卡再出纸。

  • PDF / 图片 / Office
  • LibreOffice 转换
  • 到机刷卡出纸
04

通讯录同步

同步部门与人员;通讯录接口要单独申请通讯录同步 Secret;默认不删除本地账号。

  • 单独申请 Secret
  • 默认不删除
  • 保留本地账号

和飞书版、钉钉版的区别

功能目标差不多,收事件的方式和前置条件差很多。选型时先看这一栏。

通道收事件方式前置条件
飞书版长连接(出站 443 到 open.feishu.cn)服务器能出网即可
钉钉版钉钉 Stream 长连接(出站 443)扫码登录需手机可达的 redirect_uri
企业微信版公网 HTTPS 回调需要公网 HTTPS 域名,并报备可信域名

三套服务各自独立授权;同一台 PaperCut 可以只接其中一条,也可以并存。

使用前提 企业微信版的前置条件比另外两条通道硬,先核对再谈工期。

必须项

  • 一个公网 HTTPS 域名,用于企微事件回调。没有域名,扫码登录和按钮回调都收不到。
  • 在企微后台把该域名报备为可信域名。
  • PaperCut MF/NG 启用 Web Services API(9191)。

释放范围的限制

  • 卡片释放的范围是该用户在该队列的待释放任务,不是按单份任务精确释放。
  • 这是 PaperCut API 的限制,不是配置项,也不能靠改代码绕过。

网络与部署

  • 事件回调要在 5 秒内 ack,否则企微会重试;服务对重复事件做了幂等。
  • 可与 PaperCut 同机或分开部署,单进程运行,需要可写的 data/ 目录。

部署与技术规格

参数表按企微自建应用的配置项列,实施时逐项核对。

项目要求说明
PaperCut 侧启用 Web Services API(9191)适配区间 22.0–27.x,以联调为准
企微应用自建应用:CorpID / AgentId / Secret在企微管理后台创建
回调安全Token / EncodingAESKey与企微后台填写一致
可信域名公网 HTTPS 域名需在企微后台报备
可见范围按部门或人员设置决定谁能收到通知
服务器Windows Server 2019+ / Linux按现有运维习惯选
运行时Python 3.10+单进程部署,可写 data/
通讯录通讯录同步 Secret需单独申请

常见问题

没有公网域名能用吗?
用不了。企业微信的消息与事件只能回调公网 HTTPS 地址,扫码登录、通知、卡片释放、云打印收文件都依赖这条回调。
为什么释放不能精确到某一份任务?
PaperCut 的接口按「用户 + 队列」给出待释放任务集合,没有按单份任务释放的接口。所以卡片释放会释放该用户在该队列的待释放任务。
支持哪些 MFD 和品牌?
只要是 PaperCut MF/NG 已支持并接入的设备即可,我们不单独维护一份设备名单;具体型号以 PaperCut 官方列表为准。
离职员工会自动删账号吗?
不会。通讯录同步默认不删除本地账号,避免历史用量丢失;停用请按你们自己的流程处理。
适配哪些 PaperCut 版本?
适配区间 22.0–27.x,以现场联调为准;版本差异主要体现在 Web Services API 的字段上。
事件一直重试怎么办?
回调要在 5 秒内返回 ack;服务对重复事件做了幂等,重复推送不会重复执行。超时通常是域名、证书或网络策略问题。

先确认有没有可用的公网域名

这是企业微信版能不能上的第一道门。把域名、PaperCut 版本和企微应用情况发给我们,我们先判断。

联系我们