No puede acceder a la impresora directamente desde Javascript pero puede llamar al window.print()
que iniciará el comportamiento de impresión estándar del navegador. Con esto, puede probar dos técnicas para lograr lo que busca:
Justo antes de llamar al window.print()
, inyecte una hoja de estilos de impresión dinámica que solo muestre los elementos con el texto que desea imprimir. Debería tener cuidado de limpiar las hojas de estilo de impresión anteriores. O, de hecho, podría simplemente usar un elemento <div id="printable">
, que es el único elemento visible en su hoja de estilo de impresión e insertar cualquier texto que se imprima en eso. (Tenga en cuenta que este es un sitio web que los usuarios pueden querer imprimir)
También es posible llamar al print()
directamente en una ventana iframe, que puede rellenar con el texto que desee. Por ejemplo:
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);