웹으로 서비스를 하면서 특정 부분만을 사용자가 인쇄할 수 있도록 구현하기 위한 스크립트이다.
페이지에서 새창을 열어, 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>
=> 구현 페이지 보기