Как добиться тихой печати с использованием JavaScript? Не хотите показывать предварительный просмотр

var content = document.getElementById("container");
var pri = document.getElementById("contentstoprint").contentWindow;
pri.document.open();
pri.document.write(content.innerHTML);
pri.document.close();
pri.focus();
pri.print();

используя это, чтобы напечатать элементы div, но мне нужно напечатать его в фоновом режиме, а не после предварительного просмотра и нажатия кнопки "Печать" на панели предварительного просмотра. Я пытаюсь сделать это с Reactjs вместе с Redux.

2 ответа

Это невозможно. Браузеры требуют, чтобы пользователи подтвердили, что они действительно хотят печатать.

Если бы это было не так, то было бы тривиально включить веб-страницу, которая сделала бы что-то вроде setInterval(print, 1000); а затем впустую большое количество чернил и бумаги. (Представьте себе офисную среду, в которой принтер находится на другом конце комнаты для пользователя и используется многими людьми).

Вам нужно специальное расширение для браузера, чтобы добиться тихой печати. Для Firefox вы можете использовать JS Print Setup: https://addons.mozilla.org/de/firefox/addon/js-print-setup/

Таким образом, вы можете настроить принтер и печатать прямо из Javascript.

Другие вопросы по тегам