웹으로 서비스를 하면서 특정 부분만을 사용자가 인쇄할 수 있도록 구현하기 위한 스크립트이다.

페이지에서 새창을 열어, InnerHtml을 이용하여 특정영역을 잘라내기 하여 재구성한 후
바로 window.print()를 호출하여 인쇄를 하게 함.

호출하는 페이지(open.html)

<html>
<script>
function ContentPrint() {
  window.open("print.html", "", "width=500, height=300, scrollbars=yes");
}
</script>
<body>
<a href="#" onclick="ContentPrint();">인쇄하기</a>
<Pre>
  이 부분은 인쇄되지 않습니다. (Top)
  <!-- print start -->
  이 부분이 인쇄되는 영역입니다. (Middle)
  <!-- print end -->
  이 부분은 인쇄되지 않습니다. (Bottom)
</body>
</html>



호출되는 페이지 (print.html)

<script>
function setContents()
{
  var contentsText = opener.document.body.innerHTML;
  var PrnStart   = contentsText.toLowerCase().indexOf("<!-- print start -->");
  var PrnEnd     = contentsText.toLowerCase().indexOf("<!-- print end -->");
  var PrnContent = contentsText.substring(PrnStart, PrnEnd);

   ContentsText = PrnContent;
 
  if(ContentsText != "") {
    document.body.innerHTML = ContentsText;
    window.print();
  } else {
    alert("출력할 내용을 찾지 못하였습니다.");
  }
  self.close();
}
</script>
<body onload="setContents()"></body>
</html>



=> 구현 페이지 보기
2007/05/23 14:53 2007/05/23 14:53
포스팅이 유익 하셨다면 RSS 구독을 신청하세요

Trackback Address >> http://dolba.net/tt/k2club/trackback/1473