Develop
2013.04.23 13:55

[js] IE에서 인쇄 설정 팁

Views 10899 Votes 0 Comment 0
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
자바스크립트 프린트 호출시 옵션주기

인터넷 익스플러 5.5 버젼에서 WebBrowser Control을 이용하여 자바스크립트로 프린트 설정을 할수 있는 방법이 있었는데 5.5 이후버젼 부터는 MS사에서 많은 문제점 때문에 스크립트로 프린트를 제어할수 없게 했더군요.

MSDN에 사이트 참고한 내용 입니다.
Printing with the Internet Explorer WebBrowser Control
This sample is provided in conjunction with the MSDN Library article, 
"Printing with the Internet Explorer WebBrowser Control." 
Many developers who host the WebBrowser control want to print the control's contents programmatically.
This article discusses the options available in Microsoft Internet Explorer and reviews the most common problems.

그렇다고 웹에서 프린트를 할수가 없냐? 할수 있습니다. ActiveX를 이용해서 프린트 하는 방법이 있습니다.http://bbogi.net 이곳 주인장님이 ActiveX를 제작하셔서 예제와 VC++ 소스까지 올려놓았습니다.http://bbogi.net 참고하시구요. 여기서는 여백만 설정하는게 있는데 거기 소스보시면 가로로 출력할수 있는 해법을 찾을수 있습니다.


하지만 인증받지 않은 ActiveX로 만들고 나면 노란색 경고메세지가 뜨면서 컨포넌트를 설치하라는 메세지가 나와서 보기 않좋습니다.

이제 두번째 방법입니다. MeadCo ScriptX를 이용하는 방법입니다. MSDN사이트에서도 웹으로 프린트를 할려면 MeadCo ScriptX로 가면 해결책을 찾을수 있을거라고 하네요^^

아래는 소스 입니다. 우선 OBJECT를 선언합니다. 그리고 버튼을 클릭할때 printWindow() 함수를 호출하여 사용합니다. 소스에 주석을 달아 났으니 보면 이해될꺼에요.

# HTML 코드
<object id=factory style="display:none" 
    classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" 
    codebase="https://www.hooni.net/ScriptX.cab#Version=6,1,429,14"> 
</object>

# Javascript 코드
<script language="javascript"> 
function printWindow() 
{
    // 머리말을 설정.
    factory.printing.header          = "This is MeadCo";
    
    // 꼬리말을 설정.
    factory.printing.footer          = "Printing by ScriptX 5.x";
    
    // 세로로 출력할것인지 가로로 출력할것인지 설정.
    // true:세로 false:가로
    factory.printing.portrait        = false;
    
    // 좌측여백
    factory.printing.leftMargin      = 1.0;
    
    // 상단여백
    factory.printing.topMargin       = 1.0;
    
    // 우측여백
    factory.printing.rightMargin     = 1.0;
    
    // 하단여백
    factory.printing.bottomMargin    = 1.0;
    
    // 한장만 출력하라는뜻
    factory.printing.copies          = 1;
    
    // 백그라운드까지 출력
    factory.printing.printBackground = true;
    
    // 현재윈도를 프린트하는뜻
    // window대신 frame을 지정하면 해당 프레임을 출력.
    factory.printing.Print(true, window);
} 
</script> 

이밗에도 인쇄미리보기,수없이 많은 기능들이 있더군요.
프린트 출력하는 곳이 상업적인 용도로 사용해야 하는 곳이면 라이센스도 생각해 보셔야 할꺼에요.
기타 다른 기술적인 부분에 대해서는 MeadCo의 Tech Docs 부분을 참고하세요.
전 이 두가지 방법 모두다 사용해 보았습니다.

하지만 가장 마지막에 선택한것은 ^^ 인쇄버튼을 클릭하면 여백을 설정하는 화면과 가로로 출력하는 방법을 설명하는 페이지를 보여주는것을 선택했습니다. MeadCo ScriptX그렇게 비싸지는 않던데 구입하기도 귀찮고 클라이언트도 출력하는 방법을 보여주는 페이지를 보니까 그대로 잘 하더라구요 
?

List of Articles
No. Category Subject Author Date Views
57 Develop [c] 정사각배열의 서브 배열의 최대 값 구하기 file hooni 2003.04.23 7016
56 Develop [c] 단어 입력/수정 프로그램 소스 file hooni 2003.04.23 7016
55 Develop [c] 농구팀 점수 산출 프로그램 소스 file hooni 2003.04.23 7372
54 Develop [자료구조] 트리(tree) 용어정리 file hooni 2003.04.23 11058
53 Develop [c] 이진트리(binary tree)의 특성 file hooni 2003.04.23 9598
52 Develop [c] 이진트리(binary tree)의 운행.. hooni 2003.04.23 8255
51 Develop [c] 근의 공식으로 2차방정식 풀기.. file hooni 2003.04.23 7764
50 Develop [c] 학생명단 관리 프로그램 소스 ㅋㅋ 1 file hooni 2003.04.23 7761
49 Develop [jsp][php] 간단한 강좌 자료.. file hooni 2003.04.23 8100
48 Develop [c] flooding 알고리즘 미로 찾기(도스용) 소스코드 9 file hooni 2003.04.23 12497
47 Develop [c] 테트리스(Tetris) 게임(도스용) 소스코드 file hooni 2003.04.23 11467
46 Develop [c] 파일입출력, 링크리스트(linked list)를 이용한 주소록(도스용) 소스코드 1 file hooni 2003.04.23 11141
45 Develop [c] 간단한 자료구조(stack, queue, linked list) 구현 소스 6 file hooni 2003.04.23 10106
44 Develop [unix] 쉘 스크립트 예제 모음 hooni 2003.04.23 14949
43 Develop [linux] 쉘 스크립트를 이용한 BBS hooni 2003.04.23 10047
42 Develop [c] pcap을 이용한 패킷 분석 ㅎㅎ hooni 2003.04.23 10210
Board Pagination Prev 1 ... 48 49 50 51 52 53 Next
/ 53