1

像 Chrome 在信息亭模式下运行时一样,Google Chrome 应用程序打印静默可能吗?

--kiosk --kiosk-priting
4

3 回答 3

0

当您在 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的代码

于 2014-03-12T18:20:31.780 回答
0

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

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上提供这个属性,但我还找不到)

于 2015-09-07T09:12:43.970 回答
0

我有设置:

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

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

于 2020-11-30T04:00:01.017 回答