找回密码
 立即注册

QQ登录

只需一步,快速开始

lovert

银牌会员

44

主题

502

帖子

2596

积分

银牌会员

积分
2596

[资源分享] 静默打印方案

lovert
银牌会员   /  发表于:2023-5-21 22:28  /   查看:3401  /  回复:3
本帖最后由 lovert 于 2023-5-24 16:54 编辑

第一步
需要下载安装本地打印服务器
https://gitee.com/CcSimple/electron-hiprint/releases/tag/1.0.6
第二步上传socket.io.min.js
第二步.png737846984.png
第三步
方法一:直接本地获取html,会出现CSS无法获取到
第三步.png159732665.png
方法二:用服务端命令,获取的html里的CSS已经被服务端命令转内联style,缺点是根据测试结果用服务端命令会出现很长时间的延迟,有时会出现js已经执行了,html还没有返回的情况
image.png414906615.png
image.png532523498.png
image.png740384826.png


1.代码说明:
var socket = io.connect('http://localhost:17521');//连接打印服务器,此处的localhost可以改成安装打印服务器电脑的内网IP,端口号17521不要变
socket.emit("news", {html: Forguncy.CommandHelper.getVariableValue("html2"),});//这个是发送html代码字符串到打印服务器进行打印,格式是socket.emit("news", {json对象});

socket.emit("news", {json对象});
{json对象}设置如下,html是必填的,其他可以选填,不填使用默认

  1. {
  2. html:html,// html字符串
  3. printer:printer,// 设置打印机
  4. silent: data.silent ?? true, // 静默打印
  5. printBackground: data.printBackground ?? true, // 是否打印背景
  6. deviceName: deviceName, // 打印机名称
  7. color: data.color ?? true, // 是否打印颜色
  8. margins: data.margins ?? {marginType: "none",}, // 边距
  9. landscape: data.landscape ?? false, // 是否横向打印
  10. scaleFactor: data.scaleFactor ?? 100, // 打印缩放比例
  11. pagesPerSheet: data.pagesPerSheet ?? 1, // 每张纸的页数
  12. collate: data.collate ?? true, // 是否排序
  13. copies: data.copies ?? 1, // 打印份数
  14. pageRanges: data.pageRanges ?? {}, // 打印页数
  15. duplexMode: data.duplexMode, // 打印模式
  16. simplex,shortEdge,longEdgedpi: data.dpi, // 打印机
  17. DPIheader: data.header, // 打印头
  18. footer: data.footer, // 打印尾
  19. pageSize: data.pageSize, // 打印纸张
  20. }
复制代码
打印结果回调函数,监听打印结果是否成功
  1. socket.on("successs", (successs) => {
  2. console.log(successs);
  3. });
  4.   socket.on("error", (error) => {
  5. console.log(error);
  6. });
复制代码
获取系统打印机列表
  1. socket.on("printerList", (printers) => {
  2. //printers是存打印机名称的数组
  3. console.log(printers);
  4. });
复制代码



打印demo.zip

17 KB, 下载次数: 413

打印.fgcc

924.49 KB, 下载次数: 428

评分

参与人数 3满意度 +15 收起 理由
lh123 + 5
muto + 5
gczxxu + 5

查看全部评分

3 个回复

倒序浏览
gczxxu
银牌会员   /  发表于:2023-5-21 23:26:06
沙发
回复 使用道具 举报
happyboyjia
高级会员   /  发表于:2023-5-24 16:46:36
板凳
回复 使用道具 举报
KinShing
中级会员   /  发表于:2023-10-15 00:04:49
地板
牛逼
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部