【问题标题】:Print from Chrome without the print dialogs? Using Greasemonkey userscript maybe?在没有打印对话框的情况下从 Chrome 打印?也许使用 Greasemonkey 用户脚本?
【发布时间】:2025-12-15 07:40:01
【问题描述】:

我们正在开发一个基于浏览器的仓库应用程序,该应用程序需要定期打印标签和发票。我们希望能够打印到本地打印机,而无需单击通常的浏览器打印对话框。这可能吗?可能使用greasemonkey用户脚本?我们不想设置整个 CUPS 打印机网络并处理所有这些问题,但仓库拣货员每天必须点击打印对话框 1000 次是不可行的。

我们正在打印 PDF,不确定这是否重要。如果我们可以使用 HTML5 或其他方式以另一种方式做到这一点,我愿意在这里接受课程更改或其他想法。

【问题讨论】:

  • 是否需要使用 Chrome?
  • Chrome 或 Firefox 是选项,但我们强烈倾向于 Chrome。
  • 这个问题听起来像是将在本地进行监控。按下Ctrl+PEnter 的本地脚本是一个选项吗?
  • 并不是我推荐这个解决方案,但我们最终使用称为 AutoHotKey 的客户端宏语言 autohotkey.com 解决了这个问题。该宏检测包含短语“autoprint”的 PDF 弹出窗口,然后单击打印对话框。这是一个坏主意,但一个有效的黑客攻击。然后出现了一个 Chrome 更新,它改变了 PDF 的显示方式,这破坏了宏。可疑。
  • Zildjohn,问题空间是可以从浏览器客户端静默打印的任何内容。 Chrome 不是必需的。击键或与打印对话框的任何用户交互都是不可接受的。

标签: printing google-chrome


【解决方案1】:

如果您使用 --kiosk --kiosk-printing 开关启动 chrome (v18+),则可以这样做。

你可以从这个视频https://www.youtube.com/watch?v=1ewep-ZT64E看到它

【讨论】:

  • 在39版的谷歌crhome不工作了,有没有办法直接打印?
  • 我在使用 chrome 39 时遇到了同样的问题。它崩溃了。将 chrome 升级到版本 40.0.2214.11。它解决了它。这个功能真的很酷。
【解决方案2】:

您可以在生成的表单上放置一个按钮,然后在 pdf 本身中使用嵌入的 javascript,使打印以静默方式进行。

有多种打印方式 无需用户的文档 相互作用。一种方法是使用 doc 对象的 print 方法并设置 bSilent 属性为 true,如图 在第 79 页的 “打印 PDF 文档”中 在以下示例中: this.print({bUI: false, bSilent: true, bShrinkToFit: true});

http://partners.adobe.com/public/developer/en/acrobat/sdk/AcroJSGuide.pdf

看看印刷制作下的静默印刷部分。

【讨论】:

  • 这对我不起作用。 Chrome 版本 61.0.3163.100 W10
【解决方案3】:

这是我根据@russenreaktor 提供的答案创建的批处理文件示例:

@echo off
start "Chrome" chrome --kiosk --kiosk-printing --url http://www.google.com

【讨论】:

    【解决方案4】:

    仅使用 JavaScript 无法做到这一点。

    【讨论】: