0

这个问题可能很简单。但我无法做到这一点。我正在使用一个名为print.js的库。使用它我正在从浏览器打印一个 html div。我将在 android 选项卡中使用这个网页。我有2个问题。

  1. 我希望在单个活动中打印 2 份相同的副本
  2. 我希望将打印请求直接发送到打印机而不进行打印预览

我能做到吗

4

1 回答 1

2

关于第一个选项,库不支持在调度打印作业时复制 html 元素。它是一个非常边缘的案例。但是,您可以操作您的 html 代码,在代码中创建一个隐藏的可打印元素,然后将隐藏的元素发送到 lib。确保您使用它发送打印媒体查询,以便库可以在调度打印作业时显示该元素。

这是一个沙盒显示和如何打印隐藏元素的示例: https ://codesandbox.io/s/printjs-styled-html-l0yk8?file=/index.html

有了这个,您可以随意自定义任何打印作业,而不会影响 UI。

关于第二个选项,您不能仅使用 JavaScript 绕过用户预览或设置屏幕。那将是一个安全问题。想象一下打开一个网站,你的打印机开始自动打印东西,那可不好。

于 2020-09-26T18:07:59.787 回答