2011-03-07 5 views
6

브라우저에서 자바 스크립트를 사용하여 프린터로 인쇄 할 수 있습니까?프론트 엔드 자바 스크립트에서 인쇄 하시겠습니까?

영수증 번호를 인쇄하고 싶습니다. 가능한 경우 가장 빠른 프린터는 무엇입니까? 사용자가 버튼을 클릭하면 예를 들어 인쇄됩니다. "1234"작은 종이에.

감사합니다.

답변

11

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); 
4

브라우저에서 인쇄 설정에 액세스 할 수 없습니다.

이것은 보안상의 문제로 인한 것입니다. 그렇지 않으면 전세계 프린터가 논스톱으로 인쇄됩니다.

window.print();의 자바 스크립트로 인쇄하는 것과 관련된 유일한 방법은 다음과 같습니다.

관련 문제