본문 바로가기

Local Oriented/jQuery

인쇄 Print

윈도우 XP 와 IE7(인터넷 익스플로러) 의 조합에서 제대로 인쇄되도록 하는 코드 발견..
그렇다 할 지라도.. 가로폭 비율이 높으면 이미지를 90도 돌려서 세로로 길게 만들어야 해요. 세로 본능.. ^^;;

IE 에서 A4 로 인쇄하나 A3 로 인쇄하나 둘다 세로 모드(Portrait) 로 놓고 인쇄하면 둘다 거의 유사한 출력물..
이때 프린터에 따라 다르겠지만, 원본은 A4 용지는 A3 로 설정해야 제대로 된 A3 인쇄물이 나옴.

Chrome 에서는 A4 와 A3 가 작은 이미지 큰 이미지 로 인쇄됨을 알 수 있어요.




<script>
  var src = '/경로/이미지명.jpg'; // 어디 변수에 담거나 조합해서 사용할 수 있어요.. 세로 본능 이미지..
  function printThis2(){
    link = 'about:blank';
    var pw = window.open(link, "_new");
    pw.document.open();
    pw.document.write(makepage(src));
    pw.document.close();
  }
  function makepage(src){
    return '<!doctype html><html lang="ko"><head><title>타이틀 내용</title><script>' +
      'function step1() { setTimeout(\'step2()\', 10); }' +
      'function step2() { window.print(); window.close(); }' +
      '</scr' + 'ipt></head><body onLoad="step1()"><img src="' +src+ "'/></body></html>';
  }
</script>


아래는 예전 내용.. 이젠 잊어주세요.. 상기 코드가 현존 끝판왕임돠..
-------------------------------------------------------------------------------------------



o 특별한 라이브러리 없이 자바스크립트 만으로 작동하게 하는 방법, 물론 iframe 사용
크롬에서도 잘 작동함..
parent.frames[<iframe name>].focus();
parent.frames[<iframe name>].print();

주의할 것은, 인쇄시 가로폭이 넓으면, IE 나 크롬 등에서..
A4 인쇄시 화면 일부가 잘려서 인쇄되지 않으므로,
인쇄용 이미지는 가로폭이 넓을 경우 세로 이미지를 사용.


이미지를 jquery 를 사용하여 90도 돌려도 되긴 하는데, 이 때에는 margin 값을 세팅해서 이미지가 crop 되지 않도록 해야 함.. ㅠ.
$('#image0').bind('click',function(){
  $(this).css({
    'transform':'rotate(90deg)',
    'margin':'200px 0', 'padding':'0'
  });
});




------------------------------------------------------------------------------------------
o iframe 을 안 보이게 화면 처리하고, 인쇄하는 방법.
  http://codewave.tistory.com/17
 
o printElement jQuery 플러그인
  옵션은..
  printMode : iframe 또는 popup (iframe 은 인쇄창만 열리고, popup 은 인쇄할 내용이 팝업으로 열리고 인쇄창도 열림)

  pageTitle : popup 으로 열릴때 popup 의 타이틀로 사용되고 인쇄랑은 무관.

  overrideElementCSS : 인쇄용으로 사용된 CSS Full Path

  leaveOpen : false 또는 true. popup 으로 열릴때 인쇄 후 팝업을 열어둘 것이냐 닫을 것이냐 결정

  'overrideElementCSS':{href:'http://www.sky72.com/kr/inc/css/common.css', media:'print'} 옵션은 popup 에선 에러..?