JAVASCRIPT

    원하는 부분만 인쇄
    • 조회수 5,040
    • 작성일 2008-07-29
    •  
    //원하는 부분 인쇄//
    var initBody
    function beforePrint(){
        initBody = document.body.innerHTML;
        document.body.innerHTML = mapContainer.innerHTML;
    }
    function afterPrint(){
        document.body.innerHTML = initBody;
    }
    function printArea() {
        window.print();
    }
    window.onbeforeprint = beforePrint;
    window.onafterprint = afterPrint;
    //인쇄 스크립트 끝//


    [소스 설명]

    먼저 각 이벤트가 발생하는 시점을 보면....
    onbeforeprint : 관련된 문서를 인쇄하거나 인쇄 미리보기하기 바로전에 발생
    onafterprint : 관련된 문서를 인쇄하거나 인쇄 미리보기한 후 즉시 발생
    이와 같습니다.

    작동은
    우선 beforePrint() 함수를 보면..

        function beforePrint(){
            // initBody라는 변수에 현제 페이지의 body태그 안에 있는 모든 HTML 소스를 저장하고
            initBody = document.body.innerHTML;
            // 현제 페이지의 body태그 안에 내용을 <div id = pnt_dv></div> 안에 있는 HTML 소스들로 대체합니다.
            document.body.innerHTML = pnt_dv.innerHTML;
        }

    이상태에서 인쇄나 인쇄 미리보기를 실시하여 <div id = pnt_dv></div> 안에 있는 HTML 소스에 대해서 인쇄가 되고 인쇄를 마치면 afterPrint() 함수를 실행하죠

        function afterPrint(){
            // 다시 문서의 body태그 안에 내용을 앞에서 저장해둔 기존의 HTML소스(initBody)로 되돌려 놓습니다.
            document.body.innerHTML = initBody;
        }