CcSimple / electron-hiprint

MIT License
76 stars 39 forks source link

遇到一个打印失败的情况,这种情况如何排查呢 #38

Open Holinc19 opened 1 month ago

Holinc19 commented 1 month ago

操作系统:Windows11 64位 浏览器:Edge浏览器

在浏览器中发起打印,遇到一个打印失败的情况,这种情况如何排查呢。

PS:通过浏览器自带的打印方式,这个打印机能打印出来

报错日志如下:

2024/10/29 09:17:06: ==> Electron-hiprint 启动 <==
2024/10/29 14:36:05: ==> 插件端 New Connected: DWmxhjkYJ02ttfcCAAAA
2024/10/29 14:40:52: ==> 插件端 New Connected: rO01JIsWdHdyx5HgAAAB
2024/10/29 14:40:54: ==> 插件端 New Connected: -wAu0tSIipX8aZdIAAAC
2024/10/29 14:40:54: 插件端 -wAu0tSIipX8aZdIAAAC 模板 【undefined】 打印失败,打印机异常,打印机:\\172.20.1.60\eFollow_Printer
2024/10/29 14:47:43: ==> 插件端 New Connected: qTNYPBbiRr3v6Fd7AAAD
2024/10/29 14:47:43: 插件端 qTNYPBbiRr3v6Fd7AAAD 模板 【undefined】 打印失败,打印机异常,打印机:\\172.20.1.60\eFollow_Printer
2024/10/29 14:53:34: ==> 插件端 New Connected: 7IG_iRXIJX8U4PnUAAAE
2024/10/29 14:53:34: 插件端 7IG_iRXIJX8U4PnUAAAE 模板 【undefined】 打印失败,打印机异常,打印机:\\172.20.1.60\eFollow_Printer
2024/10/29 14:53:42: ==> 插件端 New Connected: qRAObq5bEoTrnraSAAAF
2024/10/29 14:53:42: 插件端 qRAObq5bEoTrnraSAAAF 模板 【undefined】 打印失败,打印机异常,打印机:\\172.20.1.60\eFollow_Printer
2024/10/29 14:54:11: ==> 插件端 New Connected: dmzDo2pO_o1uqc-3AAAG
2024/10/29 14:54:44: ==> 插件端 New Connected: JKDIzveM4rXLu_JQAAAH
2024/10/29 14:54:44: 插件端 JKDIzveM4rXLu_JQAAAH 模板 【undefined】 打印失败,打印机异常,打印机:\\172.20.1.60\eFollow_Printer
2024/10/29 15:08:10: ==> Electron-hiprint 关闭 <==
2024/10/29 15:08:14: ==> Electron-hiprint 启动 <==
2024/10/29 15:08:15: ==> 插件端 New Connected: JdCBlFGLgjR7qwboAAAA
2024/10/29 15:08:15: ==> 插件端 New Connected: w9OvhVIombz_yK3KAAAB
2024/10/29 15:08:15: ==> 插件端 New Connected: XKIuAnlcSycY8GhPAAAC
2024/10/29 15:08:16: ==> 插件端 New Connected: xsYgiHCJyrgHdXySAAAD
2024/10/29 15:08:16: ==> 插件端 New Connected: K2umoXthf0zODUv3AAAE
2024/10/29 15:08:16: ==> 插件端 New Connected: fRE5u7FXU5OsAI9UAAAF
2024/10/29 15:08:16: ==> 插件端 New Connected: 3-XgVZBD8cHwzfsMAAAG
2024/10/29 15:08:16: ==> 插件端 New Connected: IjV1va4nTHqCdrA-AAAH
2024/10/29 15:08:48: ==> Electron-hiprint 关闭 <==
2024/10/29 15:08:53: ==> Electron-hiprint 启动 <==
2024/10/29 15:08:53: ==> 插件端 New Connected: F-2NUz0dcxYbtF59AAAA
2024/10/29 15:08:54: ==> 插件端 New Connected: 2uPU9A4O9h2RwkEoAAAB
2024/10/29 15:08:54: ==> 插件端 New Connected: RZxvRtXoAFyOQpqaAAAC
2024/10/29 15:08:54: ==> 插件端 New Connected: 8FED4zSjjIRec8poAAAD
2024/10/29 15:08:54: ==> 插件端 New Connected: tOiIjqGqdpyjOWtMAAAE
2024/10/29 15:08:54: ==> 插件端 New Connected: cXMHXgJbZY5tgDl5AAAF
2024/10/29 15:08:54: ==> 插件端 New Connected: 9g_ddOHzizGpwzaPAAAG
2024/10/29 15:08:55: ==> 插件端 New Connected: p73eCa8h6dNPu6WnAAAH
2024/10/29 15:09:21: ==> 插件端 New Connected: ZKxvJfadxEeXGKBiAAAI
2024/10/29 15:09:21: 插件端 ZKxvJfadxEeXGKBiAAAI 模板 【undefined】 打印失败,打印机异常,打印机:\\172.20.1.60\eFollow_Printer
Xavier9896 commented 1 month ago

打印机异常,你是自己指定了打印机吗?检查一下这台打印机的状态,或者在 electron-hiprint 那台电脑对这个打印机重命名,不要带 ip,尽量纯英文,然后重启 electron-hiprint 重试。

Holinc19 commented 1 month ago

