본문 바로가기
프로그래밍/html & jsp

자바스크립트 특정 영역 프린트

by Super User 2009. 6. 10.

특정영역만 프린트 하는 소스는 구했는데, 제가 원하는 소스는 없네요.

 

----------------특정영역만 프린트---------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<script language="javascript" type="text/javascript">
    function printDiv(){
        if(document.all && window.print){
            window.onbeforeprint = beforeDivs;
            window.onafterprint = afterDivs;
            window.print();
        }
    }
    function beforeDivs(){
        if(document.all){
            objContents.style.display = 'none';
            objSelection.innerHTML = document.all['d1'].innerHTML;
        }
    }
    function afterDivs(){
        if(document.all){
        objContents.style.display = 'block';
        objSelection.innerHTML = "";
        }
    }
</script>
<body>
<DIV ID="objContents">
<table width="650" height="100" border="1">
<tr>
<td>프린트 되지 않는 영역</td>
</tr>
</table>
<table width="650" border="1">
<tr>
<td align="right"><a href="javascript:printDiv('d1');">PRINT BUTTON</a></td>
</tr>
</table>
<span id="d1">
<table width="650" height="800" border="1">
<tr>
<td height="50">프린트의 시작 부분</td>
</tr>
<tr>
<td>Contents</td>
</tr>
<tr>
<td height="50">프린트의 마지막 부분</td>
</tr>
</table>
</span>
<table width="650" height="100" border="1">
<tr>
<td>프린트 되지 않는 영역</td>
</tr>
</table>
</DIV>
<DIV ID="objSelection">
</DIV>
</body>
</html>

--------------------------------------------

 

 

 

 

CSS로 프린트 하기

 

----------------------------------

<html>
<head>
<style type="text/css" media="print">
.noprint{ display:none; }
</style>
<style type="text/css" media="screen">
.onlyprint {display:none; }
</style>
</head>
<body>
<table class="noprint" border=1>
 <tr>
  <td>프린트 되지 않고 화면에만 보이는 부분</td>
 </tr>
</table>
<table class="onlyprint" border=1>
 <tr>
  <td>프린트만 되고 화면에는 보이지 않는 부분</td>
 </tr>
</table>

<table border=1>
 <tr>
  <td>화면과 프린트 양쪽 다됨..</td>
 </tr>
</table>
</body></html>

----------------------------------