부분 프린트에 대해서 알고 싶어요.... > 그누3질답

그누3질답

부분 프린트에 대해서 알고 싶어요.... 정보

그누보드 부분 프린트에 대해서 알고 싶어요....

본문

부분프린트에 대해서 헤매고 있는데...도와 주세요..

아래의 내용은 phpschool.com에서 복사해온것입니다.

==================================
<HTML>
<HEAD>
<STYLE>
DIV { position: relative; }
</STYLE>
<SCRIPT>
var div2print;
function printDiv (id) {
  if (document.all && window.print) {
    div2print = document.all[id];
    window.onbeforeprint = hideDivs;
    window.onafterprint = showDivs;
    window.print();
  }
  else if (document.layers) {
    div2print = document[id];
    hideDivs();
    window.print();
  }
}
function hideDivs () {
  if (document.all) {
    var divs = document.all.tags('DIV');
    for (var d = 0; d < divs.length; d++)
      if (divs[d] != div2print)
        divs[d].style.display = 'none';
  }
  else if (document.layers) {
    for (var l = 0; l < document.layers.length; l++)
      if (document.layers[l] != div2print)
        document.layers[l].visibility = 'hide';

  }
}
function showDivs () {
  var divs = document.all.tags('DIV');
  for (var d = 0; d < divs.length; d++)
    divs[d].style.display = 'block';
}
</SCRIPT>
</HEAD>
<BODY>
<DIV>
<p><font size="2"><b>아래 선택 상자에서 원하는 인쇄 영역을 선택한 다음 "특정 부분 인쇄" 버튼을 클릭하세요!</b></font></p>
<FORM>
<SELECT NAME="divSelect">
<OPTION value="d1">첫 번째 영역만 인쇄
<OPTION value="d2">두 번째 영역만 인쇄
<OPTION value="d3">세 번째 영역만 인쇄
</SELECT>
<INPUT TYPE="button"
      ONCLICK="var s = this.form.divSelect;
                var divID = s.options[s.selectedIndex].value;
                printDiv(divID);"
      VALUE="특정 부분 인쇄"
>
</FORM>
</DIV>
<DIV ID="d1">
<b>[첫 번째 영역]</b><br>
첫 번째 영역입니다!<br><br>
</DIV>
<DIV ID="d2">
<b>[두 번째 영역]</b><br>
두 번째 영역입니다!<br>
두 번째 영역을 선택하여 인쇄해 보세요!<br><br>
</DIV>
<DIV ID="d3">
<b>[세 번째 영역]</b><br>
세 번째 영역입니다!<br>
세 번째 영역을 선택하여 인쇄해 보세요!<br>
From 코리아인터넷닷컴
</DIV></BODY>
</HTML>

=========================================================
위의 내용대로 한페이지에서 적용을 하면 잘 되는데...
그누보드의 gbview.skin.php에 적용을 하면 안됩니다.
gbview.skin.php의 내용이 <table>로 만든 문서서식으로 보이게끔
만들었는데 <table>~</table>로 감싸는 문서만을 프린트를 하려고 합니다.

그래서... 아래와 같이 꾸몄습니다.
 ==== head.php 시작====
<HEAD>
<STYLE>
DIV { position: relative; }
</STYLE>
<SCRIPT>
var div2print;
function printDiv (id) {
  if (document.all && window.print) {
    div2print = document.all[id];
    window.onbeforeprint = hideDivs;
    window.onafterprint = showDivs;
    window.print();
  }
  else if (document.layers) {
    div2print = document[id];
    hideDivs();
    window.print();
  }
}
function hideDivs () {
  if (document.all) {
    var divs = document.all.tags('DIV');
    for (var d = 0; d < divs.length; d++)
      if (divs[d] != div2print)
        divs[d].style.display = 'none';
  }
  else if (document.layers) {
    for (var l = 0; l < document.layers.length; l++)
      if (document.layers[l] != div2print)
        document.layers[l].visibility = 'hide';

  }
}
function showDivs () {
  var divs = document.all.tags('DIV');
  for (var d = 0; d < divs.length; d++)
    divs[d].style.display = 'block';
}
</SCRIPT>
</HEAD>
<div id="1">
<table>// 전체테이블 시작
.
.
==== head.php 끝 ===
=== gbview.skin.php ==
<!--
이곳에서 사용한 아이콘은 J.Mando 님이 제작한것이므로 그누보드 스킨이 아닌 다른 용도로 사용할 경우 J.Mando 님의 허락을 받으셔야 합니다.
홈페이지 : http://viva-mando.pe.kr/
-->
</div>
<div id="2">
<table> // 문서 서식 시작하는 테이블
.
.
.
</table> //문서서식 테이블 끝
</div>
<div id="3">
<FORM>
<SELECT NAME="divSelect">
<OPTION value="d1">첫 번째 영역만 인쇄
<OPTION value="d2">두 번째 영역만 인쇄
<OPTION value="d3">세 번째 영역만 인쇄
</SELECT>
<INPUT TYPE="button"
      ONCLICK="var s = this.form.divSelect;
                var divID = s.options[s.selectedIndex].value;
                printDiv(divID);"
      VALUE="특정 부분 인쇄"
>
</FORM>

==== gbview.skin.php 끝 ===
==== tail.php=====
.
.
.
</div> // tail 끝부분
====tail.php 끝 ====
어디가 잘못된건지 몰라도 인쇄가 안됩니다.
다른 좋은 방법은 없을까요?
다른사이트등 많은곳에서 알아봤지만 저의 지식으로는 문제를 해결하지 못하네요..
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로