Вы не можете получить доступ к принтеру напрямую из Javascript, но вы можете позвонить window.print()
, что вызовет стандартное поведение печати в браузере. Используя это, вы можете попробовать два метода для достижения того, что вы хотите:
Непосредственно перед вызовом window.print()
введите динамическую таблицу стилей печати, которая показывает только элементы с текстом, который вы хотите напечатать. Вы должны быть осторожны, чтобы очистить все предыдущие таблицы стилей печати. Или на самом деле вы можете просто использовать элемент <div id="printable">
, который является единственным видимым элементом в вашей таблице стилей печати, и вставить любой текст, который будет напечатан в нем. (Будьте внимательны, если это веб-сайт, который пользователи могут захотеть распечатать)
Также можно вызвать print()
непосредственно в окне iframe, которое вы можете заполнить нужным текстом. Например:
var iframe = document.createElement('iframe');
iframe.onload = function() {
var doc = iframe.contentDocument ? iframe.contentDocument : iframe.contentWindow.document;
doc.getElementsByTagName('body')[0].innerHTML = "<p>1234</p>";
iframe.contentWindow.focus(); // This is key, the iframe must have focus first
iframe.contentWindow.print();
}
document.getElementsByTagName('body')[0].appendChild(iframe);