【问题标题】:Google Chrome App print slient谷歌浏览器应用打印静默
【发布时间】:2014-04-16 22:25:38
【问题描述】:

在 Google Chrome 应用程序中是否可以像 Chrome 在自助服务终端模式下运行时那样静默打印?

--kiosk --kiosk-priting

【问题讨论】:

标签: google-chrome printing google-chrome-app kiosk-mode


【解决方案1】:

当您在 kiosk 模式下打印内容时,内容会自动打印到默认打印机,静默方式。只需在您要打印的页面的上下文中调用print()。如果您想从背景/事件页面打印,您需要执行以下操作:

// ...
function closePrint () {
  document.body.removeChild(this.__container__);
}

function setPrint () {
  this.contentWindow.__container__ = this;
  this.contentWindow.onbeforeunload = closePrint;
  this.contentWindow.onafterprint = closePrint;
  this.contentWindow.print();
}

function printPage (sURL) {
  var oHiddFrame = document.createElement("iframe");
  oHiddFrame.onload = setPrint;
  oHiddFrame.style.visibility = "hidden";
  oHiddFrame.style.position = "fixed";
  oHiddFrame.style.right = "0";
  oHiddFrame.style.bottom = "0";
  oHiddFrame.src = sURL;
  document.body.appendChild(oHiddFrame);
}
//...

只需调用printPage,传递一个URL,打印一些东西。

来自MDN的代码

【讨论】:

  • 好的,这是后台事件的实用程序,但我的问题是打印预览对话框已打开,需要用户操作来确认取消打印。当您在 --kiosk --kiosk-priting 中使用 chrome 时,打印会自动启动。我想这样做,但在 Chrome 谷歌应用程序中。
  • 使用--kiosk--kiosk-priting 启动chrome,然后打开应用程序并打印。这行得通,对吧?
  • 是的,它有效,但这是我不想要的,因为这是用户需要做的另一件事。我正在搜索像这里提到的 Websockets 和网络通信 stackoverflow.com/questions/19217687/… 谢谢!
  • 您只需配置远程打印机并将其设置为默认值。不需要网络套接字。
  • 如何避免打印预览确认?
【解决方案2】:

我为这个主题找到了一个临时的(也许不是临时的:))解决方案:

Chrome 应用解决方案

  1. 将您的应用安装到 chrome

  2. 创建从此应用到桌面的快捷方式。

  3. 右键单击>属性>编辑目标文本框,如下所示(您将添加“--kiosk-printing”参数)

    编辑前:“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” --profile-directory="Profile 2" --app-id=eoaefbbbpgcbhgeilphgobiicboopknp

    编辑后:"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --kiosk-printing --profile-directory="Profile 2" -- app-id=eoaefbbbpgcbhgeilphgobiicboopknp

  4. 完全重启 chrome 以生效(关闭 chrome 上的每个选项卡和窗口)
  5. 尝试打印

  6. 如果要删除默认页眉和页脚(页面地址和日期):打开普通 chrome 打印内容 > 在打印机预览中 > 更多设置 > 取消选中“页眉和页脚”。 Chrome 会一直记住这些设置。

(实际上chrome也必须在manifest.json上提供这个属性,但我还没有找到)

【讨论】:

    【解决方案3】:

    我有设置:

    1. "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --kiosk-printing --profile-directory="Profile 1"

    2. 使用 jquery 库进行网站测试 https://printjs.crabbly.com/ Chrome 弹出式打印机自动关闭且不打印出来..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-26
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-21
      相关资源
      最近更新 更多