2012-03-21 3 views
1

60 개의 열을 포함하는 jsp에 보고서 테이블을 생성하고 있습니다. 스크롤하여 모든 항목을 볼 수 있습니다. 이제이 보고서를 인쇄하고 싶습니다. 나는 인쇄에 사용하고 기능은 이제 문제는 그것만이 인쇄 된 용지는 화면에 볼 수 있습니다 약 10 열이 즉 화면에 표시되는 내용을 인쇄입니다Window.print가 전체 페이지를 인쇄하지 않습니다.

function printReport(rpt) 
{  
    var report = document.getElementById(rpt); 
    var newWindow = "toolbar=no, addressbar=no, directories=no,location=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=5000 , height=500, left=50, top=50"; 
    var printWindow = window.open('',rpt, newWindow); 
    printWindow.document.write('<html><body>'); 
    printWindow.document.write('<div id="rpt" name="rpt" style="overflow:scroll;" >'); 
    printWindow.document.write(report.innerHTML);  
    printWindow.document.write('</div>'); 
    printWindow.document.write('</body></html>'); 
    printWindow.document.close(); 
    printWindow.focus(); 
    printWindow.print(); 
    printWindow.close();  
} 

입니다. 그러나 다음 표에 나머지 표를 인쇄하여 전체 표를 인쇄하려고합니다. 제안 사항이 있으십니까?

답변

1

제거

스타일 = "오버 플로우 : 이동;"

또는 그냥이 (그들이 무관 이후 처음 PARMS의 공백을 제거하고 그들의 대부분을 제거 참고)

function printReport(rpt) 
{  
    var report = document.getElementById(rpt); 
    var parms = "scrollbars,resizable,width=500,height=500,left=50,top=50"; 
    var printWindow = window.open('',rpt, parms); 
    printWindow.document.write('<html><body onload="window.focus();window.print()">'); 
    printWindow.document.write(report.innerHTML);  
    printWindow.document.write('</body></html>'); 
    printWindow.document.close(); 
    printWindow.close(); // not sure this is ok either. 
} 

업데이트 : 난 강력하게 대신 PDF를 보내 제안 원하는대로 페이지를 인쇄하도록 브라우저를 강제 설정하려고 시도했습니다.

+0

답장 mplungjan을 보내 주셔서 감사합니다. 그러나 여전히 나는 같은 결과를 얻고있다. 참고 : 인쇄해야하는 보고서 표는 세로로 스크롤 할 수없는 가로로 스크롤 할 수있는 표입니다. – Shrikant

+0

아. 그리고 그 상상력을 어떻게 상상할 수 있겠습니까? 나는 강력하게 당신이 그것을보고 싶어하는 방식으로 pdf를 만들 것을 제안한다. 그리고 사용자가 인쇄하기를 원할 때, 당신은 그를 보내라. – mplungjan

+0

나는 이것을 시험해 보겠다. – Shrikant

관련 문제