打印方式是这种: image

打印机信息: image

Holinc19 commented 1 month ago

打印机异常,你是自己指定了打印机吗?检查一下这台打印机的状态,或者在 electron-hiprint 那台电脑对这个打印机重命名,不要带 ip,尽量纯英文,然后重启 electron-hiprint 重试。

是的,指定打印机进行打印

Holinc19 commented 1 month ago

打印机异常,你是自己指定了打印机吗?检查一下这台打印机的状态,或者在 electron-hiprint 那台电脑对这个打印机重命名,不要带 ip,尽量纯英文,然后重启 electron-hiprint 重试。

重命名打印机,是指去操作系统里重命名吧。还是说electron-hiprint入参重命名

Xavier9896 commented 1 month ago

打印机异常,你是自己指定了打印机吗?检查一下这台打印机的状态,或者在 electron-hiprint 那台电脑对这个打印机重命名,不要带 ip,尽量纯英文,然后重启 electron-hiprint 重试。

重命名打印机,是指去操作系统里重命名吧。还是说electron-hiprint入参重命名

操作系统里面对打印机重命名

Holinc19 commented 1 month ago

我更换了一台打印机,不过还是打印不出来,这种还有什么排查方法吗

检查过Temp目录下有对应PDF文件: image

发现一个现象,打印的时候,打印机任务如下: image

具体日志输入如下: image

Holinc19 commented 1 month ago

我更换了一台打印机,不过还是打印不出来,这种还有什么排查方法吗

检查过Temp目录下有对应PDF文件: image

发现一个现象,打印的时候,打印机任务如下: image

具体日志输入如下: image

打印机实际是没有打印任务在进行的,应该不用排队。这里的任务应该都是HiPrint指定打印机打的,但是实际没打印出来

Xavier9896 commented 1 month ago

插件只能做到把打印任务交付给系统,从第二张图也能看到,插件已经把打印任务交付给系统,现在的问题是打印机在队列中没有打印出来。你可以检查一下打印机设置,是否设置了“不匹配的文档自动挂起”。

Holinc19 commented 1 month ago

插件只能做到把打印任务交付给系统,从第二张图也能看到,插件已经把打印任务交付给系统,现在的问题是打印机在队列中没有打印出来。你可以检查一下打印机设置,是否设置了“不匹配的文档自动挂起”。

那我检查一下打印机设置吧。不过同一个文件,通过浏览器自带的打印Ctrl+P能打印出来,这就比较神奇

Holinc19 commented 1 month ago

插件只能做到把打印任务交付给系统,从第二张图也能看到,插件已经把打印任务交付给系统,现在的问题是打印机在队列中没有打印出来。你可以检查一下打印机设置,是否设置了“不匹配的文档自动挂起”。

这个检查过了,没有设置挂起不匹配文档。还能有哪些地方可以检查到为什么打不出来文件吗。

比较奇怪的是,我直接打印Temp下的同一个PDF,能正常打印

Xavier9896 commented 1 month ago

我帮你艾特另外一个老哥看看他是否有遇到过类似的问题,他使用此项目也主要是用 url_pdf 类型打印。


@jpevol 方便的话你看看是否有遇到过类似的问题,有没有解决方案呢?

jpevol commented 1 month ago

没有遇到类似的,可以传一个打印html的socket.emit("news", { html, templateId, printer, pageSize });试一下能否打印?或者打印机选择Adobe PDF或者自带to pdf打印机看看能否导出到pdf

Holinc19 commented 1 month ago

socket.emit("news", { html, templateId, printer, pageSize })

我试试打印一下HTML看看。

自带to pdf打印机是能导出到PDF的

jpevol commented 1 month ago

socket.emit("新闻", { html, templateId, 打印机, pageSize })

我尝试打印一下HTML看看。

自带 pdf 打印机可以导出到 PDF 的

可以的,我测试的时候都是导到pdf

Holinc19 commented 1 month ago

@Xavier9896 @jpevol 测试了打印HTML是正常的。两种方式(type: 'pdf',type: 'url_pdf')PDF打印不了🤔

idxdy commented 2 days ago

我也有这样的问题, 这个问题是这样的, 如果 \172.20.1.60\eFollow_Printer, 那么不需要传入domain, 传入 eFollow_Printer 就行了, 默认printer是空字符串, hiprint会自己选择一个打印机的

其实到底传什么打印机的名称, 要看操作系统里面的name是什么

Xavier9896 commented 2 days ago

我也有这样的问题, 这个问题是这样的, 如果 \172.20.1.60\eFollow_Printer, 那么不需要传入domain, 传入 eFollow_Printer 就行了, 默认printer是空字符串, hiprint会自己选择一个打印机的

其实到底传什么打印机的名称, 要看操作系统里面的name是什么

electron 文档说是要传入设备名称

deviceName string (optional) - Set the printer device name to use. Must be the system-defined name and not the 'friendly' name, e.g 'Brother_QL_820NWB' and not 'Brother QL-820NWB'.

deviceName 字符串(可选) - 设置要使用的打印机设备名称。必须是系统定义的名称,而不是“友好”名称,例如“Brother_QL_820NWB”而不是“Brother QL-820NWB”。

按文档来说的话取 name 就行,而不是 displayName https://www.electronjs.org/zh/docs/latest/api/structures/printer-info