본문 바로가기

디자인

[자바스크립트]현제화면이 아닌 원하는 내용만 프린트

음....레이어로 나누어서
인쇄를 시작하기전에 현재 내용을 안보이게 해놓고
원하는 내용만 다른 레이어에 담다 그 레이어만 노출을 시키고 프린트를 한다.
프린트가 완료되면 노출된 레이어내용을 제거하고 숨겨진 원본 레이어를 다시 노출시킨다...

아래는 위 내용을 만들어논것.....예전에 어디서 알게된건데....기억도 안나고....
하여튼 원래 내용이 작동을 잘 안하고 그래서 좀 변경을 했다...레이어를 좀 추가시켰다고 해야하낭...
할튼 페이지 내용이 많다면 내용을 옮기고 뭐 이런것때문에 시간이 좀 많이 걸린다...약 100-200 페이지 이상 되는 출력일 경우이므로 그리 문제는 없다...그정도페이지면 원래 많이 걸린다...이게 좀더 많이 걸린다느것뿐....-0-;;;


============================================

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 인쇄 테스트 </TITLE>

<script language="JavaScript">
    function printLayer () {
      if (document.all && window.print) {
        window.onbeforeprint = beforeLayer;
        window.onafterprint = afterLayer;
        window.print();
      }
    }
    function beforeLayer () {
      if (document.all) {
        objContents.style.display = 'none';
        objSelection.innerHTML = document.all['printArea'].innerHTML;
      }
    }
    function afterLayer () {
      if (document.all) {
        objContents.style.display = 'block';
        objSelection.innerHTML = "";
      }
    }


</script>

</HEAD>

<BODY>

<DIV ID="objContents">

    이건 안찍을꺼란 말이지...

    <input type="button" value="출력" onclick="printLayer();">


    <DIV id="printArea" name="taxBill">

    이걸 찍을꺼야~~~

    </DIV>


</DIV>

<DIV ID="objSelection">
</DIV>


</BODY>
</HTML>