웹페이지에서 인쇄시 머리글, 바닥글, 여백 제어 컨트롤 v1,4,0,3

웹페이지 즉, HTML에서 window.print();로 인쇄할 때 머리글, 바닥글을 제어하지 못해서 인쇄시 지저분하게 나오는 것을 방지할 수 있습니다.

각종 여백, 머리글, 바닥글을 설정할 수 있으며, 이전값으로 되돌리기, 기본값으로 초기화, 인쇄방향, 인쇄 용지  설정 등을 지원합니다.

링크 페이지를 참고 하세요..

속성:
——————————————————————
header:  머리글 설정  
footer:  바닥글 설정  
leftMargin:  왼쪽 여백(단위: mm)  
rightMargin:  오른쪽 여백(단위: mm)  
topMargin:  위쪽 여백(단위: mm)  
bottomMargin:  아래쪽 여백(단위: mm)
PrintBackground:  배경색 및 이미지 인쇄 여부 설정
ShrinkToFit: 크기에 맞게 축소 여부 설정(IE8만 지원)
Orientation:  인쇄방향 설정(1:가로, 0:세로)
Printer: 인쇄 시 사용할 프린터 지정
PaperSize: 인쇄 용지 설정

메소드:
——————————————————————
RollBack():  수정 이전 값으로 되돌림(한 단계 이전만 지원)  
Clear():  여백은 0으로, 머리글/바닥글은 모두 제거  
SetDefault():  기본값으로 복원(여백 모두: 0.75mm, 머리글:&w&b페이지 &p / &P, 바닥글:&u&b&d)  
Preview(): 미리보기
Print(confirm): 인쇄, confirm: true이면 인쇄대화상자 표시, 생략하거나 false이면 곧바로 인쇄
SetupPage(): 페이지 설정 창 띄우기
CloseIE(): 웹브라우즈 닫기
string GetPrinters(): 프린터 목록 구하기
string GetDefaultPrinter(): 기본 프린터 구하기

이벤트:
——————————————————————
OnError(ErrCode, ErrMsg):  에러 발생 시 호출됨

[예제]
[다운로드] – 인증된 파일(제공: 하늘님)
[다운로드] – 인증된 파일(제공: 현상수배님)

[수동 설치 프로그램(한글)]
[수동 설치 프로그램(영문)]

라이센스 관련:

OBJECT 코드에서 아래 코드를 삭제하지 않고, 이 컨트롤 자체를 판매하지 않으며 또한 이 컨트롤을 사용하는 또 다른 ActiveX 컨트롤을 만들지 않는 조건으로 사용을 허가합니다 ^^
<param name=”copyright” value=”https://isulnara.com”>


주의:
반드시 *.CAB 파일과 수동 설치파일을 다운로드하여 본인의 서버에 올려두고 사용하시기 바랍니다.
예제를 복사해서 사용하시면서 cab 파일의 경로를 제 서버에 있는 것으로 그대로 두고 사용할 경우 문제가 발생될 수 있습니다.
제 서버에 있는 파일은 항상 최신버전으로 업데이트되고 있어서 HTML의 OBJECT 코드에 있는 버전과 실제 제 서버에 존재하는 파일의 버전이 달라서 접속할 때마다 설치 관련 메시지가 표시됩니다.

* 질문을 남겨주실 때는 최대한 상세히, 그리고 제가 테스트할 수 있는 URL을 남겨주시면(비밀글 체크) 빠른 시간 내에 원하시는 답변을 얻을 수 있습니다.

v1.4.0.3

————————————————————-

+여백 설정하지 않았을 경우 ” is not a vaild floating point value 에러 발생하던 문제 해결

v1.4.0.1

————————————————————-

+IE8에서 배경색 및 이미지 인쇄 안되는 문제 해결
+IE8에서 크기에 맞게 축소하는 ShrinkToFit 속성 추가

v1.3.0.2

————————————————————-

+1.3.0.0에서 발생한 오른쪽, 위 여백 뒤바뀌는 문제 해결

v1.3.0.0

————————————————————-

+기본 프린터 구하는 메소드 추가
+인쇄  방향 설정 후 인쇄 설정 창 띄울 경우 인쇄방향과 여백 일부 정상적으로 표시되지 않던 문제 해결

+프린터 설치되지 않은 컴퓨터에서 미리보기할 경우 발생하는 에러 제거

v1.1.0.1

————————————————————-

+네이버PC그린에서 바이러스/스파이웨어로 오진단되는 문제 해결

v1.1.0.0

————————————————————-

+Printer 속성 추가
+PaperSize 속성 추가
+GetPrinters() 메소드 추가
+OnError() 이벤트 추가

2008/02/11 추가사항 – 홍길동님의 팁
————————————————————-
인쇄 또는 미리보기 시 점이 찍히는 문제 해결 방법: OBJECT 태그에 style=”width:0;height:0″ 추가, style=’display:none’ 사용할 경우 에러 발생함.

v1.0.20.4
————————————————————-
-OBJECT 코드를 동적으로 로딩할 경우 라이센스 관련 메시지 나오는 것 제거

v1.0.20.3
————————————————————-
+프린터 설치되어 있지 않을 경우 IE 포커스 잃어 버리던 버그 해결

댓글에 영문이 많을 경우 한글부터 입력바랍니다. 영문 스팸 필터 동작 중

572 thoughts to “웹페이지에서 인쇄시 머리글, 바닥글, 여백 제어 컨트롤 v1,4,0,3”

  1. 이슬님… 좋은 프로그램 공개해주셔서 감사드리구요. 하나 추가해주셨으면 하는게 있는데요. iframe 안에 있는 내용만 출력할 수 있도록 해주셨으면 하구요. 그럼 부탁드릴께요…

  2. IEPageSetupX.header = "";
    IEPageSetupX.footer = "";
    IEPageSetupX.PrintBackground = true;
    //IEPageSetupX.Preview();
    icert.focus();
    icert.print();
    임시로 이렇게 하기는 했습니다만…. Preview는 되질 않는군요. 프로뷰가 된다면 좋겠는데요…. 아니면 윗분말씀처럼 가로세로를 지정할 수 있다면 관계가 없게지만 가로세로 지정이 되지 않으면 사용자에게 확인을 하게 했으면 하거든요.

  3. 이슬님!! 가로세로는 잘되는군요. 근데 코멘트가 틀린것 같다는…. 1; // 세로 0; // 가로 인것 같은데요… (내가 틀렸나?) 어쨋든 그건 그렇구요. 프리뷰는 안되는데요? 프리뷰하면 iframe에 있는것만 되는게 아니고 전체페이지가 다 프리뷰 됩니다. ActiveX도 다시 받아서 올렸는데, 잘안되네요. 확인 한번 부탁드리구요. 혹시 소스가 있으시다면 부탁드릴께요…

  4. 드뎌 인쇄 방향 설정 기능 추가했습니다.
    Orientation 속성을 설정하심 됩니다.
    IEPageSetupX.Orientation = 1; // 세로
    IEPageSetupX.Orientation = IEPageSetupX.Portrait; // 세로
    IEPageSetupX.Orientation = 0; // 가로
    IEPageSetupX.Orientation = IEPageSetupX.Landscape; // 가로

  5. 인쇄 방향은 제가 착각했네요..
    바로 위에 있는 것이 정확합니다.
    그리고, 프레임 미리보기는 안되네요..
    인쇄기능은 인쇄 대화상자 옵션에서 "화면에 보이는 대로"/"선택한 프레임만" 등 이렇게 프레임을 선택하여 인쇄할 수 있도록 지원이 되는데 미리보기는 지원되지 않네요..
    특정 프레임을 로컬에 저장시키거나 메모리에 올려서 그걸 인쇄되게 할 수도 있겠지만… 링크 경로 문제도 있고 해서 지원하기가 힘들 것 같습니다.
    프레임으로 처리하지 말고, 새창으로 띄운다던가 하는 방법으로 하셔야 될 것 같습니다.

  6. 안녕하십니까?
    좋은 프로그램 감사하게 쓰고 있습니다..
    저도 프로그램을 만들다 만들다 포기 하고
    이것을 쓰고 있는데, 혹 힌트를 좀 주실 수 없는지요..
    소스를 요구하기는 그렇고, 만드는 힌트를 조금만
    주시면 안되겠습니까?
    aceseol@korea.com

  7. 안녕하세요..
    시도해 보셨다니 아실지도 모르겠네요.. IE 관련 설정 사항은 모두 레지스트리에 저장됩니다.
    레지스트리값만 적당히 수정해 주도록 만들면 되겠지요..

  8. 예를 들면 인쇄방향 레지스트리 부분
    HKEY_CURRENT_USERSoftwaremicrosoftinternet explorerpagesetuporientation
    에 값을 0,1 을 바꾸어도 인쇄는 세로로만 되고,
    페이지설정이나 미리보기도 세로로만 나옵니다….

  9. 인쇄 방향의 경우 저도 고생 좀 했죠..
    인쇄방향의 경우 레지스트리로 안됩니다.
    인쇄 방향 설정은 프린터 설정이라서 여백 설정과는 다릅니다.
    훅킹으로 시도해 보셔야 될겁니다. 눈에는 안 보이지만 직접 설정 창을 띄워서 설정하도록 말이죠^^
    인쇄, 미리보기 기능도 마찬가집니다.

  10. 이슬님… ActiveX가 설치되어 있는지 확인할 수 있나요? SP2 때문에 설치가 안되는 경우가 많아서 안내페이지를 만들려고 하는데요… 설치가 되어 있지 않다면 안내하고 설치되어 있다면 작업이 계속 진행 되도록 할려고 하거든요… 혹시 아시면 부탁드립니다.

  11. /Bigs님
    예제 클릭해보세요..
    설치되지 않았을 경우 화면에 메시지 출력하는 것과 자바스크립트로 검사하는 예를 올려두었습니다.
    자바스크립트로 검사는 Installed()라는 함수를 보시면 되고, 화면에 표시되는 것은 OBJECT 코드에서 보시면 됩니다.

  12. 아!… 네… 예제에 있었는데도 불구하고… 죄송합니다. ^^
    추가로 하나만 더 질문 드릴께요… freechal.com 처럼 설치되어 있지 않다면 수동설치도 가능한가요? 가능하다면 어떻게 해야 하는지도 부탁드려도 될런지요?

  13. /BigS님
    예제는 BigS님 요청에 따라 어제 수정했습니다^^
    그리고 수동설치 예제도 오늘 적용했으니 확인해보세요..
    이 페이지에 있는 수동설치 프로그램을 이용하세요..

  14. 자바스크립트 에러가 뜨네요..
    에러내용은 대략..

    Line: 37
    Char: 2
    Error: ” is not a vaild floating point value
    Code : 0

    그리고 소스는 다음과 같은데, IEPageSetupX.leftMargin 서부터 에러가 치네요..
    그래서 parseFloat(10) 으로 묶어봤는데, 그래도 여전히 에러가치고..
    아마 프로그램 자체의 문제가 아닐까 싶어 글을 남깁니다.
    (총 5대의 PC 에서 테스트 해본결과 되는 컴터가 있고 안되는 컴터가 대략 3대정도
    됐었습니다. OS 는 모두 window 2000 이구요, 익스버젼은 5.5 이상입니다.)

    <SCRIPT LANGUAGE=”JavaScript”>
    function ActiveX_print()
    {
    IEPageSetupX.header = “”; // 헤더설정
    IEPageSetupX.footer = “”; // 푸터설정
    IEPageSetupX.leftMargin = 10; // 왼쪽여백설정
    IEPageSetupX.rightMargin = 10; // 오른쪽여백 설정
    IEPageSetupX.topMargin = 4; // 윗쪽여백 설정
    IEPageSetupX.bottomMargin = 10; // 아랫쪽 여백설정
    IEPageSetupX.PrintBackground = true; // 배경색 및 이미지 인쇄
    IEPageSetupX.Orientation = 1; // 가로 출력을 원하시면 0을 넣으면 됩니다. 세로출력은 1입니다.

    IEPageSetupX.paper = “A4”; // 용지설정입니다.
    // IEPageSetupX.Print(); // 인쇄하기
    IEPageSetupX.Print(true); // 인쇄대화상자 띄우기
    // PrintTest(); // 컨트롤설치여부 테스트
    // IEPageSetupX.RollBack(); // 수정 이전 값으로 되돌림(한 단계 이전만 지원)
    // IEPageSetupX.Clear(); // 여백은 0으로, 머리글/바닥글은 모두 제거, 배경색 및 이미지 인쇄 안함
    // IEPageSetupX.SetDefault(); // 기본값으로 되돌림
    // IEPageSetupX.SetDefault(); // 기본값으로 복원(여백 모두: 0.75mm, 머리글:&w&b페이지 &p / &P, 바닥글:&u&b&d, 배경색 및 이미지 인쇄: 안함)
    // IEPageSetupX.Preview(); // 미리보기
    // IEPageSetupX.SetupPage(); // 페이지설정창 띄우기
    }

    </script>

  15. /질문요
    기본값이 없을 경우에 발생하는 에러 같습니다.
    프로그램 수정해서 다시 올려두었으니 다시 테스트 바랍니다. 버전은 1,0,20,2입니다.

  16. 예.. 테스트해보니 잘되네요.. 좋은프로그램 감사합니다..
    그리고 위에서 에러쳤던 컴퓨터 몇대더 모아서 테스트 해봤는데, 간혹 다음과 같은
    에러를 발생하는 컴퓨터도 있었습니다. 이게 익스플러문제인지는 아니면 컴포넌트 문제인지
    좀더 많은 PC를 수집해서 체크해봐야겠는데요, 일딴 버그리포트 부터 올릴께요.

    내용은 위와 동일하구요, 아참 그러고보니
    부분에서 ./IEPageSetupX.cab#version=1,0,20,1 가 ./IEPageSetupX.cab#version=1,0,20,2
    로 바뀌었더군요.. ^^
    여하튼, 테스트 해보니, Page setup 창이 두번뜨고 3번째로 인쇄대화창이 뜨더군요.
    (IEPageSetupX.Print(true); <== 이옵션입니다.) 여하튼, 위의 오류부분에 대해서는 좀더 많은 PC를 수집해서 테스트해보고 버그리포트해드리 겠습니다.. 좋은프로그램 감사합니다. 수고하세요.

  17. /질문요
    버그리포트 고맙습니다..
    IEPageSetupX.Print(true); 이 명령이 한 번만 호출되었는데 페이지 설정 창이 두 번 뜨고, 인쇄 대화창이 나온다는 것인가요?
    버전은 1,0,20,2로 수정하셔야 하며, 컨트롤도 제 웹페이지에 있는 것을 링크해서 사용하지 않고 서버에 직접 올려서 했다면 어제 새로 바뀐 버전으로 다운로드 해서 올리신 후 테스트 해야 됩니다.
    전에 발생한 에러가 발생하지 않았다니 이 부분은 제대로 된 거 같네요..
    이 곳에 있는 [예제] 사이트에서 [ Print(true) 인쇄(인쇄 대화상자 표시) ]를 클릭했을 경우는 어떤지요??

  18. /질문요

    아.. 간혹 클릭 했는데 창이 아주 늦게 뜨는 경우가 있습니다.
    여러 번 클륵하지 않았는지요?
    한 번만 클릭하고 기다려보세요.. 그래서 두 번 뜨는지 확인바랍니다.

  19. 예.. 한번 클릭했는데, Page Setup 창이 두번뜨고 마지막에 인쇄창이 뜨더군요..
    좀더 많은 컴퓨터를 가지고 오류원인에대해 자세하게 분석해봐야 되는데, 시간이 없어서
    세심하게 보질 못했네요.. 낼 다시 체크해봐야져…
    여하튼, 확실히 그렇게 뜨는 컴터가 1대있습니다..
    다른 컴퓨터를 가지고 체크해보고 다시 버그 Report 올릴께요.
    수고하세요~

  20. /질문요..

    예.. 저도 여러 컴퓨터로 테스트를 해 보겠습니다.
    다시 한 번 버그 리포트 감사드립니다.
    수고하세요^^

  21. 이슬님… 수동설치 파일 다시 만들어 주세요. 버젼이 안맞아서 설치해도 사용할 수 없네요.
    그리고 추가로 혹시 ActiveX를 탐색기에서 말고 웹에서 자동언인스톨 할 수 있는 방법은 없나요? ^^

  22. 수동 설치 파일은 다시 만들어 드리겠습니다. 오늘 빠쁜 일이 있어 바로 만들어 드릴 순 없구요.. 이 주내에 만들어 드리죠..
    그리고 ActiveX를 웹에서 제거할 수 있게 하려면 ActiveX 컨트롤을 약간 수정하면 되긴 합니다..
    인쇄 완료된 후 자동 삭제되게 하려는 것인가요?
    꼭 필요한 기능이라면 추가하겠지만.. 한 번 생각해 보겠습니다.

  23. IEPageSetupX.Clear();
    IEPageSetupX.Print();

    이렇게 사용하고 레지스트리 정보를 확인하니
    여백이 모두 0.25000 으로 설정이 되어버립니다.
    버그인것 같습니다.

  24. 사용하시는 OS와 IE 버전이 어떻게 되는지요? 그리고 제 웹페이지에서 테스트 한 결과인가요?
    막 테스트 해 봤는데 전 0으로 이상없이 설정됩니다.
    소스에서도 0으로 설정되도록 되어 있네요.

  25. 보안을 위해 Internet Explorer가 이 사이트에서 사용자의 컴퓨터로 ActiveX 컨트롤을 설치하는 것을 차단했습니다. 옵션을 보려면 여기를 클릭하세요.

    라고, 메세지가 나타나고, IEPageSetupX가 제대로 실행되지 않습니다. 어떻게하면 위의 메세지없이 제대로 실행되어 사용할 수 있는지요?

  26. SP2 설치하셨군요..
    이 문제는 이 컨트롤에 관련된 문제가 아니라 모든 ActiveX 컨트롤에 관련된 문제입니다.
    수동 설치(데모 페이지에 있습니다)하시거나 IE 옵션에서 ActiveX 관련된 사항을 설정 하시기 바랍니다.
    자세한 사항은 SP2 ActiveX로 검색하면 나올 겁니다.

  27. 답장 주셔서. 감사합니다.
    현재 외국 업체를 대상으로 웹사이트를 만들고 있는데,
    혹시, 영문 수동설치 버젼은 없으신지요…좀 급합니다…^^;;

    그리고, 수동으로 설치 했는데,

    보안을 위해 Internet Explorer가 이 사이트에서 사용자의 컴퓨터로 ActiveX 컨트롤을 설치하는 것을 차단했습니다.

    라는 메세지는 뜨지 않는데, 프린트하면 페이지에 오류가 있습니다. 라고 브라우져 아래 메세지 창에 뜨고, 오류 내용을 보니, IEPageSetupX이 정의되지 않았습니다. 라고 뜨네요…^^

    제가 뭔가를 잘못 설치 한건가요?

    좀 급한데, 답장 부탁드리겠습니다…^^;;

  28. 자주 문의드려 죄송 합니다.
    수동으로 설치해서 하니 잘 됩니다…^^; 죄송
    그런데, 수동설치시 안내문구가 한글인데…
    영문문구 수동설치 버젼은 없으신지요… 꼭, 필요한데…

  29. 음… 왜 인쇄 방향설정이 안되는걸까요?

    orientation 1이고 0이고 설정해봐도 아무런 변화가 없네요…

    뭐가 잘못 된건지…

    저는 오브젝트 띄우고, 스크립트로 자동 적용 한 다음

  30. 이슬님 여쭤볼게 있습니다. 현재 하려고하는것이 이미지 위에 워터마크 이미지를 올려서
    인쇄를 하는건데요… 워터마크 이미지는 투명도를 적용했습니다.

    근데 이것을인쇄하면 이미지가 제대로 나오질 않는데.. 이유를 알고싶습니다.

  31. 이미지 위에 워터마크 이미지를 올리셨다구요?? 정확히 어떻게 하셨는지 알려주시면 그대로 테스트 해 본 후 알려드리겠습니다.
    혹시 PrintBackground와 관련 있는 것은 아닌지요?

  32. 이런식으로 HTMl 상에 있구요…

    document.Form1.IEPageSetupX.header= ” &b 한국 한의학 연구원 &b “;
    document.Form1.IEPageSetupX.footer= ” &b &D”;
    document.Form1.IEPageSetupX.leftMargin= 5;
    document.Form1.IEPageSetupX.rightMargin= 5;
    document.Form1.IEPageSetupX.topMargin= 10;
    document.Form1.IEPageSetupX.bottomMargin= 10;
    document.Form1.IEPageSetupX.PrintBackground = true;
    document.Form1.IEPageSetupX.Orientation = 1;
    document.Form1.IEPageSetupX.Print(false);
    document.Form1.IEPageSetupX.clearAttributes();
    document.Form1.IEPageSetupX.SetDefault();

  33. 패스워드가 일치하지 않다고해서.. 글을 못지웠네요.. 지저분하게 되어서 죄송하구요.
    암튼 소스 올렸습니다…. 좀 봐주시구… 스크립부분에 좀 틀린게 있네요,..
    밑에서 두번째.. 실제로 이렇게 쓴건 아니고 document.Form1.IEPageSetupX.Clear();
    이렇게 썼습니다. ^^

  34. filter:Alpha(Opacity=50); <== 이것을 지워주고 하면 나오긴 나오는데..... 투명이 안먹은 상태에서 나오더라구요... 현재 제가 아는게 이거밖에 안됩니다... 혹시 해결방법을 알고계시면.. 부탁드립니다.

  35. 실제 인쇄해도 위에 있는 그림과 같게 나오네요..
    두 이미지가 겹쳐져 나오긴 하는데 화면에 보이는 것처럼 나오진 않네요..
    filter:Alpha(Opacity=50);은 FireFox에선 적용되지 않네요.. IE에서만 되는 것 같네요..
    HTML 표준이 아니라서 그런 게 아닐까요?

  36. 이슬님 답변 감사합니다….
    몇일 정신이없어서.. 못왔었는데…
    음 아무래도 filter 를 쓴다는거 자체가 잘못된듯 하네요…
    이미지 자체를 투명하게 만들지 않으면 안될거 같아요.. ㅠ.ㅠ
    암튼 답변감사합니다.

  37. 이슬님 바쁘신데 자꾸 질문해서 죄송합니다..
    페이지 인쇄를 하게 되면 스크립트 에러가 뜬다고 하는데.. 그 이유를 아시는지요?
    그거에대해서 검색을 해보니.. 프린트 드라이버가 깨졌다고 하는데..
    다른곳에서는 잘 되거든요…
    res://C:WINDOWSsystem32shdoclc.dll/preview.dlg
    여기서 에러가 났다고 하네요

  38. 특정 컴퓨터에서만 그런 것인가요??
    만약 특정 컴퓨터에서만 그렇다면 Microsoft Script Host Engine의 버전에 따라 발생할 수 있습니다.
    Script Host Engine을 최신 버전으로 업데이트하시고 테스트 해보세요..
    프린터 드라이버가 깨어졌다면 프린터 드라이버를 다른 것으로 교체한 후 해 보심이..
    FinePrinter같은 가상 프린터를 설치하셔서 테스트 해 보시면 될 것 같습니다.

  39. 이슬님~ 한가지 더 여쭤볼게요…. 위에 에러때문에 그런데요… 이게 이미지를 인쇄할때는 정상적으로 잘 나오거든요.. 근데.. 텍스트 인쇄를 하게 되면.. 에러가 뜨네요.. 스크립트 에러….res://C:WINDOWSsystem32shdoclc.dll/preview.dlg
    이 에러요.. 이게 특정 컴만 그런게 아니라.. 그 페이지에서 인쇄를 하려고 하면.. 전부 뜨게 되는데.. 어떻게 해야 할지 ……

  40. 에러가 발생하는 페이지를 알려주셔야 원인을 분석할 수 있을 것 같습니다.
    저도 처음 들어보는 에러가 달리 도와드릴 수가 없네요..

  41. 버그신고에 예전에 신고했던 내용인데요.

    인쇄설정컨트롤로 여백설정을 하는 페이지가 있습니다.

    이 페이지가, 잘 작동하는데,

    모든 사용자가 다 프린터를 설치한건 아니거든요. 프린터가 아예 없는 사용자가, 이 페이지를 접근하면, IE 포커스가 안되어서, IE 를 컨트롤 할수가 없습니다.
    작업관리자에서 IE 를 죽여야만 하는 상황이 발생합니다.

  42. 1.0.20.3으로 업데이트 되었습니다.
    프린터가 없을 경우 IE가 포커스를 잃어버리던 문제를 해결하였으며, IE의 프린터 설치 메시지를 표시합니다.

  43. 실제 응용시 짜잔한 스크립트 에러 몇개 수정했습니다.
    1. Installed() 함수내 document.all(“IEPageSetupX”).object!=null
    =>document.all(“IEPageSetupX”)!=null

    2.body 태그에서 onunload=”롤백부분” 이부분은 설치후 닫을경우 에러가 없지만 그냥 닫을경우 스크립트 에러 발생
    =>
    function window.onunload()
    {if (Installed())IEPageSetupX.RollBack();}
    로 대체

    이상 짜잔한 에러 수정이었습니다.

  44. IEPageSetupX.Print()
    를 호출한 후에 인쇄가 정상적으로 되었는지를
    체크할 수는 없을까요?
    연속 인쇄를 하고 있는데, 용지가 떨어지거나 그러면
    인쇄를 중지해야 하잖아요..
    그럴 때 액션을 취해서 관리자에게 알게 하려고 하거든요
    그러려면 인쇄를 실패했을 때를 찾아야 하는데요

    그 부분이 지원이 되었으면 하거든요.. 부탁 드립니다.

  45. 사용시 주의사항입니다.

    인쇄방향설정구문을 여백설정구문 이후에 넣으니깐 제대로 적용이 안되네요.
    IEPageSetupX.leftMargin=12;
    IEPageSetupX.rightMargin=13;
    IEPageSetupX.topMargin=14;
    IEPageSetupX.bottomMargin=15;
    IEPageSetupX.Orientation = 0; //마지막에 설정하면 X
    이렇게 하니깐 여백들이 자기자리를 제대로 못찿고 헤맵니다.

    꼭 인쇄방향설정 후 그다음에 여백설정 하셔야 제대로 적용됩니다.
    IEPageSetupX.Orientation = 0; //제일처음에 설정해야함
    IEPageSetupX.leftMargin=12;
    IEPageSetupX.rightMargin=13;
    IEPageSetupX.topMargin=14;
    IEPageSetupX.bottomMargin=15;

    ps. 이슬님, 정말 밥이라도 한끼 사고 싶은 맘입니다. 정말 프로그램 잘 사용하고 있습니다. 울산에 오실일 있으시면 함 연락주세요. ^^
    참, 한가지 의견이 있는데 워터마크 기능은 어려울까요? 프린트시 배경이미지 같은거 나올수 있게요. ^^; 넘 부담갖진 마시구요.
    오늘도 즐거운 하루 보내시길..

  46. 서명훈//
    인쇄 명령 보낸 후 정상적으로 처리되었는지 확인할 수 있는지 한 번 알아보겠습니다.
    언제 된다고는 말씀 못 드리겠네요..

  47. 서동희//
    알려주신 인쇄 방향 설정 기능이 여백 설정 기능의 위치에 따라 되고 안되는 문제는 확인 후 수정 해 드리겠습니다.
    수정되면 이곳에 올려놓겠습니다.
    그리고 워터마크 기능은 PrintBackground 속성과는 다른 걸 말씀하시는 것이죠?
    프린트하는 것은 그냥 IE에 있는 명령을 이용하는 것이라 IE에서 지원안되는 것은 지원하기 어렵습니다. IE 기능을 이용하지 않고 전용 인쇄 기능을 만들어야 가능할 것 같습니다.

    울산은 갈일이 없네요.. 버그 알려주신 점 고맙습니다. 되도록 빨리 수정 해 보겠습니다.
    행복한 나날 보내세요^^

  48. 안녕하세요.
    인쇄프로그램 아주 유용하게 잘 사용하고 있습니다.
    그런데 아래 header,footer에 html을 먹게 할수는 없는지요.
    그럼 좋은 하루 되세요.

    IEPageSetupX.header = “”;
    IEPageSetupX.footer = “”;

  49. 프리맨//
    이 컨트롤은 IE의 인쇄 기능을 그대로 이용하는 것입니다.
    IE에서 지원하지 않으면 지원되지 않습니다.
    원하시는 기능으로 만들려면 인쇄에 관련된 모든 기능을 따로 구현해야 됩니다.

  50. 핑백: 醉生夢死™
  51. 안녕하세요.
    좋은 프로그램 잘 사용하고 있습니다.
    프로그램을 사용하면서 사용자들이 많이 요청하는 부분이 미리보기 비율이 75%로 고정되어 있는데, 이걸 100% 나 폭넓이를 지정할 수 있었으면 좋겠고 하더라구요.
    혹, 이러한 기능이 구현 가능하신지요? ^^* 이런 질문하는것 자체가 좀 염치가 없네요… –;
    구현해 주시면 또 열심히 사용하겠습니다. (__);
    그럼 좋은 하루 되세요.

  52. 찬이//
    일단 지금은 시간이 없어서 시도해 볼 수는 없구요..
    4월 중순이나 되어야 시도해 볼 수 있을 것 같습니다.
    해 보진 않았지만 문제없이 될 것 같습니다.

  53. 저역시 공개해주신 프로그램 잘쓰고 있습니다
    그런데 아직 iframe에 대한 미리보기는 구현이 안되는지요?
    iframe으로 인쇄는 가능한데 미리보기는 원래 메인화면을 보여주니 ..
    욕심이 생기는 군요.. 죄송 ㅠㅠ

  54. neoaj//
    IE에서 지원 안되는 것은 이 프로그램으로도 지원이 안됩니다.
    열심히 시도해 보고 되면 이곳에 올리겠습니다.

  55. 05/05/16질문에보면 용지설정이 있는데
    인쇄용지설정이 안되는데 다른방법이 있나요

    IEPageSetupX.paper = “A4”; // 용지설정입니다.

  56. psk1092//
    2005/05/16에 올라온 글은 다른 분이 남기신 글인데요..
    IEPageSetupX.paper = “A4”;
    이 부분은 지원하지 않는데 사용하셨네요..
    용지 설정 기능은 지원되지 않습니다.

  57. 오호라… 좋은 프로그램 감사합니다. 보통 scriptx나 이런걸 쓰는데 실제 만드셨다는데에 대해 깊은 감사를 드립니다.

    아 질문이 하나 있는데 창이 길어서.. 짤리는건 어쩔수 없는거지요?

  58. drawhan//
    예.. 길어서 짤리는 것은 어쩔 수 없습니다.
    이 컨트롤이 IE에 있는 기능을 그대로 사용하는 것이라서 IE에서 안되면 이 컨트롤에서도 안됩니다.
    인쇄 컨트롤을 IE와 관계없이 독립적으로 동작되게 만들지 않는 이상 안될 겁니다.

  59. 컴퓨터 문제인지 일부 pc에서 copyright는 지울수 없습니다. 라는 메세지의 팝업창이 계속 뜨는군요.(컴포넌트 재설치해도 계속 그렇구요) 물론 를 넣었는데도 그렇군요. 한번 확인을 부탁을 드립니다. 아 이걸루 좀 많이 힘들었습니다.
    btcom@hanmail.net

  60. 문현종//
    메일 보냈습니다.
    스팸 메일함 확인해보세요..
    구성하신 페이지의 URL을 이곳이나 메일로 알려주시면 확인 후 연락드리겠습니다.

  61. 안녕하세요.
    만드신 플그램 잘 쓰고 있어요.

    이번에 OS를 새로 설치했는데요. WIn Srv2003 이고요.
    설치가 되지를 않네요.
    수동설치를 해도 프로그램은 등록되는듯 한데.
    자꼬 설치 되지 않았다고 에러만 나고요.
    전에는 잘 썼었는데 왜 그럴까요..? ‘ ‘?…
    혹시 OS를 타나요?

  62. gu2da//
    안녕하세요.
    제가 윈2003서버 사용하고 있는데요….
    이상없이 잘 됩니다. 윈2003 몇 대 테스트 해 봤는데 잘 됩니다.
    OS를 타지는 않습니다.
    예제 페이지에서 “컨트롤 설치 여부 검사” 클릭했을 때 설치되지 않았다고 나오는지요?
    혹시 실시간 애드웨어 제거 프로그램 같은 거 사용하고 있지는 않는지요?
    이런 프로그램에서 간혹 오진하는 경우가 있습니다. 액티브엑스를 모두 차단하는 경우도 있구요..
    제가 직접 화면을 보지 않고서는 원인을 찾기가 어려울 것 같습니다.

  63. 정근이형!
    이 컨트롤 사용해서 프린트 못하게 하는 방법은 없나요?

    프린트 시도하면 바로 창이 닫기고 상단 메뉴바에서 프린트를 해도
    브라우저가 닫겨버리는 그런 기능이요?

  64. wprud//
    ㅋㅋ.. 뭔 그런 기능을 다 원해?
    이 컨트롤에 그런 기능을 넣기는 좀 그렇고..
    가능은 해..
    프린트 메시지를 낚아채서 인쇄 못하게 할 수 있어..

  65. wprud//
    뭐 그렇게 오래 걸리는 건 아닌데.. 별 소용이 없어..
    이런 기능하는 ActiveX를 설치해야만 인쇄못하게 할 수 있어..
    ActiveX는 IE에서만 동작하고, IE말고 Firefox나 다른 웹브라우저 이용하면 쉽게 인쇄할 수 있어..

  66. 좋은 정보 잘 봤습니다. 신경 많이 쓰셨네요. ScriptX가 일부 윈도우 2000 에서 애먹이던중 IEPageSetupX를 사용해보니 윈도우 2000과 XP에서 문제없이 잘 작동하네요. 감사합니다.

    1. 위의 설명에서 라이센스 관련 부분을 보시기 바랍니다.
      말씀하신 메시지는 라이센스 관련 사항을 지키지 않았을 경우 표시됩니다.

    2. copyright 파라미터에 오타는 없지는 확인해 보시고, 계속 문제가 발생한다면 테스트한 페이지의 URL을 알려주시면 확인해드리겠습니다.

    1. 소스 제일 위에 있는
      <script type=”text/javascript” src=”http://www.interdigm.co.kr/embed_patch.js”></script>
      를 제거하시면 됩니다.
      ActiveX 활성화 관련된 코드인 것 같은데.. 다른 방법을 사용해야될 것 같습니다.
      시간이 없어 자세히 보지 않아서 대체할 코드는 아직 알아 보지 못했습니다.

    2. 아… 이 컨트롤을 사용자자로부터 어떤 액션을 받는 것이 아니기 때문에 ActiveX 활성화 패치는 필요하지 않습니다.
      즉, 문제의 라인은 삭제하셔도 될듯합니다.

  67. 답변 감사합니다. 해결했습니다. 역시 원인이 거기에 있었군요.
    좋은 프로그램 잘 활용하고 있어 감사의 말씀 전합니다.건강하세요

  68. 원하는 부분만 인쇄하는 자바스크립트를 구현하면서 IEPageSetupX를 사용하면 copyright는 지울수 없습니다 라는 메세지가 뜨는 군요
    프린트 이벤트에 대해 컴포넌트가 잡아서 처리를 하는 것 같은데
    개선을 부탁을 드려요.
    btcom@hanmail.net

    <script language = “javascript”>
    /************************************************원하는 부분만 인쇄*/
    var initBody;
    function beforePrint(){
    initBody = document.body.innerHTML;
    document.body.innerHTML = idPrint2.innerHTML;
    }
    function afterPrint(){
    document.body.innerHTML = initBody;
    }
    function printArea() {

    window.onbeforeprint = beforePrint;
    window.onafterprint = afterPrint;
    window.print();
    }
    /*******************************************************************/
    </script>

    <body>

    <div id=”idPrint2″>중<br>중

    <OBJECT id=”IEPageSetupX” classid=”clsid:41C5BC45-1BE8-42C5-AD9F-495D6C8D7586″ codebase=”./IEPageSetupX.cab#version=1,0,20,3″ width=0 height=0>
    <param name=”copyright” value=”https://isulnara.com”>
    <div id=”installX” style=”position:absolute;left:20%;top:20%;width:500px;height:140px;border:solid 1 #99B3A0;background:#D8D7C4;overflow:hidden;z-index:1;display=’none’;;” align=”center” valign=”middle”>
    <FONT style=’font-family: “굴림”, “Verdana”; font-size: 9pt; font-style: normal;’>
    <br><br><BR>인쇄제어 컴포넌트가 설치되어 있지 않습니다.<BR><br>
    컴포넌트를 설치하지 않을 경우 페이지가 올바르게 인쇄되지 않을 수 있습니다.<br><br>
    다운로드 받으셔서 설치하시기 바랍니다. <a href=”../Download/IEPageSetupX.exe”><font color=red>[다운로드]</font></a>
    </FONT>
    </div>
    </OBJECT>

    </div><br>
    후<br>
    <input type=”button” value=”부분 출력” onclick=”printArea();”>
    <a href=”javascript:PrintPage(‘yes’)”>컴포넌트출력</a>
    </body>

  69. window.onafterprint = afterPrint;
    부분에서 에러가 나는군요

    <script language = “javascript”>
    //각 페이지 마다 있어야 하는 함수
    var initBody;
    function beforePrint(){
    initBody = document.body.innerHTML;
    document.body.innerHTML ='<OBJECT id=””IEPageSetupX”” classid=””clsid:41C5BC45-1BE8-42C5-AD9F-495D6C8D7586″” codebase=””./IEPageSetupX.cab#version=1,0,20,3″” width=0 height=0><param name=””copyright”” value=””https://isulnara.com””></OBJECT>’ idPrint2.innerHTML;
    }
    function afterPrint(){
    document.body.innerHTML = ‘<OBJECT id=””IEPageSetupX”” classid=””clsid:41C5BC45-1BE8-42C5-AD9F-495D6C8D7586″” codebase=””./IEPageSetupX.cab#version=1,0,20,3″” width=0 height=0><param name=””copyright”” value=””https://isulnara.com””></OBJECT>’ initBody;
    }

    function PrintPage(flag){
    if(flag==’yes’){
    if (Installed()){

    window.onbeforeprint = beforePrint;
    window.onafterprint = afterPrint;

    window.focus(); //포커스를 이 프레임으로
    IEPageSetupX.Orientation = 1;//인쇄 방향 설정 – 가로0, 세로1
    IEPageSetupX.header=”;//머리글
    IEPageSetupX.footer=”;//바닥글
    IEPageSetupX.leftMargin=5;//왼쪽여백
    IEPageSetupX.rightMargin=5;//오른쪽여백
    IEPageSetupX.topMargin=5;//위쪽여백
    IEPageSetupX.bottomMargin=5;//아래쪽여백
    IEPageSetupX.PrintBackground = true;
    IEPageSetupX.Print(true);//인쇄(인쇄 대화상자 표시)
    }
    else{
    installX.style.display=’inline’;
    }
    }
    }
    </script>

    <body>

    <OBJECT id=”IEPageSetupX” classid=”clsid:41C5BC45-1BE8-42C5-AD9F-495D6C8D7586″ codebase=”./IEPageSetupX.cab#version=1,0,20,3″ width=0 height=0>
    <param name=”copyright” value=”https://isulnara.com”>
    </OBJECT>

    전<br>
    <div id=”idPrint2″>중<br>중

    </div><br>
    후<br>
    <input type=”button” value=”부분 출력” onclick=”printArea();”>
    <a href=”javascript:PrintPage(‘yes’)”>컴포넌트출력</a>
    </body>

  70. IEPageSetupX의 OBJECT 코드를 <HEAD></HEAD> 사이에 넣어도 안되는데요. ㅡㅡ

    <head>
    <OBJECT id=”IEPageSetupX” classid=”clsid:41C5BC45-1BE8-42C5-AD9F-495D6C8D7586″ codebase=”./IEPageSetupX.cab#version=1,0,20,3″ width=0 height=0>
    <param name=”copyright” value=”https://isulnara.com”>
    </OBJECT>
    </head>

    <script language = “javascript”>
    function Installed()
    {

    //if (typeof(document.all(“IEPageSetupX”))!=”undefined”

    1. 저기 위에 올려주신 소스(바로 위 소스 말구요)는 에러가 발생하여 제대로 테스트 해 볼 수 없었습니다.

      <script language = “javascript”>
      //각 페이지 마다 있어야 하는 함수
      var initBody;
      function beforePrint(){
      initBody = document.body.innerHTML;
      document.body.innerHTML ='<OBJECT id=””IEPageSetupX”” classid=””clsid:41C5BC45-1BE8-42C5-AD9F-495D6C8D7586″” codebase=””./IEPageSetupX.cab#version=1,0,20,3″” width=0 height=0><param name=””copyright”” value=””https://isulnara.com””></OBJECT>’ idPrint2.innerHTML;
      }

      위 코드는 문법적으로 에러가 발생합니다.
      테스트한 정확한 코드를 올려주시거나 관련 URL을 알려주시면 다시 확인 해 보겠습니다.

  71. 빠른 답변과 처리에 감사감사 드립니다. ^^

    한가지 아이디어 제안을…
    기존 깔려있는 ocx의 버전이 다를 경우에는 새로운 버전으로 설치를 하라는 메세지를 호출하는 기능이 있었으면 합니다. 새버전으로 바꾸어 주니 설치가 않되어있는 것 처럼 메세지를 호출해서… ^^

    1. 자동 업데이트 기능이나 메시지 처리 기능을 생각 해 보았는데 문제가 있다고 판단되어 추가하지 않았습니다.
      컨트롤이 업데이트되어 이 컨트롤이 사용된 웹사이트를 이용하는 고객이 그 메시지를 직접 보게 되면 문제가 있을 것 같아서요^^
      조금 불편하더라도 개발하신 분이 수동으로 업데이트 시키는 것이 맞다고 판단했습니다.

  72. 우선 좋은 프로그램 감사합니다.^^
    scriptX가 몇몇 PC에서 자꾸 문제를 일으켜 다른 프린터 컨트롤을 찾던중 IEPageSetupX를 테스트 해보고 있습니다.
    그런데 테스트를 하다보니 모달창으로 창이 뜬경우는 Access오류가 나는군요. 이건 어떻게 수정이 가능하신지요? 팝업창으로 띄우니 되긴 하는데 꼭 모달창으로 띄워야만 하는 경우도 있어서요..

    1. 일단 테스트만 해 보았습니다.
      showModalDialog() 또는 showModelessDialog() 함수를 이용하여 호출한 페이지에서는 다음 메소드 및 속성은 동작되지 않습니다.
      SetDefault(), Preview(), SetupPage(), CloseIE(), Orientation, Print()
      여백, 머리글, 바닥글을 설정 후 window.print()를 이용하여 인쇄하시기 바랍니다.
      프로그램을 수정하여 showModalDialog() 또는 showModelessDialog()를 사용한 페이지에서 사용할 수 있는지는 더 검토해봐야 알것 같습니다.

  73. 정말 유용한 프로그램이네요.
    라이센스는 어떻게 되나요??
    그냥 써도 상관없는건가요??
    제가 정말로 필요로 하는건데..
    제발 ???

    1. 위에 설명되어 있습니다.

      OBJECT 코드에서 아래 코드를 삭제하지 않고, 이 컨트롤 자체를 판매하지 않는 한 모든 곳에 사용할 수 있습니다.

  74. 안녕하세요.
    컴포넌트를 잘 사용하고 있습니다.
    다름이 아니라 프린트 인쇄시 아래로 갈수록 오른쪽으로 출력물이 밀립니다. (레이져 삼성 ML-2570)
    그래서 다른 프린터 레이져, 잉크젯으로 프린트를 보니 이상은 없습니다.
    워드문서로 테이블을 만들어 인쇄를 해보니 이건 정상적으로 나옵니다.
    혹시나 해서 컴포넌트가 특성을 타는지, 이런 이야기를 들어보셨는지 해서 문의 드립니다.

    1. 안녕하세요..
      말씀하신 문제에 대한 글은 보지 못했습니다.
      이 컨트롤은 단순히 IE에서 사용자가 설정하는 과정을 자동화 시킨 것뿐입니다.
      프린터의 문제가 아닐까 생각됩니다.
      이 컨트롤을 사용하지 않고 인쇄해서 비교해 보시기 바랍니다.

    1. 제공하지 않습니다.
      단순히 IE의 여백 및 페이지 방향 등만 설정합니다.
      원하시는 기능을 하는 IE 툴바 컨트롤이 있는데 이름이 기억이 안나네요..

  75. 비스타와의 호완이 잘 되지 않는 것 같아서 문의를 좀 드려요
    에러 메시지 Failed to set data for ‘Print_Background’ 라고 하면서 프린트 창이 뜨질 않는군요
    익스플로어는 7.06 버전입니다.

    1. 비스타에서는 호환여부가 확인되지 않았습니다.
      주변에 비스타 사용하는 사람도 없고, 비스타 CD를 아직 구하지 못해서 테스트 해보지 못했습니다.
      비스타 CD 구해서 설치하기 전까지는 지원하기가 어렵습니다.

  76. 인쇄 페이지 설정 여백(인치) 를 밀리미터로 바꾸는 것도 넣으면 좋겠습니다.
    제어판 – 국가언어 및 옵션 – 사용자지정 – 인치를 미터로 바꾸면 되는데,
    함수로 한방에 되게 되었으면 좋겠습니다.

    1. 한글 윈도우이면 기본 설정으로 “국가 언어 및 옵션”에서 “미터”로 설정되며, 인쇄 페이지 설정에서도 “밀리미터”로 나옵니다.

      인쇄 페이지를 설정하기 위해서 시스템의 설정을 “인치”로 변경하는 것은 좋은 방법이 아닐 것 같습니다.
      인쇄할 때만 변경하고 다시 돌려놓을 수도 있지만 시스템은 인치를 사용하고 인쇄 페이지는 미터를 사용하는 것은 혼란을 가져올 수도 있을 거라 생각됩니다.
      시스템에 설정된 사항을 그대로 따라가는 것이 맞다고 생각됩니다.

    2. 제가 제대로 이해한 것인지 모르겠네요..
      혹시 IEPageSetup에서 여백이 mm로 되어 있으니 인쇄할 때도 자동으로 mm로 변경되어 인쇄되도록 해다라는 것인가요?

  77. 안녕하세요?
    덕분에 감사하게 잘 사용하고 있습니다
    궁금한 점이 있는데요 기본용지 설정이 가능한가요?
    ScriptX 에서도 paperSize란 속성으로 조정이 가능한데 혹시 가능한지요? 가능하다면 방법을 알려주세요~
    그럼 수고하세요

    1. 용지 설정은 현재 구현되어 있지 않습니다.
      IE 버전, OS 버전에 따라 나타나는 항목이 같은지 다른지 확인해봐야 됩니다.
      만약 모두 동일하다면 기능을 추가할 수 있습니다.
      현재 사용하고 계신 OS 및 IE 버전과 IE의 페이지 설정창에서 용지 크기 부분의 목록을 보내주시거나 화면을 캡쳐해서 보내주시면 많은 도움이 되겠습니다.

  78. 안녕하세요?
    덕분에 인쇄 컴포넌트 잘사용하고 있습니다.
    다름이 아니오라 인쇄하면 왼쪽 상단 부분에 제일 첫페이지에만 점(.)이 찍혀 나옵니다.
    소스상에 아무리 찾아봐도 점이 출력되도록 한 부분이 없는데 자꾸 첫페이지에만 .이 찍혀 나오네요
    도움 부탁드려요~~ 좋은하루되세요 ^^

    1. 다른 컴퓨터나 다른 프린터로 테스트 해 보세요..
      전 그런 현상이 발생하지 않습니다.

      이 컨트롤은 단순히 메뉴 및 버튼을 강제로 눌러주는 것 밖에 없습니다.

  79. 꼭 필요한 기능인데 감사하게 잘 사용하고 있습니다. 한가지 부탁드리고 싶은게 있는데 프린터를 지정해서 출력하는것은 안될가요? 화면에서 선택하는게 아니라 미리 지정해서 그쪽으로 바로 출력하게 되는 기능을 말합니다. 어려울까요?

    1. 프린터를 지정하려면 클라이언트에 어떤 프린터가 설치되어 있는지 알아야될 것 같습니다.
      웹의 특성상 사용자의 컴퓨터에 설치된 프린터를 미리 알고 있기란 쉽지가 않은 것 같습니다.
      사용자의 컴퓨터에 설치된 프린터의 목록을 이미 알고 있는 상태라면 가능하겠지만요…
      예를 들면, 서버에서 A란 프린터로 출력되게 설정하고, 사용자의 컴퓨터에 A란 프린터가 없을 경우 문제가 되겠지요..
      컨트롤에서 클라이언트에 해당 프린터가 있는지 검사해서 처리할 수도 있지만 좀 복잡해질 것 같습니다.

  80. 웹페이지 초보자입니다.
    미리보기에서 인쇄를하면 대화상자가뜨는데 않나오게할순 없나요?
    그리고 부분페이지 인쇄는 않되는지요?

    1. 웹페이지 초보입니다.
      미리보기에서 인쇄를 하면 대화상자가 뜨네요.
      대화상자 않뜨게 할순 없나요?
      또 부분페이지 인쇄를 어떻게 해야할지 초보라 감을 잡기가 힘드네요 예제로 간단히 답해주시면 너무 감사하겠습니다. 첫 댓글에 너무 많은 것을 요구하네요.
      죄송합니다.

    2. 미리보기에서 인쇄할 경우 대화상자는 IE의 기본 설정입니다.
      가능한지는 검토해봐야 됩니다.
      검토 결과 가능하다면 다음 버전 배포 시 추가하도록 하겠습니다.

  81. 인쇄화면에서 object 부분이 width=0 height=0 으로 해도 점으로 인쇄됩니다.Preview에도 확인해볼수 있습니다.
    그래서 object 에 style=’display:none’으로 하면 에러나네요

    1. 웹페이지에서 볼 때는 나타나지 않아서 지금까지 몰랐네요..
      12월에 한 분이 인쇄할 때 점이 찍혀 나온다고 했는데 전 그것이 실제 인쇄할 때와 미리보기에서 나오는지 몰랐네요..
      고맙습니다.

  82. 제가 찾고 있는 컴포넌트 입니다. 유용하게 쓰겠습니다.
    근데 한가지 질문이 있습니다.
    IE 화면에서원하는 부분만 출력하려고 합니다. 코딩을 해서 미리보기로 하면 배율옆에 화면보이는대로/선택한프레임만/모든프레임 선택 메뉴가 나오는데 선택한 프레임을 디폴트로 하는 방법은 없나요?

  83. 답변 감사 드립니다.
    IE6.0 SP2이고요.. Web페이지가 frameset으로 생성이 된 페이지에서 main프레임 화면에서 원하는 부분만 출력하려고 하면
    화면보이는대로/선택한프레임만/모든프레임 메뉴가 나타나네요..

    1. 예.. 위에 “라이센스 관련”에 나와 있는 것처럼 이 컨트롤 자체를 판매하지 않는 이상 상업용 웹사이트에 사용해도됩니다.

  84. 안녕하세요.
    위에서 사용해도 된다는 글을 읽어서 바로 위의 제 글을 삭제하려고 하나 삭제 방법을 몰라서 이렇게 다시 글 올립니다.
    잘 사용하겠습니다.
    감사합니다.

  85. 안녕하세요. 오래전부터 쭈욱 지켜보아왔던 웹개발유저입니다.
    좋은 프로그램을 이렇게 공개해주시는데 깊은 감사드리면서 기능중에서 이런것도 포함이 될수 있을까 싶어서 몇자 올립니다.
    다름이 아니라 한 피씨에 프린터가 여러대 세팅이 되어 있고 그중 기본프린터로 인쇄가 되도록 되어 있는데요.
    여러대의 프린터중 원하는 프린터로 설정하는 옵션이 추가될 수 있을까 싶어서요.
    물론 설정이 없으면 기본 프린터로 인쇄가 되겠죠.
    뭐 그렇게 필요한 부분은 아니라 생각되지만 그래도 옵션으로 추가될 수 있다면 좋겠단 생각이 들어서 몇자 적습니다.
    다시한번 좋은 프로그램 공개해주셔서 감사드리며 이만 글 줄입니다.

    1. 안녕하세요..
      2007/12/28에 하늘사랑님도 같은 요청을 하셨네요..
      그때 제가 남긴 답글이 아래와 같습니다.
      “프린터를 지정하려면 클라이언트에 어떤 프린터가 설치되어 있는지 알아야될 것 같습니다.
      웹의 특성상 사용자의 컴퓨터에 설치된 프린터를 미리 알고 있기란 쉽지가 않은 것 같습니다.
      사용자의 컴퓨터에 설치된 프린터의 목록을 이미 알고 있는 상태라면 가능하겠지만요…
      예를 들면, 서버에서 A란 프린터로 출력되게 설정하고, 사용자의 컴퓨터에 A란 프린터가 없을 경우 문제가 되겠지요..
      컨트롤에서 클라이언트에 해당 프린터가 있는지 검사해서 처리할 수도 있지만 좀 복잡해질 것 같습니다.”

      많은 분들이 필요한 기능이라면 추가할 수는 있습니다만… 많은 분들이 필요로하는 것 같지는 않아서 추가하지 않았습니다.

      또한, 위에 언급했듯이 구현하는데도 여러가지 문제가 있을 것 같습니다.
      특정 프린터로 출력한다는 것은 특정 이름을 가진 프린터를 의미하는지요?(이럴 경우 사용자가 프린터명을 변경할 경우 문제가 발생하겠지요)
      아니면 특정 모델을 의미하는 것인가요? (거의 발생하지 않겠지만 같은 모델이 두 개 설치된 경우도 있을 수 있겠군요)

      추가할지 안할지는 정확히 말씀드리지 못하겠지만 상황을 상세히 설명해주시면 참고하겠습니다.

  86. 안녕하세요. 프린터 컨트롤 너무 잘사용하고 있습니다.~
    그 meadxx보다 훨좋군여 ^^ 감사합니다

    근데 창을 연속으로 2개 띄울때 그 창에서 바로 미리보기가 되도록 설정했더니
    조금 늦게 뜨는창에서 페이지 설정창이 나오더군요
    전 페이지 설정창 띄우라고 안했는데 나와서 ^^;;
    이게 혹시 버그인지 제가 설정을 잘못한건지 궁금합니다.~

    1. 안녕하세요..
      고맙습니다^^

      창을 연속으로 2개 띄운다는 것이 정확히 어떤 것인지요?
      그 부분의 코드를 올려주시거나 테스트 URL을 알려주시면 테스트 해보고 문제가 있으면 수정하겠습니다.

  87. 답변 감사합니다~ 2개 띄운다는게 그냥 단순히

    window.open(“1.html”,”1″,”top=0, left=0, width=800, height=700″);
    window.open(“2.html”,”2″,”top=0, left=0, width=800, height=700″);

    이런식으로 연속으로 창을 띄어서

    IEPageSetupX.Orientation = 1;
    IEPageSetupX.header = “”;
    IEPageSetupX.footer = “”;
    IEPageSetupX.leftMargin = 0;
    IEPageSetupX.rightMargin = 0;
    IEPageSetupX.topMargin = 0;
    IEPageSetupX.bottomMargin = 0;
    IEPageSetupX.PrintBackground = true;
    IEPageSetupX.Preview();

    2개 파일안에 위에 처럼 설정했더니 늦게 페이지여백설정창이 뜨더군요 ㅇ_ㅇ;

    1. 확인해보니 설정 창이 나올 때도 있고 안 나올 때도 있네요.

      해당 문제는 곧 수정해서 배포하도록 하겠습니다.

      일단 편법으로 아래와 같은 코드로 해결할 수 있습니다.

      첫 번째 창을 띄운 후 약간 지연 시킨 후 다음 창을 띄우는 것입니다.
      안되면 지연 시간을 조금 수정하면 될 것 같습니다.

      아래 URL은 위 코드로 제가 테스트한 것입니다.
      http://clone.fft.kr/p.html

  88. 출력을 하는데 오른쪽 부분이 짤릴때…자동축소(70%..80%..) 기능은 사용할수 있을까요?
    레포팅 툴처럼요…^^;

    1. 자동 축소 기능은 지원이 안됩니다.
      IE에서 지원되는 사항이면 가능하겠지만 IE에서 기본으로 지원이 안되면 지원해드릴 수 없습니다.

  89. 지난번 object 점 나오는거 발견이후 또 대박 발견!!!
    다음장으로 인쇄하기위해 page-break-before: always 이것이 익스 7.0에서는 먹지 않음…

  90. 안녕하세요? 이슬님^^ 프린터 ActiveX 모듈 정말 감사하게 잘 이용하고 있는 사용자 인데 한가지 의문사항이 있어서요
    하단 소스 처럼

    형태로 인쇄를 하는데 Div태그에 있는 이미지가 위치를 잡고 img1의 위에 겹쳐 나와야 하는데 그렇게 나오지 않고

    아예 다른 페이지에 인쇄되어서 나와서요 해결 방법을 좀 알고 싶습니다.

    댓글들을 읽어보니까 위에 비슷한 사항이 있는거 같은데 소스예제 올려주신 페이지가 링크가 안돼네요^^

    답변 좀 부탁 드리겠습니다. 감사합니다.

    1. 안녕하세요..
      올려주신 코드를 이용하여 아래처럼 구성하면 이미지는 겹쳐지지 않네요..
      그리고, 인쇄하면 한 화면에 표시됩니다.
      사용하신 소스가 있는 URL을 알려주시면 다시 테스트해보겠습니다.




      인쇄 여백제어 컨트롤이 설치되지 않았습니다.
      이곳을 클릭하여 수동으로 설치하시기 바랍니다.

      Print(true)

  91. 안녕하세요.
    좋은 프로그램을 공개해 주셔서 감사합니다. 딱하나 아쉬운점이 있다면 위에 몇몇분도 얘기를 하셨던데.. 프린터를 지정할 수 있으면 정말 좋을 것 같습니다. 설치된 프린터 목록을 가져온다던지 그런 부분은 모두 빼고 프린터 이름으로 그냥 바로 지정할 수 있으면 좋겠습니다. (프린터 설치여부 이런 체크도 모두 빼고요.. 출력할 프린터 이름을 지정할 수만 있으면 좋겠습니다) 그리고 용지설정 기능까지 포함된다면 정말 백점만점 프로그램이 되지 않을까 싶네요. 프린터이름 지정만이라도 반영이 되었으면 좋겠습니다^^ 감사합니다.

    1. 안녕하세요..
      프린터 지정은 할 수 있을 것 같은데 용지 설정은 시도해봐야 되겠네요..
      두 기능 모두 조만간에 시도해보겠습니다.

  92. 몇몇 분들의 요청에 따라서 프린터 지정 기능 및 인쇄 용지 설정 기능을 추가하였습니다.
    새로운 버전은 1,1,0,0입니다.

    자세한 사용법은 데모 페이지 또는 아래 URL을 참고하세요..
    https://isulnara.com/tt/163

    자.. 날코더님과 최성준님은 준비하세요^^

    1. 다들 서울분들이시네요. 흑흑~~
      전 지방이라서… 맘같아선 당장 올라가서 서로 얼굴도 보고 이런저런 얘기도 나누면 좋겠는데.. 현재 개발건이 줄줄이 엮여 있는 상태라.. 현실이 그렇지 못합니다. 대신 담에 서울가면 꼭 식사대접 하겠습니다. (절대 빈말아닙니다. 가기전에 연락드리고 가겠습니다)

  93. 아참.. 신버전 버그리포팅은 아니구요. 기존 버전으로 테스트했을때입니다. (영수증 프린터에 현금영수증을 인쇄하는 경우입니다) 상하좌우 여백을 0으로 설정한 경우 첫번째 테스트 – 여백을 0으로 하고 수동 프린터한 경우에는(페이지에서 오른쪽 버튼을 누르고 인쇄를 선택한 경우) 정상적으로 여백이 0으로 설정되고 인쇄도 됩니다. 인쇄후 설정에 보면 여백도 0입니다. 그런데 자동프린터(대화창없이 바로 프린터하는 경우)하는 경우는 여백이 0으로 설정되지 않고 다른값으로 설정이 됩니다. 인쇄후도 0이 아닌 다른값으로 설정되어 있습니다. 한번 봐주시구요..
    공개해주신 신버전은 프로그램에는 적용했는데 실제 프린터로 테스트를 좀 해봐야 되는데 영수증프린터가 해당업체에 있는 관계로 며칠뒤에 직접 가서 해봐야 될 것 같습니다.
    해보고 혹시 버그가 있으면 다시 리포팅하겠습니다.
    끝으로 사용자정의 종이의 경우는 어떻게 설정해야 하는지 살짝 궁금합니다^_^

    1. 사용자정의 용지경우는..
      제어판->프린터->파일->서버속성->새양식만들기 이렇게 해서 제가 쓰고 있습니다. (질문에 맞는 내용인가요? ^^)

    2. 여백 0, 자동으로 할 경우 문제는 확인해보겠습니다.
      사용자정의 종이는 최성준님이 알려주셨네요..
      저도 처음 알았습니다.

  94. 혹시 익스플로러 7.0에서 \표시가 역슬래시로 표시 되는데 익스플로러 문제인가요 아님 IepageSetupx문제인가요?
    참고로 익스플로러 6.0버전에서는 잘표시가 되는데요

  95. 근데 확대 축소 인쇄 기능은 불가능한가요?
    그부분만 되면 더욱좋을 듯한데 지금도 너무너무 만족하고 있습니다.

    1. 프린터 특성을 탈만한 기능은 없습니다.
      정확히 어떤 상황에서 어떤 문제가 발생했는지 알려주시면 확인해보겠습니다.

  96. 다시정리해서 말씀드려야겠네요
    버전을 1,0,20,4를 쓰고있는데요. 집에서 이버전으로 인쇄페이지를 두개를 구성하여 잘쓰고 있는데요
    사무실에 네트워크로 구성된 레이저 프린터에선 첫번째구성한 웹페이지에선 인쇄페이지가 잘 나오는데
    이번에 구성한 두번째웹페이지에선 인쇄가 먹통이 되네요. 혹시 위질문과 비추어 답변좀 부탁드려요.

    1. 예. 전화 통화는 좀 그렇구요..

      먼저 새 버전으로 업데이트 해보시고, 테스트 해보세요..

      동일한 문제가 발생한다면
      적용하신 소스나 테스트할 수 있는 URL을 알려주시면 확인해보겠습니다.
      소스나 URL을 알려주시기 곤란하면 IEPageSetupX가 사용된 부분의 일부 소스라도 상관없습니다.

      그리고, 문제가 되는 네트웍 프린터 정보도 알려주시면 도움이 되겠습니다.

  97. 그럼 혹시 IEPageSetupX다운로드 받은 파일을 이름을 달리하여 셋팅을 하면 문제가 생길까요?
    사무실이 제가쓰는 사무실이 아니라 다른 지사라 정확한 내용을 모르고 네트워크로 사용하는 레이져프린터이고
    같은 홈페이지에 첫번째로 구성한 페이지에서는 출력이 되는데 두번째로 구성한 페이지에서는 출력이 안된다는 부분
    이 문제죠^^ 집에서는 잉크젯프린터를 사용하는데 두페이지 다 인쇄가 잘되거든요.

    1. 파일명은 달리해도 아무런 문제가 없습니다.
      혹시 두 페이지를 거의 동시에 인쇄하는지요?
      예전에 두 페이지를 거의 동시에 인쇄할 경우에는 문제가 발생했다는 글을 본거 같습니다.

    1. 파일명이 달라도 한 번만 설치됩니다.
      중복 설치될 수 없습니다.
      파일명이 달라도 처음에 설치되면 다음에는 설치되지 않습니다.

  98. 새로 나온 스크립트 까니까 여백이 0으로 설정 안되는 경우가 있네요.
    HP Photosmart C7200 serires라는 프린터를 기본프린터로 쓰고 있었는데
    전 버젼 1,0,20,4에서는 여백이 0으로 나왔는데 1.1.0.1에서는 여백이 생기더군요..

    IEPageSetupX.leftMargin = 0;
    IEPageSetupX.rightMargin = 0;
    IEPageSetupX.topMargin = 0;
    IEPageSetupX.bottomMargin = 0;
    만 써도 안되고 clear() 써도 안되더군요..

    다시 다지우고 1.0.20.4버젼 인스톨 버젼 까니까 0으로 설정되던데..
    버그인거 같아요~ 고쳐주세요.^^;

    1. 아 지금 다시 테스트해보니
      미리보기 매소드를 쓰니 여백이 풀리네요
      IEPageSetupX.Preview()를 빼고

      그냥 웹브라우져에 있는 미리보기로 보면
      0으로 설정되 있네요 ㅇ_ㅇ;;

    2. 예.. 버그 확인했습니다.

      여백을 0으로 설정 후 Print()나 Preview()할 경우
      여백이 모두 6.35로 설정이 되네요..

      수정해서 올리겠습니다.
      다음 주 정도에 적용할 수 있을 것 같습니다.

  99. IEPageSetupX.PrintBackground = true;
    IEPageSetupX.header=”;
    IEPageSetupX.footer=”;
    IEPageSetupX.leftMargin=0;
    IEPageSetupX.rightMargin=0;
    IEPageSetupX.topMargin=20;
    IEPageSetupX.bottomMargin=0;
    IEPageSetupX.Preview();

    이렇게 해서 잘 사용 하고 있어 감사해 하고 있습니다.
    그런데 긴 문서일경우 화면 하단이 잘리네요

    제가 설정을 더해야 하는 부분이 있는지 답변 부탁드립니다.

  100. 너무도 좋은 프로그램들을 만들어 주셔서 열심히 사용하려고 노력중입니다…
    ActiveX 인증서가 ATMACS 로 나오던데 인증서 만료기간은 계속 업데이트는 되는건지 궁금해서요.
    사용중에 어느날 갑자기 설치버튼 안나올수도 있는 상황이 생길까봐 여쭤봅니다;;;

    1. 아쉽게도 인증서는 이제 업데이트 되지 않습니다.
      회사 이직하면서 사용할 수 없게 되었습니다.
      다른 분들이 인증한 파일을 공유해 주시면 해결될 것 같습니다만..
      방법을 찾아봐야 겠습니다.

  101. 프린팅 컴포넌트를 찾아 헤메인것이 1달여정도 되는데…. 드뎌.. 정말 좋은 프로그램 만난거 같습니다..
    이슬님 존 프로그램 만들어 주신거 감사드립니다..
    항상 행복하시고 존일만 생기시길…

    정말 잘 쓰겠습니다…

    저도 이런거 만들고 싶지만 머리가 영~~ 딸아주질 안아서여…ㅜㅜ

    암튼 감사 감사…

  102. 프린터 컴포넌트 찾다가 들어오게되었습니다.
    현재 scriptx를 쓰고 있는데요..
    scriptx의 shrink to fit 기능만 추가된다면 당장 바꾸고 싶네요~앞으로 꼭 그 기능 추가되길~^^
    좋은프로그램 만드시느라 수고하십니다.~

  103. 웹화면 인쇄를 한차원 업그레이드 해준 프로그램입니다. 너무 잘 사용하고 있습니다.
    한가지 바라는 점이라면 페이지 확대/축소 기능입니다. 제게는 절실히 필요한 상황입니다.
    그런데 댓글들을 읽어보면 축소 기능에서 브라우저가 지원하지 않으면 지원하기 어렵다고 하셨네요. ㅠㅠ

    다만 IE7에서는 페이지 확대/축소 기능이 제공되고 있는데 혹시 IE7에서라도 지원을 고려해주실 수 있는지요? ^^
    부탁드립니다. 꾸벅~

    1. 언제 한 번 시간내어 IE7의 확대/축소 기능에 대해서 분석해보겠습니다.
      분석해보고 가능하면 추가해드리겠습니다.
      언제될런지는 장담 못하겠습니다.

  104. 바로 위에 페이지 확대/축소 요청드렸던 까리쓰마입니다. ^^;
    사용하다가 한가지 버그를 발견하였습니다. XP + IE6 환경에서의 테스트입니다.
    프린터가 설치되지 않은 경우에 Preview()가 실행되면 미리보기 창이 나오지 않습니다.
    또한 IE창도 더이상 컨트롤 할 수가 없게 됩니다. 작업관리자에서 강제로 죽여야 합니다.
    PC 방에서 사용해본 건데 PC 방에서는 작업관리자도 막아버려서 창닫기도 불가능… ^^;;;
    확인을 부탁드립니다.

    1. 예.. 고맙습니다.
      해당 문제는 다음 버전 배포 시 수정하겠습니다.

      일단 해당 문제를 일으키지 않게 하는 방법 알려드릴게요..

      GetPrinters() 메소드의 결과를 확인하여 설치된 프린터가 있을 경우에만
      Print()나 Preview() 명령을 내리도록 처리하면 될 것 같습니다.

    2. 프린터가 설치되지 않은 상태에서 Preview() 메소드를 호출할 경우에도 문제없이 미리보기가 되도록 수정하였습니다.
      적용된 버전은 1.3.0.0입니다.

  105. 먼저 유용한 프로그램을 배포해 주셔서 감사하다는 말씀부터 드립니다.
    꼭 필요한 프로그램이었거든요…ㅎ
    지금 테스트 하다가 아쉬운 점이 있어서 글 올립니다.
    테스트 환경은 XP+IE7 입니다. 초기실행으로
    IEPageSetupX.Clear();
    IEPageSetupX.PaperSize = “A4”;
    IEPageSetupX.Orientation = 0; // 용지 방향 가로 설정
    IEPageSetupX.leftMargin,IEPageSetupX.rightMargin,IEPageSetupX.topMargin,IEPageSetupX.bottomMargin 등으로
    여백을 설정해 주고난 후
    IEPageSetupX.SetupPage();로 페이지 설정 창을 열면 여백은 초기 설정값대로 설정되어 있는데,
    용지 방향은 초기 설정값과 다르게 설정되어 표시되며
    용지 방향을 다른 값으로 변경 설정한 후 [확인]을 눌러 페이지 설정 창을 닫고
    IEPageSetupX.Preview(); 미리보기를 실행하면 용지 방향이 변경되어 있지 않습니다.
    또한 초기 설정된 여백 값과 달리 표시됩니다.
    미리보기 창을 닫고 다시 페이지 설정 창을 열어보면 설정된 여백값이 미리보기에서 보았던 그 값의 숫자가 나타납니다.
    아무쪼록 프로그램이 빠른 시간 안에 더 훌륭하게 되길 바라는 마음에서 글을 올립니다.
    이슬나라…!!! 참 좋은 나라인 것만은 틀림없는 것 같습니다.^^;ㅋ
    행복이 항상 함께하길 바라며…

  106. isul님! 안녕하십니까?
    요즈음 많이 바쁘신가 봅니다. 잘은 모르겠지만…^^;
    IEPageSetupX.GetPrinters();로 프린터 목록을 알 수가 있었는데,
    혹시 그 목록 중 기본 프린터로 설정되어 있는 프린터가 어느 것인지 알 수는 없겠습니까?
    기본 프린터가 어떤 것으로 설정되어 있는지를 알아야 목록을 보여줄 때 미리 선택되게 보여줄 수 있을텐데 말입니다.
    오늘도 모든 일이 잘 풀려나가는 하루가 되시길…!

    1. 안녕하세요..
      위에 남기신 버그 수정하면서 기본 프린터 구하는 기능 추가하겠습니다.
      주말에나 가능할 것 같습니다.
      Michael님도 행복한 하루 보내시고, 오늘 날씨가 많이 추워졌네요..
      감기 조심하세요^^

  107. isul님의 댓글이 어찌나 반가운지…^^; 인사글 올립니다.
    지금 IEPageSetupX의 기능들을 이용해서 Programming하고 있는 중인데,
    isul님이 아니었으면 아마도 인쇄 기능을 포기했었을 것입니다.
    isul님도 건강에 유의하시기 바랍니다.

    IEPageSetupX에 직접 관련된 것은 아닙니다만 한가지 더 고민이 있어 질문드립니다.

    aName[]에는 이름들이 들어가 있는 배열입니다.
    for(i=0; i

    1. 질문주신 내용을 이해하지 못했습니다.
      좀 더 자세히 알려주시거나 테스트 URL 알려주시면 확인해보겠습니다.
      고맙습니다.

    2. 간단히 해 봤습니다.
      여백 설정은 안 넣었으니 알아서 추가하세요..

      —————————–
      클라이언트
      —————————–

      <HTML>
      <HEAD>
      <TITLE> Print </TITLE>

      <SCRIPT LANGUAGE=”JavaScript”>
      <!–
      var userIDs = Array(‘isul’, ‘root’, ‘guest’);

      function printIDs(index)
      {
      if (index >= userIDs.length)
      {
      alert(‘인쇄 완료’);
      return;
      }

      document.fName.uid.value = userIDs[index];
      document.fName.index.value = index + 1;
      document.fName.submit();
      }
      //–>
      </script>

      </HEAD>

      <BODY>
      <OBJECT id=IEPageSetupX classid=”clsid:41C5BC45-1BE8-42C5-AD9F-495D6C8D7586″ codebase=”https://isulnara.com/myAPP/IEPageSetupX/IEPageSetupX.cab#version=1,1,0,1″ width=0 height=0>
      <param name=”copyright” value=”https://isulnara.com”>
      <div style=”position:absolute;top:276;left:320;width:300;height:68;border:solid 1 #99B3A0;background:#D8D7C4;overflow:hidden;z-index:1;visibility:visible;”><FONT style=’font-family: “굴림”, “Verdana”; font-size: 9pt; font-style: normal;’>
      <BR> 인쇄 여백제어 컨트롤이 설치되지 않았습니다. <BR> <a href=”./IEPageSetupX.exe”><font color=red>이곳</font></a>을 클릭하여 수동으로 설치하시기 바랍니다. </FONT>
      </div>
      </OBJECT>

      <a href=# onclick=’printIDs(0)’>인쇄 시작</a><br>

      <form name=’fName’ method=post action=”./data.php” target=’frmContents’>
      <input type=”hidden” name=”uid”>
      <input type=”hidden” name=”index”>
      </form>

      <iframe name=’frmContents’ src=” width=1024 height=768> </iframe>
      </BODY>
      </HTML>

      —————————–
      서버: data.php
      —————————–

      <?
      echo ‘안녕하세요 ‘ . $_POST[‘uid’] . ‘님’;
      ?>
      <script>
      window.focus();
      parent.IEPageSetupX.Print(true);
      parent.printIDs(<?=$_POST[‘index’]?>);
      </script>

    3. 먼저 답글 해주심에 감사의 말씀드립니다.
      저의 설명이 많이 부족했나봅니다. 하고자 하는 내용 줄거리를 말씀드리겠습니다.

      “printPage”라는 IE Window를 열고 그 곳에서 IEPageSetupX의 메소드를 이용해 인쇄 여백, 용지 방향 등 각 속성값들을 설정해 주었습니다.
      내용이 다른 페이지들을 그 “printPage” Window에 불러와 각각 인쇄하고 싶은데 어떻게 해야할 지 모르겠습니다.

      submit()를 이용하여 내용이 다른 페이지들을 그 Window에 불러온 다음 맨 하단에서 IEPageSetupX.Print();실행시키니 [오류:메서드 또는 속성 액세스로의 예기치 않은 호출입니다.]라는 에러 메시지가 뜹니다.
      이틀째 머리 싸매고 고민해 보았지만…!
      isul님 부디 도와 주시길 부탁드립니다.

    4. 빠른 답글 정말 고맙습니다. isul님!
      가르쳐 주신대로 적용해 본 다음 그 결과를 말씀드리도록 하겠습니다.
      다시 한 번 감사하다는 말씀 드립니다.
      ^_____^; (입 찢어집니당….!)

    5. isul님께서 제시해 준 방법을 적용시켜 보았습니다.
      적용시키는 과정에서 잘못했는지…아님 data.php에 해당하는 파일에서 DB 자료 읽어와 표시하느라 시간이 약간 걸려서 그랬는지…아무튼 data.php에서 alert(“< ?=$_POST['uid']?>“)를 이용하여 이름을 확인할 때는 화면 표시와 함께 잘 동작되었는데 막상 parent.IEPageSetupX.Print();를 해보니 클라이언트에 표시되었던 화면만 선택한 숫자만큼 인쇄되어 나오더군요. 아마 제가 잘못 적용했을 것이라 생각됩니다.
      그래서 isul님이 제시한 방법과 비슷하지만 약간 다르게 var objWin=open()을 이용하여 적용시켜 겨우 인쇄는 되게 해 놓았습니다.

      인쇄하고자 하는 자료들을 선택해서 그 자료들을 화면에 표시하고 인쇄 설정을 한 다음 한꺼번에 인쇄하고 싶었거든요.
      에~고, 힘들다…!

      다음의 URL로 접속하셔서 아이디와 비번 넣고 로그인하여 확인 부탁드립니다.
      http://cdp.comstudy.dnip.net/
      ID : isul
      PW : 2345
      [참고 사항] 위의 테스트 사이트는 오후 11:30분이면 PC를 꺼 놓기 땜시 접속할 수 없고 다음 날 오전 7시 30분에 다시 켜 놓습니다.

    6. 참, 한 가지 더 질문이 있습니다.
      위의 사이트에 접속하신 후 테스트 해 보시면 아시겠습니다만 window.open()으로 연 창이 닫히질 않습니다.

      var objWin=window.open(”, ‘print’, ‘….’);
      objWin.document.open();
      objWin.document.write(“IEPageSetupX OBJECT 및 이름에 해당하는 내용을 DB에서 가져와 화면 표시”);
      objWin.document.write(IEPageSetupX.Print());
      objWin.document.close();
      objWin.close();

      와 같이 코딩했습니다.

    7. 확인해보니 에러가 있는 것 같습니다.
      직원 3명 선택하고 인쇄하니 2명 인쇄되고 에러 발생하네요..

      if( prt_count != 0 ) {
      ……
      //objWin.document.write(alert(“홍길동”));
      objWin.document.write(IEPageSetupX.Print());
      objWin.document.close();
      objWin.close();

      prt_count–;
      printLoop(objWin);
      }

      에서
      objWin.document.write(IEPageSetupX.Print());
      위 코드가
      objWin.document.write(‘IEPageSetupX.Print()’);
      로 되어야될 것 같습니다.
      창이 닫히지 않는 문제도 위 코드에서 에러가 발생하여 그 뒤의 두 라인이 수행되지 않은 것 같습니다.

    8. isul님! 먼저 고맙다는 인사부터 합니다.
      불가능할 것만 같던 문제들이 모두 해결되었습니다. 모두 isul님의 친절하고 따뜻한 마음 때문인 것 같습니다.

      위에서 지적해 준 내용을 참고하여 다음과 같이 수정하고 테스트 해 보았더니 실행도 잘되고 닫히지 않던 창도 잘 닫히게 되었습니다.

      objWin.document.write(document.getElementById(“printPageLayer”).innerHTML);
      ⇒ var prtContents = document.getElementById(“printPageLayer”).innerHTML;
      objWin.document.write(prtContents);

      objWin.document.write(IEPageSetupX.Print());
      ⇒ objWin.document.write(‘< '+'script'+'>‘+’opener.IEPageSetupX.Print()’+’< '+'/'+'script'+'>‘);

      이제 처리를 조금 변경시켜 먼저 인쇄할 이름들을 먼저 선택하게 하고 그 다음에 IEPageSetupX를 이용한 [인쇄 설정]에 이어서 [인쇄]가 될 수 있도록 해 보아야 겠습니다.
      일주일 동안의 고민을 isul님의 친절함으로 일거에 날려 버릴 수 있게 되어서 정말 고맙습니다.

    9. 안녕하십니까? isul님!
      isul님의 도움으로 드디어 하고자 했던대로 거의 마무리 되어가고 있습니다.

      앞에서 말씀드렸듯이 인쇄할 이름들을 먼저 선택하게 하고 그 다음에 IEPageSetupX를 이용한 [인쇄 설정]에 이어서 [인쇄]가 될 수 있도록 해 보았습니다.
      그렇게 하려다보니 결국은 window.open()으로 했던 방식은 포기하고 isul님이 위에서 제시해 준 그 방식대로 코딩을 완료했습니다.^_____^

      테스트 인쇄를 해보니 선택된 자료들은 인쇄가 이상없이 잘 되는데…IEPageSetupX 컨트롤 설정에 의해 설정된 값대로 인쇄 되기도 하고 안되는 페이지도 있고 그렇습니다.ㅠㅠ

      제가 무언가 놓친 부분이 있지 않았나 하는 생각을 해봅니다. 다시 한 번 사이트에 접속하시어 [페이지 설정], [미리보기] 등을 살펴 보아주시고 인쇄 테스트도 부탁드려 봅니다. 맨날 부탁만 드리려니 염치가 없군요…ㅠㅠ

      참고적으로 제가 코딩한 내용을 말씀드리자면 인쇄 전 초기에 각 Margin들의 값을 설정해 주었습니다. 그리고 나서 페이지 설정(IEPageSetupX.SetupPage())에서 확인해 보니 초기에 프로그램에서 설정된 값과는 다른값이 확인되었으며, 이어서 페이지 설정에서 여백값을 다른값으로 설정한 후 미리보기(IEPageSetupX.Preview())를 해 보면 페이지 설정에서 설정된 값으로 미리 보여지지가 않고 있습니다.

      계속해서 미리보기 창의 페이지 설정(alt+U)을 이용해서 여백을 변경 설정한 후 미리보기 창을 닫고 다시 페이지 설정 버튼을 눌러보면 여백값들이 다르게 나오고 있습니다.

      [페이지 설정]이나 [미리보기] 등 어느 곳에서 값들을 설정하더라도 또한 다른 어느 곳에서나 그 설정 변경된 값들이 반영되었으면 합니다만…
      설명을 제대로 했나 모르겠군요.

      오늘도 좋은 하루로 마무리 잘 하시길 바랍니다.

    10. 아이쿠~! 지금 작업 중이어서…정상으로 돌려 놓아야 겠네요.
      컨트롤 설치 여부 검사하는 PrintTest() 함수가 동작하지 않네요.
      컨트롤 설치 여부를 어떻게 알 수 있지요?

    11. 상세한 버그 리포팅 고맙습니다.

      확인 결과 버그가 맞더군요.
      Michael님께서 요청하신 기능을 추가하면서 오른쪽과 위쪽 여백이 뒤바뀌는 문제가 발생하였습니다.
      현재 수정하였습니다.(적용 버전: 1.3.0.2)

      그리고, 컨트롤 설치 여부 확인은 데모 페이지에 있는 Installed() 함수를 참고하세요..

      참고사항으로 IEPageSetupX을 이용하여 html 문서가 오픈되는 순간 여백이나 기타 기능을 사용할 경우 <script>IEPageSetupX.leftMargin=3;</script>처럼 사용하는 것보다는
      <body onload=’setMargin()’>처럼 onload 이벤트에서 처리해주시기 바랍니다.

      고맙습니다.

    12. 고맙기는요! 오히려 제가 대단히 고마워 해야할 사람이지요!
      이제 에러없이 아주 잘 동작되고 있습니다.^______^;

      이 모든 것이 친절한 isul님이 아니었으면 저로선 불가능한 일이었습니다.
      “IE 인쇄 페이지 설정 컨트롤”을 개발하여 무료 배포해 준 것만도 대단히 고마운 일인데,
      거기다가 질문에 대한 답도 친절하게 달아 주시니…
      고맙다는 말만으로는 고마움을 표시하기에 많이 부족한 것 같습니다.

      위의 글 중 버그 리포팅을 한 비밀글에 전화번호를 적어 놓았으니 시간 날 때 전화주시기 바랍니다.
      친절한 분 얼굴도 뵙고, 쐬주라도 한 잔 나누고 싶습니다.
      다시 한 번 대단히 고마웠다는 말씀 드립니다.

    13. isul님! 항상 친절한 답글 감사 드립니다.

      위의 글에서 여백에 대한 버그를 수정하셨다고 했었는데
      제가 확인해 보니 저의 컴퓨터 환경에서는 조금 다르게 나와 Debugging 하시는데 조금이라도 도움이 될까해서 그 테스트 결과 파일을 아래의 주소에 넣어 두었습니다.

      IEPageSetupX_테스트.hwp

      윗 글에서도 질문했었는데 IE 인쇄 컨트롤 설치 여부를 어떻게 알아내야 합니까? 버전업 되기전에는 잘 동작되었었는데 말입니다.

      ==============
      하태수 011-750-4583
      사는 곳 : 경기도 일산신도시
      근무지 : 현재는 동대문 케레스타 빌딩 내 행동과학훈련원 교육본부
      시간 날 때 연락주시기 바랍니다.
      쐬주라도 한 잔 합시다.

    14. 다행히 모두 잘 해결되었군요^^
      일산에 사시는군요.. 저도 일산 대화동에 한 3년 살았었죠..
      지금은 분당에 있습니다.
      거의 반대편이네요..
      제가 재미가 없는 놈이라… 쐬주 맛이 안나실텐데요..
      제가 만든 프로그램이 다른 개발자 분들께 필요하고 도움이 되었다면 그것으로 충분합니다.
      고맙습니다..

  108. 안녕하십니까? 저도 프린트 제어 관련하여 ScriptX를 사용하고 있다가 다른 대안을 한참을 찾던 중 이 곳을 발견하였습니다.

    제가 궁금한 것은 이 프로그램에 속성에서 ‘인쇄할 매수’를 지정할 수 있는지 궁금합니다. 답변 부탁 드립니다.

  109. 안녕하세요! 업무일지용으로 1년동안 잘 사용하고 있습니다! 감사합니다!
    2009년도 업무일지양식이 변경되어 다시 작성하는 증입니다.
    바로 프린트인쇄를 하면, a4용지의 4/1만 나오는데,
    미리 인쇄보기 해서 100%로 인쇄하면 정상적으로 나오거던요…
    바로 프린트인쇄버튼을 눌러서 100%나 스케일(95%)로 크기를 지정해서 바로 인쇄되게 할 수 없는지요!
    제가 기능을 못찾은 건지… 한번 확인 및 검토 부탁합니다.
    새해 복많이 받으십시오!

  110. 안녕하세요. 좋은 프로그램 공개해 주셔서 감사드립니다.
    라이센스 관련 문의입니다.

    라이센스를 보면 본 프로그램 자체를 판매하지 않으면 된다고 말씀하셨는데 이 의미는 프린터 프로그램 자체의 판매가 아닌 다른 주 용도의 상용프로그램에 프린터 기능으로 포함되어 배포되는 것은 괜찮다는 말씀인거 같은데 제가 바로 이해한건지요?

    몇몇 국내나 외국계 프로그램들 라이센스가 워낙 애매하고 교묘하게 된 경우가 많아서 물론 isul님의 프로그램이 그렇다는건 아니지만 혹 제가 잘못알고 자의적으로 해석하고 있는 부분은 없나 싶은 마음에 한번 더 확인을 드리고 사용을 할려구요.
    답변 좀 부탁 드릴게요.

    1. 예.. 정확히 이해하셨습니다.

      이 ActiveX 컨트롤을 사용하는 ActiveX 컨트롤을 만들지 않고(즉, 이 ActiveX 컨트롤을 이용하여 또 다른 ActiveX 컨트롤을 만드는 것은 안됩니다), 이 ActiveX 컨트롤 자체를 판매하지 않는 조건(제가 만든 것을 자신이 만든 것처럼 또는 판매권리를 가진 것처럼하여 판매하는 것을 의미)으로 상용 프로그램에 포함시켜 배포하셔도 됩니다.

  111. 답변감사합니다! IE6과 IE7 버전 사이에 인쇄가 좀 다르게 나오더군요! 그걸 모르고, 잘 사용하던게 왜 갑자기 1/4만 인쇄가 되나 했네요!… IE7기준으로 하도록 조치했습니다… 수고하세요…!

  112. 제가 정말 찾던 프로그램입니다. scriptx 사용하다가 버그가 심해서 다른 제어컨트롤 찾다 못찾고 거의 포기직전이었거드요.
    너무 감사드립니다. ^^

  113. 이게 버그인가 모르겠는데요. 인쇄할 내용이 길면 컨트롤이 정상적으로 작동을 안하는 것 같습니다.
    세금계산서 인쇄하는 페이지에서 테스트를 해보는데요. 왜 세금계산서는 공급자용 /공급받는자용 부분이 거의 동일하잖아요
    공급받는자 부분 html 태그 쪽만 인쇄하면 정상으로 프린터대화상자가 뜨는데, 거의 같은 소스를 밑으로 붙쳐서 인쇄하면 대화상자가 안뜨네요? 이것은 왜그런건지요

    1. 차단이라함은 처음 설치시 말인가요?
      인증서가 만료되었을 수도 있으니 인증서 있으면 직접 해보세요..
      예전에 사용하던 인증서를 이제는 사용할 수 없습니다.

  114. 초보적인 질문입니다만 프린터목록을 반환받을때 각각 프린터명들의 구분자는 무엇으로 들어오나요?
    쪼개서 드랍다운 메뉴에 넣고 싶어서 말입니다.

  115. 아흑. 워낙 초보다 보니. 흠흠. 어떻게 보면 게시물성격하고 좀 틀린 질문이 될수도 있겠지만 ㅠㅠ
    제가 사용자 PC에 있는 프린터 목록을 만든뒤 선택후 출력하게 코딩을 했습니다.

    허나 잘되는데 네트워크 프린트 같은 경우는 ‘\\100.100.100.100\프린트명’ 이런식으로 비교를 해야 하는데
    if (IEPageSetupX.GetPrinters().indexOf(print_s) > -1)
    IEPageSetupX.Printer = print_s;
    자바스크립트에 적용하게 되면 ‘\100.100.100.100프린트명’ 이런식으로 되기 때문에 네트워크 프린터는 못찾는데요..

    다른분들은 요런문제 어떻게 해결하셨나요? 좋은하루 되세요~

    1. 아~ 방금 해결했습니다. 자바스크립트로 해결해 볼까 했는데 그냥 프로그램 코드로 replace해서 넘겼습니다.

  116. 혹시 미리보기 호출시 멈추는 현상을 겪으신분 계신가요??

    IEPageSetupX.PrintBackground = true; //배경색 및 배경이미지 출력

    IEPageSetupX.leftMargin=’8.0′; //왼쪽여백설정(단위:mm)
    IEPageSetupX.rightMargin=’8.0′; //오른쪽여백설정(단위:mm)
    IEPageSetupX.topMargin=’7.0′; //위쪽여백설정(단위:mm)
    IEPageSetupX.bottomMargin=’7.0′; //아래쪽여백설정(단위:mm)
    IEPageSetupX.Orientation =’1′; //가로세로 설정 (가로0, 세로1)
    IEPageSetupX.header=”; //머리글설정
    IEPageSetupX.footer=”; //바닥글설정

    var print_s = “\\\\100.100.100.1\\HP Officejet Pro K550 Series”;

    if (IEPageSetupX.GetPrinters().indexOf(print_s) > -1)
    IEPageSetupX.Printer = print_s;

    IEPageSetupX.Preview(); //인쇄미리보기

    이런식으로 호출했는데 멈춥니다.
    허나 상하 여백이 8.0이 들어가는 경우는 현재 멈추지 않고 미리보기 창이 뜨고 있는데요.
    이런 현상을 겪으신분 계신가요?

    1. 좀 황당하긴 하지만 -_-;; top이든 bottom이든 left든 right이든 여백 7이 들어가면 멈추네요. 6이나 8등의 여백으로는 멈추지 않는데요 ㅠㅠ

      ㄴ 테스트를 더 해 보니까 5, 7같은 홀수가 여백에 들어가면 멈추고 6, 8같은 짝수가 들어가면 멈추지 않는것 같습니다. 저만그런가요 ㅠㅠ

    2. 저는 해당 문제가 발생하지 않네요..

      참고사항으로 IEPageSetupX을 이용하여 html 문서가 오픈되는 순간 여백이나 기타 기능을 사용할 경우 <script>IEPageSetupX.leftMargin=3;</script>처럼 사용하는 것보다는
      <body onload=’setMargin()’>처럼 onload 이벤트에서 처리해주시기 바랍니다.

  117. 아흑 ie7에서는 잘되는데 ie6에서는 문제가 생기네요. 서버도 바꿔보고 다른컴에서도 실행을 시켜봤는데.
    access violation에러가 나기도 하네요. 훔..ㅠㅠ 상단 여백을 7로 놓고 테스트할때는 ie6에선 멈춰버려용.

    function setMargin()
    {
    IEPageSetupX.SetDefault(); //기본값으로 복원(여백 모두: 0.75mm, 배경색 및 이미지 인쇄: 안함)

    IEPageSetupX.leftMargin=’< %=this.left_mg%>‘; //왼쪽여백설정(단위:mm)
    IEPageSetupX.rightMargin=’< %=this.right_mg%>‘; //오른쪽여백설정(단위:mm)
    IEPageSetupX.topMargin=’< %=this.top_mg%>‘; //위쪽여백설정(단위:mm)
    IEPageSetupX.bottomMargin=’< %=this.bottom_mg%>‘; //아래쪽여백설정(단위:mm)
    IEPageSetupX.PrintBackground = true; //배경색 및 배경이미지 출력
    IEPageSetupX.Orientation =’< %=this.orientation%>‘; //가로세로 설정 (가로0, 세로1)
    IEPageSetupX.header=’< %=this.header%>‘; //머리글설정
    IEPageSetupX.footer=’< %=this.footer%>‘; //바닥글설정

    printWindow();
    }

    function printWindow()
    {
    var print_s = “< %=this.printname%>“;

    if (IEPageSetupX.GetPrinters().indexOf(print_s) > -1)
    IEPageSetupX.Printer = print_s;

    IEPageSetupX.Preview(); //인쇄미리보기

    self.close();
    }

    이런식으로 사용했습니다.

    1. 위에도 글 남겼는데요..
      아래 사항에 대한 답변이 없네요..

      IEPageSetupX을 이용하여 html 문서가 오픈되는 순간 여백이나 기타 기능을 사용할 경우 <script>IEPageSetupX.leftMargin=3;</script>처럼 사용하는 것보다는
      <body onload=’setMargin()’>처럼 onload 이벤트에서 처리해주시기 바랍니다.
      이렇게 처리하지 않을 경우 말씀하신 에러가 발생할 수 있습니다.

      올려주신 코드에서 setMargin()이 어떻게 호출되는지 알려주세요..

      빠른 해결을 원하시면 테스트할 수 있는 URL을 알려주시면 좋습니다.

    2. Preview();주석처리시 멈추지 않습니다.

      익스플로어 미리보기 뜰때 멈추는것 같습니다. ㅠㅠ

  118. setMargin()은 말씀하신것처럼 body onload이벤트로 호출을 하고 있습니다.
    전에는 function 하나에서 여백주고 미리보기 호출했지만 위에 말씀해 주셔서 약간의 수정은 했습니다.

    허나 onload시 setMargin만 호출하고 Preview를 버튼처리 해도 마찬가지 문제가 일어나는군요.

    테스트 더 해보고 다시 결과 말씀드릴께용.

    1. 알려주신 URL로 접속하니 잘 됩니다.
      ie6에서 테스트 했습니다.
      컴포넌트 삭제하고 다시 해보세요..
      원인을 찾기가 쉽지가 않네요..

  119. 상단여백 7로 셋팅하고 해보셨나요 ㅠㅠ db값이 안바뀐거 보니까 그대로 인쇄버튼 누르셨거나
    상단여백 7셋팅후 저장버튼 안누르시고 그냥 인쇄하신것 같으세여…ㅠㅠ 컴포넌트 삭제야 여러번 해봤구여..
    컴퓨터도 한대에서 테스트 해본건 아니기 때문에 컴포넌트가 잘못설치된건 아닌듯 싶습니다…

    1. 저장을 눌러야 적용되는 거군요…
      적용이 안되길래 소스보기 해서 그대로 가져와서 여백 수정해서 테스트 했습니다.
      조금 전에 저장 눌러서 테스트 해 봤습니다.
      3개 컴퓨터에서 테스트 했는데 역시나 잘 되네요..
      좀 더 테스트 해 보겠습니다.

    2. 너무너무 감사합니다.
      문제가 뭔지 찾기 쉽지가 않네요.
      신경써 주셔서 감사합니다. 일단은 ie7에서는
      잘되니까 다행이고요. 제가 잘못한 부분이 있나
      처음부터 차근차근 살펴 보도록 하겠습니다.
      귀한시간 뺏은거 같아서 죄송해요ㅠㅠ그리고 감사해요.

  120. ㅠㅠ 결국엔 해결못했습니다. isul님께서 테스트시 잘된다니 특정컴퓨터 문제라고 생각해야 되겠네요.
    comdlg32.dll 엑세스 에러가 나기도 하고… 포커스를 잃어버리면서 멈춰버리기도 하고… 이벤트 로그에는
    아무것도 안남고… 이틀동안 휴.ㅠㅠ ㅋㅋ 아무튼 감사합니다. (_._) 잘쓰겠습니다. ㅎ

    1. 제 주변에서 동일한 에러가 발생하는 컴퓨터를 찾을 수가 없어 해결하기가 쉽지가 않습니다.
      원격으로 문제가 발생하는 화면에 제가 접속하지 않는 이상 해결은 힘들 것 같습니다.
      혹시나 원격 지원(네이트온 등)으로 제가 접속할 수 있다면 연락(isul at isulnara.com)주세요..

  121. 아.. 혹시 os특성도 탈까요? 저는 win2000 server, ie6 컴퓨터 3대에서 테스트를 해보았는데…
    winxp, ie6에서 테스트 해보고 결과 말씀드리겠습니다.

  122. 일단은 안심이네요. winxp, ie6에서 테스트시에는 잘됩니다… 고객컴퓨터가 설마 2000은 없겠지요..
    허나 제경우는 win2000 server, ie6이었는데.. 이슬님께서 테스트하신 PC는 아마도 winxp, ie6이셨던것
    같네요. 혹시 여건이 되신다면 저와 같은 조건에서 테스트 해보시고요. 안되시면 제컴퓨터 원격접속하셔서
    보셔도 되요. 넷미팅으로 연결해 드릴께요. 신경써주셔서 무지무지 감사하게 생각하고 있습니다. (-,-)(_._)꾸벅

    ps. 아마도 윈2000server의 comdlg32.dll이 버그가 있는게 아닐까싶네요… 웬지 미리보기 대화상자 띄울때 엑세스 오류가 나는듯 싶은데요…

  123. 안녕하세요~

    예전에 다운받았다가 오늘 다시 받으려 하니..다운로드 버튼이 없어진거 같습니다. 제가 못찾는건가요? ㅠㅠ

  124. 찬찬히 기회되실때 테스트 해보셔도 되요. 저는 XP에선 잘되는걸 확인한뒤로
    별걱정안하고 있거든여. 사용자가 윈도우2000 server쓸일은 거의 없다고 봐서요. ㅎ

  125. 안녕하세요. 저는 출력 시 정해준 여백설정이 다르게 적용되는 특정 컴퓨터가 있어 문의 드립니다.
    모든 컴퓨터는 아니고 일부 컴퓨터에서 상단과 하단여백이 설정한 여백보다 더 많이 잡히는 현상이 발생합니다. 분명히 해당 컴퓨터의 세팅 문제 인거 같은데, 어떤 세팅을 바꿔야 하는지 혹시 아시는지요?

    1. 프린터 자체의 여백 설정 때문에 그런 것이 아닐까 생각됩니다.
      이 ActiveX 컴포넌트를 사용하지 않고, 수동으로 각각 동일하게 여백을 설정하여 인쇄해보세요..
      이럴 경우에도 동일한 문제가 발생하는지 말입니다.
      확인 부탁드립니다.

  126. 안녕하세요. 우연한 기회에 scriptX대신 사용할 프로그램을 찾던 중 알게 되어 어제부터 테스트 중입니다.
    정말 잘 만드셨다는 말씀밖에는.. ^^;
    아 저 다름이 아니라 저는 인쇄하고자 하는 창이 보이지 않게 처리를 하려고 하는데요.
    iframe에 가로세로를 0으로 주고 src를 변경시켜 인쇄 페이지로 이동하게끔 프로그램 했습니다.
    인쇄 페이지에 IEPageSetupX 오브젝트가 있고 body안쪽에 위치 시켰습죠..
    인쇄페이지 단독으로 실행시 이상없이 출력이 되나. iframe의 src를 이동시켜 인쇄할 경우
    에러코드 102발생하면서 body의 onload에 메소드 호출을 하라는 메세지가 나옵니다.
    이럴경우에는 어떻게 해야 하나요?? (focus.. 해봤습니다..)

  127. 안녕하세요!! ^^; 개발시에 항상 출력물로 인해 귀찮았었는데 이렇게 좋은 프로그램을 발견하게 되서 너무 기쁩니다.!! ^^
    그런데 궁금한게 하나 있어서 이렇게 질문드립니다.
    다름이 아니라 IEPageSetupX 에서 출력할 영역을 지정 할 수 있느냐 입니다.
    예를 들자면 현재 페이지에서 메뉴 부분과 댓글 부분을 제외한 내용 부분만을 출력 하고 싶을 경우에 그 영역을 지정하는걸 말씀드리는 겁니다 ^^;
    예제 등에서 살펴본 바로는 그 영역을 지정하는 부분이 보이지가 않아서 이렇게 질문을 드립니다 ^^;;

    1. 이 컨트롤에서는 지원하지 않습니다만…

      아래처럼하면 됩니다.



      인쇄됩니다.

      여기는 보이지만 인쇄는 안됩니다.인쇄

      인쇄됩니다.

  128. 위에 제피님과 같은 현상입니다.
    window.print()로는 문제 없이 출력 되지만,
    IEPageSetupX를 이용하면 에러메시지만 보여지게 됩니다,
    기본 페이지에서는 되지만,
    showModalDialog 창에서는 방법이 없을까요?

  129. 102에러가 나는데 어떤 문제일까요?

    body 객체의 onload 에벤트에서 IEPageSetupX의 속성/메소드를 호출하여 주십시오라고 나옵니다.

  130. 이슬님 안녕하세요~ 너무 좋은 프로그램 공개해주셔서 감사합니다.
    다름이 아니라 제대로 설치한거 같은데요. xp에서는 화면일부가 잘리거든요.
    그런데 비스타에선 인쇄영역을 조정할 수 있도록 조절자가 나타나더라구요.
    엑스피에서도 그렇게 할 수 없나요?
    이대로라면 디자인파일 크기랑 이미지를 다 줄여야해서 ㅜㅜ 급한 마음에 질문드려봅니다.
    http://www.kapa21.or.kr/kapaforum2/kapaforum.php?fid=4 입니다.

    1. 안녕하세요.
      해당 기능은 현재 지원되지 않습니다.
      몇 분이 요청하셔서 검토 중에 있습니다.
      다음 버전에 추가하려고 노력하고 있습니다만…
      언제 될런지는 모르겠습니다.
      해당 기능은 다음 버전에서 최우선 순위로 두고 있습니다.
      현재로서는 페이지에 맞게 이미지랑 텍스트 모두 수정하는 수 밖에 없을 것 같습니다.
      고맙습니다.

  131. 정말 회사에서 유용하게 쓰고 있는 유저입니다. 감사의 말씀 먼저 드리고요
    다름이 아니라 이상한 현상을 발견했습니다.

    특정 자리의 컴퓨터에서 출력하게 되면 출력창은 뜨는데 출력창 포커스를 잃어버립니다. 출력도 안나오고요
    출력 대화상자도 안나옵니다. 프린터 설치 되있구요. 다른 프린터를 기본 프린터로 설정도 해봤는데 증상은 똑같네요
    액티브 x 지웠다가 다시 깔아도 보고 재부팅도 해보고 보안 프로그램들 싹다 지워버리고도 해봤는데
    여전합니다.

    전체가 다 그런다면 제가 만든 소스의 문제겠지만 한 컴퓨터에서만 그러네요…
    어떤 문제일까요…제 생각엔 그 자리에 있는 분이 설치한 어떤 프로그램과 충돌이 나는것 같은데;
    어찌해야될까요…포멧한지 얼마 되지도 않은 컴퓨터인데 그러니…답답하네요

  132. 그 컴퓨터를 포멧했습니다 결국…그리고 원인을 찾아냈는데 해결방법을 모르겠네요
    프린터 드라이버를 설치하기 전에는 정상적으로 작동하는데
    네트워크로 연결된 프린터가 세대인데 그 드라이버 중 어느것 하나만 설치해도 창 포커스를 잃어버리는 현상이 발생하네요
    어떻게 해야되는건지 정말 모르겠습니다……
    다른 컴퓨터들은 다 이상없이 작동하거든요….깨끗이 밀어버린 컴퓨터에서 그러니…돌겠네요…

    1. 안녕하세요..
      제가 원격으로 직접 볼 수 있으면 문제를 해결하는데 도움이 될 수 있을 것 같습니다.
      제 주변에서 동일한 상황을 만나야 해결할 수 있을 것 같습니다.
      혹시나 제가 원격으로 볼 수 있는 상황이 된다면 연락주세요..

  133. 정말 유용한 프로그램을 감사한 마음으로 잘 쓰고 있었습니다.
    버그(?일지 모르는)현상이 생겨서 여쭈어봅니다.
    하나씩의 낱장으로 프린트를 하게 되면 문제 없이 잘 되는것이,
    같은 동작을 여러번 반복하면(.Print(false) 여러번) 원하는 출력이 아니라
    처음 몇 장 만 제대로 나오다가 인쇄 버튼을 누른 웹페이지 그대로 나오더라구요,,,
    암만 소스를 고쳐봐도 도통 해결이 안되는군요,,
    방법이 없을까요?
    WinXP SP3, IE7, IE8 에서 돌립니다.

    1. 같은 동작을 반복하는 것은 스크립트로 그렇게 한 것인가요? 아니면 직접 버튼은 여러 번 클릭한 것인가요?
      테스트할 수 있는 URL을 알려주시면 테스트 해보겠습니다.
      테스트 URL 공개가 힘들면 비밀글로 남겨주세요..
      저도 테스트해 보겠습니다.

  134. test//test 로 로그인 하셔서,
    Dental Lab Service -> Print Slip -> 왼쪽 리스트 클릭 -> 하단에 환자 이름 입력 -> 중앙 ‘—>’ 버튼 클릭 -> 오른쪽의 생긴 리스트 클릭 -> Print Slip 버튼 클릭 ext)오른쪽 하단 리스트 더블클릭으로 Re-Print,

    프린트 정보를 띄워놓구 인쇄를 하게 되면, print_page.html로 프린트 되는게 정상이고 그 외의 것은 에러나더랍니다..
    버튼을 여러번 클릭하게 됩니다. 누를때 마다 인쇄 페이지를 호출하고, 호출된 페이지에서 부모창 데이터 받아다가 테이블 안에 넣고 인쇄하는 방법인데, 에러증상으로 생각해볼 때, 현재 작업이 끝난 후에 다시 인쇄 페이지를 불러서 계산(?) 하고 프린터 인쇄 대기 리스트에 넣는듯 합니다.,, 신경써주셔서 감사합니다.

    1. print_page.html
      제가 이해하기로 위 페이지는 iframe 내에서 불려지고,
      function print_page()에서 window.focus();로 iframe으로 포커스를 이동시켜서 그 iframe내의 문서를 인쇄하도록 한 것 같습니다.

      테스트 해보니 문제가 말씀하신 것처럼 iframe이 아닌 일반 웹 페이지가 인쇄되는 경우가 발생하네요..
      focus를 잃어버리는 경우가 발생하는 듯합니다.

      제 생각에는 function print_page()에서 window.focus();가 실행된 뒤
      parent.IEPageSetupX.Print(false);가 실행되기 전 또는 실행되는 중(아직 실제로 프린터로 인쇄하는 명령이 내려지지 않은 상태)에
      사용자가 다시 인쇄하기 위하여 ‘Deliveried’ 리스트를 더블클릭하는 순간 focus가 메인 페이지로 이동되고,
      인쇄는 현재 포커스를 가진 메인 페이지가 인쇄되는 것 같습니다.

      focus 문제가 발생하는 iframe 방식보다는 레이어를 사용하여 인쇄하는 방법이 좋을 것 같습니다.
      아래 링크 참고하세요..
      https://isulnara.com/myAPP/IEPageSetupX/demo2.html
      위 페이지에서 idPrint2를 style=’display:none’으로 설정하고,
      innerHTML로 인쇄 양식을 동적으로 변경시키고 인쇄하면 문제 없이 될 것 같습니다.

      그리고, 다른 문제도 존재합니다. 사용자가 인쇄를 요청한 후 iframe의 페이지가 로딩 중에 다시 인쇄 요청하면 이전에 로딩 중이던 웹 페이지는 무시되죠..
      즉, 2번째 요청에 대해서만 인쇄가 되는거죠..
      이 부분은 인쇄 요청 시 인쇄 요청을 금지시키고, iframe에서 로딩 (인쇄) 완료 후 다시 인쇄 요청 가능하게 만들어 주는게 좋을 것 같습니다.

  135. 오옷~ 분석까지 해주시다니 감사할 따름입니다.
    ‘내 코딩엔 문제가 없다’ 가 문제였네요.
    맨 땅에 헤딩으로 시작한거라 누구에게도 도움받을 수 없었습니다. ㅠ_ㅠ;
    지적해주신 부분 열심히 만져보겠습니다.

  136. 이슬님, 지적해주신 대로, 레이어 방법으로 바꾸는 과정에서,
    인쇄 테스트를 하는데 이전에 적용시켰던 style이 하나도 안먹히는데요,
    예를 들면, 테두리 두께라던지 테이블 속성들이 하나로 통일되어져 인쇄가 됩니다.
    레이어 방법에서는 style=”border-width:1;bborder-style:solid;” 와

    의 두께가 틀립니다,
    여백 설정도 틀리고,, 흠,, 어떻게 해야할까요?? CSS는 전혀 안써봐서,, CSS로 해결 될까요?
    1. 죄송합니다만 급한 일이 있어 더 이상은 분석해드리기가 어렵습니다.
      css로 당연히 해결되리라 생각됩니다.
      혼자서 해결이 어려우면 웹개발자 관련 사이트에 글 남기면 답변을 얻을 수도 있을 것 같습니다.
      그럼 원하시는 결과를 얻길 바라겠습니다.

  137. 좋은 프로그램 덕분에 ScriptX 공개 버전으로 안되던 부분을 해결 했습니다.
    그런데 전 2가지 문제가 있더군요.
    일단 용지사이즈를 임의로 조절 하지 못하는 부분요.
    A4, B5 이렇게는 조절 되지만 100*200 이런 임의의 사이즈는 지정이 안되는 건가요?
    아니면 따로 지정을 안하면 프린터 설정을 따르는 건가요?
    그리고 프린터에 따라서 여백설정이 안먹히는 경우도 있나요?
    HP 프린터를 쓰는데 여백이 0셋을 해도 프린터 설정의 여백으로 나오네요.
    뭐 그건 ScriptX도 마찬가지 입니다만.. ^^

    아 그리고 Clean() 메쏘드의 문제점이 좀 있었는데.. 그건 조금더 확인해서 말씀드릴께요.

    1. 예..용지사이즈는 임의로 조절하지 못합니다.
      사용자 정의로 미리 등록되어 있는 것으로 선택은 가능합니다만 임의의 사이즈를 등록할 수는 없습니다.

      여백설정 문제 관련해서는 프린터 자체에 여백이 설정되어 있는 부분은 어떻게 할 수가 없습니다.
      IEPageSetup은 단순히 IE의 메뉴에 있는 ‘파일-인쇄’, ‘파일-인쇄 미리보기’를 강제로 클릭하고, 값들을 넣어주는 기능만 할 뿐입니다.

      Clean() 관련 문제는 알려주시면 확인해보겠습니다.

      고맙습니다.

  138. 외국 ActiveX 이용을 고려하다가 황금같은 리소스를 발견하였네요~

    먼저, 우리 것이라는 사실에 자부심을 느낍니다.
    또한, 황금같은 리소스를 공개하여 주신 것에 깊은 감사 인사를 드립니다.

    하시는 일 늘 탄탄대로 일취월장 번창대박 있으시기를 응원드립니다.
    감사합니다!

  139. 궁금하여 여쭤봅니다 인터넷 익스플로러 8 버전에서도 무리가 없는지요? 어떤 검에서 스크립트 오류가 난다하여
    확인중인데요?

  140. 위에도 언급된 글이 있는데 컴퓨터의 국가 설정에 길이단위가 인치로 되어있건 미터로 되어있건 mm로 여백설정에 되는 기능이 있었으면 좋겠습니다. 여백을 15로 설정했는데 업체 pc중 일부 pc에서 오류가 나서 보니깐 국가별 설정에서 길이 단위를 인치로 해 놓았더군요. 15인치 여백을 주려니깐 오류가 난겁니다. 일부 외국계 업체의 경우 외국인이 쓰는 PC는 일부러 인치로 설정된 경우도 있으니 이 기능이 필요할 것 같습니다. 아니면 적어도 여백단위가 인치인지 밀리미터인지를 알아낼 방법만이라도 있었으면 좋겠습니다.

    1. 예.. 다음 버전 배포 시 꼭 추가하겠습니다.
      mm로 설정하고, 인치로된 시스템에서는 자동으로 인치 계산을 해서 적용되도록 해야 겠네요..
      고맙습니다.

  141. 잘 쓰고 있습니다.
    그런데 어제부터 갑자기 스크립트오류가 뜨네요.
    제가 수정한것도 없고 익스플로어도 6이랑 7을 쓰는데..
    혹시 8버전으로 수정하신가 해서요.

  142. 정말 유용한 프로그램을 감사한 마음으로 잘 쓰고 있었습니다.
    근데 쪽번호 기능은 아직 없는건가요? 인쇄 미리보기시에 쪽번호가 존재 하던데
    그걸 화면에 출력 할 수 없는지요. 너무너무 좋은 프로그램 다시 한번 감사합니다.

    1. 고맙습니다.

      IE에 존재하는 기능은 대부분 지원됩니다.
      머리글 또는 바닥글을 아래와 같이 설정하면 됩니다.

      IEPageSetupX.header=’&p / &P’;
      IEPageSetupX.footer=’&p / &P’;

  143. GetPrinters() 를 이용한 프린터 선택 팁,(이라고 할 수 있을지…)
    예전에 이슬님께 큰 도움을 받은 녀석입니다, 덕분에 잘 해결되서 지금은 거의 마무리가 되어가네요,
    저희 회사 환경이 넷프린터와 로컬프린터를 같이 쓰기에 조금은 불편한게 있었네요.
    프린터를 선택해서 웹 전용인쇄를 생각해 봤는데요,
    혹시나 필요하신 분이 계시면, 혹시나 더 좋은 방법이 있으신 분은 공유했으면 합니다.

    일단 GetPrinters()로 프린터 리스트를 뽑아오는데, 여기서 스트링으로 받아오기에
    자바스크립트 명령어인 escape(IEPageSetupX.GetPrinters()) 하게 되면
    공백과 특수기호가 ASCII 코드로 변환된 문자열로 받을수 있습니다.
    그냥, alert()하게 되면 콤마(,) 와 줄바꿈으로 구분되어져 나오더라구요,
    alert(IEPageSetupX.GetPrinters())해보니 특수기호 “%0D%0A” 가 프린터 이름 사이사이에 있더라구요,
    (EditPlus -> 클립텍스트 -> Control Character 에서 보니까 LineFeed(엔터)와 CR(은 뭔지,,,콤마인가?)이라고 나오네요)
    그걸 split(“%0D%0A”) 하게 되면 정확히 프린터 이름을 뽑을수 있구요,
    이걸 다시 unescape하면 완벽한 프린터 이름을 뽑아서 지정해줄 수 있었습니다.
    풀이 하면,
    array printer_list = escape(IEPageSetupX.GetPrinters()).split((“%0D%0A”);
    IEPageSetupX.Printer = unescape(printer_list[x]);
    사용하실 때 unescape(printer_list[x]) 하시면 되겠습니다.

    제 경우에선 웹페이지에서 쿠키생성이 안되서 Ajax로 DB에 저장했다가 페이지 오픈할때 긁어오게 했습니다.
    DB에 저장된 프린터 이름하고 현재 설치되어 있는 프린터와 비교해서 없으면
    프린터 리스트 불러와서 선택(DB저장까지)하는 부분을 만들어줬구요,

    여러대의 프린터를 사용하시는 분들을 위해 허접하게나마 공유합니다.
    (WinXP, IE8, 제로보드(외부페이지)에서 작업했습니다)

    1. 안녕하세요…
      예전에 질문 주셨던 글을 보니 기억이 나네요..
      팁까지 올려주시고 고맙습니다.

      GetPrinters()하게 되면 구분자로 %0D%0A가 맞습니다.
      16진수로는 0x13, 0x10이죠..
      Carriage Return(0x13), Line Feed(0x10)입니다.
      Carriage Return은 현재 줄의 제일 처음 위치로 커서를 이동시키는 것이고, Line Feed는 한 줄 내리는 기능을 합니다.
      보통 줄바꿈을 CR+LF로 처리합니다.
      고맙습니다^^

  144. <%@ Page language=”c#” Codebehind=”WebForm1.aspx.cs” AutoEventWireup=”false” Inherits=”WebApplication1.WebForm1″ %>
    <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN” >
    <HTML>
    <HEAD>
    <title>WebForm1</title>
    <meta name=”GENERATOR” Content=”Microsoft Visual Studio .NET 7.1″>
    <meta name=”CODE_LANGUAGE” Content=”C#”>
    <meta name=”vs_defaultClientScript” content=”JavaScript”>
    <meta name=”vs_targetSchema” content=”http://schemas.microsoft.com/intellisense/ie5″>
    <OBJECT id=”IEPageSetupX” classid=”clsid:41C5BC45-1BE8-42C5-AD9F-495D6C8D7586″ codebase=”./IEPageSetupX.cab#version=1,3,0,2″ width=0 height=0 VIEWASTEXT><param name=”copyright” value=”https://isulnara.com”></OBJECT>

    <SCRIPT language=”JavaScript” for=”IEPageSetupX” event=”OnError(ErrCode, ErrMsg)”>
    alert(‘에러 코드: ‘ + ErrCode + “\n에러 메시지: ” + ErrMsg);
    </script>

    <script>
    function Installed()
    {
    try
    {
    return (new ActiveXObject(‘IEPageSetupX.IEPageSetup’));
    }
    catch (e)
    {
    return false;
    }
    }

    function PrintTest()
    {

    if (!Installed())
    alert(“컨트롤이 설치되지 않았습니다. 정상적으로 인쇄되지 않을 수 있습니다.”)
    else
    alert(“정상적으로 설치되었습니다.”);
    }
    function preview()
    {
    IEPageSetupX.Preview();
    }
    </script>
    </HEAD>
    <body MS_POSITIONING=”GridLayout” onload = “preview();”>
    <form id=”Form1″ method=”post” runat=”server”>
    <FONT face=”굴림”></FONT>
    </form>
    </body>
    </HTML>
    ////////////////////////////////////////////////////////////////////
    소스 형태는 이런형태입니다. 정말간단하죠? 그냥 처음에 로드되자말자 preview를 띄우는건데요
    위에에러 메세지가 나와서 처리하기가;;;
    파일을 보내드릴려고해도 주소를 알수가 없어서 보내드릴방법이없네요;;
    주소알려주시면 파일보내드리겠습니다.
    .net 설치만 되어계시면 열어보시는데는 문제 없으실껍니다..

  145. 안녕하세요. 이런걸 물어봐도 될진모르겠는데요
    C#(웹어플)에서 인쇄할때 이슬님의 프로그램을 추가해서 출력하려고 하거든요
    그래서 오브젝트 설정하고 속성설정(머릿말, 꼬릿말, 여백등), 인스톨 확인등 다른것들은되는데
    메소드만 호출하면 오류메세지
    ///////////////////////////////////////////////
    에러 코드: 102
    에러 메시지: body 객체의 onload 이벤트에서 IEPageSetupX의 속성/메소드를 호출하여 주십시오.
    //////////////////////////////////////////////
    라고 나오거든요.
    이상해서 html에을 실행해봤는데 html은 잘 실행되구요
    c#이랑 연동해서 할려니까 이런 오류가나오는데 혹시 저같은 오류난다고 하시는분 없으셨나요?
    그리고 해결방법이 있다면 좀 ㅎㅎ 알려주세요

  146. 아 물론 body에서 직접 IEPageSetupX.Preview();도 실행해봤구
    함수로 따로 처리도 해봤는데 모두 같은 메세지입니다.ㅠㅠ

    1. 안녕하세요..
      아직 해당 문제가 발생한다는 얘기는 못들어본거 같습니다.
      문제가 발생하는 웹페이지의 URL을 남겨주시면 확인해보고 글 남기겠습니다.

  147. 프로젝트파일을 제가 드릴까요?
    테스트한다고 다른기능은 없구요 그냥 바로 미리보기가 실행되는 아주 간단한거라
    주소 알려주시면 제가 보내드릴께요
    아 환경은 .NET 2003에 XP를 쓰고있습니다.

    1. 웹으로 확인이 불가능한가요?
      URL만 알려주시면 될거 같습니다.
      C# 개발환경이 준비되어 있지가 않습니다.
      C# 개발환경 구축 후 특별히 설정 없이 바로 프로젝트 파일을 불러와서 테스트해볼 수 있다면 보내주시구요..

  148. 안녕하세요..해당 프로그램을 너무나도 감사히 쓰고 있는 개발자 입니다.

    해당 프로그램으로 페이지를 개발해놓고 영수증 출력 모듈을 쓰고 있었는데..

    얼마전에 다시 들여다 보니 바로 위에 장길삼님이 말씀하신 거처럼

    에러 코드: 102
    에러 메시지: body 객체의 onload 이벤트에서 IEPageSetupX의 속성/메소드를 호출하여 주십시오.

    라고 메시지가 나오네요..

    정상 동작을 하던 소스가 이러니 당황스럽습니다..

    <head>
    <meta http-equiv=”Content-Language” content=”ko”>
    <meta name=”GENERATOR” content=”Microsoft FrontPage 6.0″>
    <meta name=”ProgId” content=”FrontPage.Editor.Document”>
    <meta http-equiv=”Content-Type” content=”text/html; charset=ks_c_5601-1987″>
    <title>새 페이지 1</title>
    <SCRIPT language=”JavaScript” for=”IEPageSetupX” event=”OnError(ErrCode, ErrMsg)”>
    alert(‘에러 코드: ‘ + ErrCode + “\n에러 메시지: ” + ErrMsg);
    </script>
    <OBJECT id=IEPageSetupX classid=”clsid:41C5BC45-1BE8-42C5-AD9F-495D6C8D7586″ codebase=”./IEPageSetupX.cab#version=1,3,0,2″ width=0 height=0>
    <param name=”copyright” value=”https://isulnara.com”>
    <div style=”position:absolute;top:276;left:320;width:300;height:68;border:solid 1 #99B3A0;background:#D8D7C4;overflow:hidden;z-index:1;visibility:visible;”><FONT style=’font-family: “굴림”, “Verdana”; font-size: 9pt; font-style: normal;’>
    <BR> 인쇄 여백제어 컨트롤이 설치되지 않았습니다. <BR> <a href=”./IEPageSetupX.exe”><font color=red>이곳</font></a>을 클릭하여 수동으로 설치하시기 바랍니다. </FONT>
    </div>
    </OBJECT>
    </HEAD>

    <body onload=’window.focus();IEPageSetupX.Print();’style=”font-size: 9pt” >

    여기까지가 호출하기 전까지구요..

    다른 호출은 전혀 하지 않습니다..

    이유가 따로 있을까요?,..

  149. 전혀 상관없는 submit 관련 문제였군요..해결했습니다.

    프로그램은 항상 감사히 쓰고 있습니다

    수고하시고 건승하세요

  150. 아 안녕하세요 이것저것 테스트하다가 발견한점이랑 궁금한게 있어서 질문드립니다. 하핫;;
    우선 발견한게
    <style type=”text/css”>
    BODY { DISPLAY: none; VISIBILITY: hidden }
    </style>
    위의 구문처럼 BODY STYLE이 들어가있는경우 위의 저 경우처럼 오브젝트 오류(오류102)가 납니다
    사용하시는분들은 유의하셔야할꺼같군요(아니면 대략 낭패인데;;)

    그리고 궁금한점은
    미리보기를 했을때 [닫기]버튼을 눌러서 종료하면
    부모의 창까지 닫을수가 있는데요
    윈도우 종료창(x)을 선택시 아무런 이벤트 없이 끝나버려서 이걸눌러도 부모창까지 닫히게 할수있는
    방법은 없을까 해서 질문드립니다.

    1. 스타일 관련 문제는 좀 테스트를 해봐야 겠네요..
      고맙습니다.

      미리보기에서 “닫기” 버튼 클릭으로 부모창까지 닫게 했다는 것이 어떻게 하셨는지 모르겠네요..
      샘플 코드를 알려주시거나 테스트할 수 있는 URL을 알려주시면 확인해보겠습니다.

  151. 미리보기에서 “닫기” 버튼을 클릭해서 부모창을 닫는것은
    IEPageSetupX.Preview();
    window.close();
    이렇게 처리를 했거든요
    이렇게 처리하면 닫기버튼을 눌렀을때 부모창은 같이 닫히는데
    위의 윈도우창 닫기(x)는 해결방법이 없네요…
    이벤트 자체가 없는것 같기도 하구요..

    1. 테스트해보니 동일한 문제가 발생하네요..
      IE의 특성이 그런가 봅니다.
      아래와 같이 하는 건 어떤가요?
      IEPageSetupX.Preview();
      setTimeout(‘IEPageSetupX.CloseIE();’, 2000);

      미리보기 창 띄운 후 2초 후에 강제로 자신을 닫습니다.

  152. 그렇게 처리할경우 문제가 발생을 합니다.
    저도 우연히 발견했는데요
    그럴경우에 미리보기창만 떠있는 상황이 발생이되는거쟎아요?
    미리보기 창만 떠있는 상태에서 인쇄 버튼을 누르게되면 오류메세지가 나타나며 인쇄가 되지 않습니다.
    흠…

  153. 안녕하세요, 공개해주신 ActiveX를 잘 사용하고 있습니다.
    궁금한게 있는데요~ IE8에서는 바탕색 옵션을 True로 하여도 미리보기나 인쇄시에 나오질 않는데요~
    제 컴퓨터만 그런건 아니고 IE8에서 전부 그런것 같습니다. 확인이 가능할까요?
    수고하세요.

  154. 안녕하세요, 위에 IE8버전에 대한 문의글 남긴 사랍니다.
    IE8에 대한 테스트는 아직이신가요? 요즘 갑자기 IE8 사용자들이 많이 늘어나네요.
    부탁드리겠습니다.

  155. 잘쓰고 있습니다.
    궁금한점이 있어서 글올려요
    제가 개발한 웹에서 아주 잘쓰고 있는데요.
    아직 비스타에서는 호환이 안되는지요.
    비스타 쓰는사람이 조금씩 늘어가네요..;
    수고하세요.

    1. 비스타는 아직 지원 계획이 없습니다.
      Win7이 나와서 그것 먼저 확인해봐야 될거 같습니다.
      Win7은 비스타와 달리 많이 사용될 거 같네요..

  156. 기존에 쓰던 데다 업데이트를 하려면 어떻게 해야 하는지요?
    여태 업데이트는 않해봐서요, 기존에 여백이나 환경이 설정되어 있어 일일이 고치기가 힘들어서요..

  157. 한가지 더 질문드려요, 먼저 한번 질문 드린건데요.
    IE8에서 인쇄시 스크립트오류 나던부분도 같이 수정된건가요?

    1. 네트워크 프린터가 설치되어 있는 PC에서도 동작됩니다.
      단순히 여백 등의 설정만 해주는 것입니다.
      IE에서 수동으로 해서 되면 되는 것입니다.

  158. 윈도우랑 상관없이 네트워크 연결된 PC에서는 ” is not a vaild floating point value
    이라고 메시지가 뜹니다. 버젼은 최근버젼입니다.

    1. 확인 결과 네트워크 프린터와 관계없이 여백을 설정하지 않은 경우 발생하는 문제였습니다.
      해당 문제 해결한 버전을 다시 올렸습니다.
      1.4.0.3입니다.
      고맙습니다.

  159. 안녕하세요.^^
    질문이 있습니다. Window7에서 제가 만든 페이지를 접속하니 “멕어드레스/호스트 인증을 설치할수 없습니다.”라는
    에러메세지가 나오면서 로그인 창으로도 진행이 안되는데요…ㅠ.ㅠ
    뭘해봐야 할까요? 보안등급도 낮추고 신뢰할 사이트로 등록도하고 진행했는데도 잘안됩니다.
    ㅠ.ㅠ 도와주세요.ㅠ….ㅠ…

    1. 문제가 발생하는 프로그램이 어느 프로그램인지 확인하신 후 해당 프로그램의 게시글에 답글로 남겨주시기 바랍니다.
      남기신 글은 IEPageSetupX와 관련된 글이 아닌 것 같습니다.

  160. 안녕하세요~
    지금 웹상에서 영수증 출력을 하려고 하는데요. 혹시 페이지 사이즈에서 밀리미터로 제어가 가능할까요?
    예를 들면 80*200mm 이렇게요.

    1. 예.. 안녕하세요..
      용지 사이즈는 임의로 조절하지 못합니다.
      사용자 정의로 사용자가 등록해 두고, 그것을 선택은 가능합니다만 임의의 사이즈를 등록할 수는 없습니다.

  161. 앗 그렇군요~ ;ㅅ; 아무튼 감사합니다요~
    그리고 프로그램 정말정말 좋아요! ㅎㅎ
    감사히 쓰겠습니다. 꾸벅

  162. 제가 윈도우 7과 익스플 8인데요
    IEPageSetupX.ShrinkToFit = true;
    IEPageSetupX.CloseIE = true;

    동시에 안먹네요…
    특히나
    IEPageSetupX.ShrinkToFit = true; 의 경우 실행 안될 경우가 있습니다. 창이 뜨는 딜레이 때문인지; 몰라도
    그리고
    IEPageSetupX.CloseIE = true;의 경우 IEPageSetupX.CloseIE; 이렇게도 써보고… 저렇게도 써보고 다 해봐도
    창이 안닫히네요 ㅠㅠ

    1. CloseIE는 속성이 아니라 메소드입니다.
      아래와 같은 사용은 잘못되었습니다.
      IEPageSetupX.CloseIE = true;

      다음과 같이 사용해야 됩니다.
      IEPageSetupX.CloseIE();

      IEPageSetupX.ShrinkToFit은 ‘..CloseIE = true’를 하지 않고 해보아도 그런가요?

  163. 이슬님…

    인증받을 파일을 네이트온으로 부탁 드려요…. 인증해 드릴께요 ^^
    어떤 파일이 인증이 되어야 되는지 너무 많아서 ^^;;;;;

    메일은….. 제 네이버로 위 아이디@네이버 하셔도 되구요… 아님 네이트온 보내시고 쪽지 한통 주셔도 되요 ^^

  164. 이슬님…
    다름이 아니고 여러자을 프린트 할경우 1페이지만 보이면서 인쇄되고
    나머지 페이지들은 보이지도 않고 인쇄도 안되는 왜 그런지 좀 알려주세요

    1. IEPageSetupX 사용하지 말고 테스트 해보세요..
      IEPageSetupX 사용하면서 발생한 문제라면 제가 테스트할 수 있는 링크를 비밀글로 남겨주시면 확인해보겠습니다.

  165. 너무너무 ㄳㄳ

    기존 IE8에서 백그라운드이미지 처리 버그와 크기에 맞게 축소 문제가 된 부분을 오늘 확인해 보니깐..
    모두 패치 해 놓으셨네요.. 테스트 하니깐.. 너무 잘되네요..

    이거 때문에 비싼 돈주고 솔루션 사야하나 고민중이었는데… 공짜로 해결해 주셨는데..
    역삼동 오시면 연락 한번 주세요. 술한잔 사드리겠습니다. 연락주세요.. wook2222@gmail.com (멜 주시구요.. ^^)

    1. 잘 된다니 다행이네요..
      아직 기능 추가할 것도 많고 한데.. 요즘 또 한 동안 작업을 못하고 있습니다.
      요즘엔 성남에서 활동하고 있어서 서울 나갈 일이 거의 없네요..
      말씀만으로도 고맙습니다^^

  166. 오랜만에 들러서 질문만 여쭙네요..
    혹시 크롬이나 사파리에서 비슷한 기능을 하는 프로그램(?)을 아시는지요,,

    공개해주신 IEPageSetupX로 정말 많은 덕을 봤는데요, 염치도 없이 묻기만 하네요,
    저희 거래처들중에 IE를 굉장히 싫어하는 분들이 계셔서(크롬 쓰더라구요..),,
    혹시나 크롬이나 사파리 쪽으론 계획이 없으신지요,, 아님 비슷한 거라도 있는지 궁금하구요,,

    요즘 한국이 많이 춥다는데 건강하시길~~

    1. 안녕하세요..
      전 주로 Firefox 사용합니다.
      크롬이나 사파리는 저도 사용하지 않아서 모르겠습니다.
      비슷한 기능을 하는 프로그램도 모르겠네요..

      요섭님도 건강하시길 바랍니다^^

  167. 안녕하세요.
    저는 VB에서 웹브라으저 컨트롤을 이용하여 프린트 하고자 합니다.
    헌데 웹브라우저 컨트롤의 용지방향설정등이 매우 어려워서 도움을 청합니다.

    아래주소는 IEPageSetupX.ocx가지고 VB에서 사용해보려고 시도한 소스입니다.
    http://wbsoft.co.kr/%5BIEPrintTest%5D.zip

    웹브라우저객체에 직접 명령이 들어가는것이 아니라서
    여백설정(레지스트리)만 적용되고 나머지는 먹통입니다. ㅎㅎ

    어떻게 여백설정이 가능했는지 알고 싶습니다.
    도움주시면 사례하겠습니다.
    (IEPageSetup의 라이센스비용을 지원해드릴 생각입니다.)

    woobang@nate.com
    우병석 010-3154-6497

    1. 안녕하세요.
      IEPageSetupX를 만든 프로그램에서 직접 제어하지 마시고,
      일반 웹 페이지에서 하는 것처럼 HTML 코드 내에서 사용되도록 구성 하세요.
      그리고, IEPageSetupX를 이용하는 특정 자바스크립트 함수를 만들고,
      만드신 프로그램에서 WebBrowser1에 접근하여 그 함수를 호출하는 방법으로 사용하시면 될것 같습니다.

  168. 바로위에 글을 올렸던 사람입니다.
    말씀하신대로 ocx를 html에서직접실행하는것은 문제가 없습니다.
    헌데, 약간의 문제점이 html에서 용지방향설정변경후에 html상에서 미리보기 or 인쇄명령을 내린후에 적용된다는 점입니다.
    단순히 페이지 로딩시에 용지방향설정만 바꾼상태에서 vb에서 브라우저컨트롤에 인쇄명령을 내리면 용지방향이 안바껴있다는거죠.
    인쇄버튼이 HTML내에 있을수 없기 때문에 그렇습니다.
    Html 페이지를 로딩하자마자 미리보기를 뛰우는것도 바람직하지 못한 상황이라 그렇습니다.
    결론은, html이 아닌 VB에서 용지설정을 직접 바꾸는방법이 필요합니다.
    그리고 그부분에 대해서 도움을 주실수 있는지요?

    1. 위의 답변에서 말씀드렸는데요..
      다시 알려드릴게요..

      VB로 만드신 App에 WebBrowser 컨트롤을 올리신 다음에 버튼을 두 개 올립니다.

      버튼 하나는 웹 페이지를 여는 명령을 줍니다. 아래처럼 말이죠..(델파이 코드라서 조금 다를 수도 있으나 크게 다르지 않을 겁니다.)
      wb1.Navigate(‘https://isulnara.com/myAPP/IEPageSetupX/IEPageSetupX.html’);

      다른 버튼은 웹 페이지가 오픈된 상태에서 클릭 시 아래 코드처럼 사용하시면 됩니다.
      wb1.OleObject.Document.getElementById(‘IEPageSetupX’).Orientation := 0;
      wb1.OleObject.Document.getElementById(‘IEPageSetupX’).Preview;

      위와 같이하면 일반 App에서 웹 페이지를 오픈하고, 용지 방향을 ‘가로’로 설정하고, 미리보기 창을 열게 됩니다.

      일반 App에서 WebBrowser를 이용하면 일반 웹페이지 내에서 호출하는 것처럼 모든 것을 제어할 수 있습니다.

  169. 혹시 양면인쇄가 가능할까요?
    프린터가 지원하고 기본설정이 양면이면 인쇄할때 양면인쇄가 가능하게 할 수있나요?
    아니면 프린터가 지원하고 기본설정이 한면인쇄일때 양면인쇄가 가능하게 할 수있는지요?
    좋은 프로그램 감사합니다.

    버전은 IE7, OS는 XP 입니다.

  170. 안녕하십니까…
    먼저 넘 잘 사용하고 있습니다. 감사드립니다.
    질문드리고 싶은 것은 빈 페이지가 인쇄되는 문제 입니다.
    ASP로개발해서 동일한 형식 여러페이지를 데이터만 바뀌면서 인쇄를 하고있습니다.
    그런데 마지막 페이지에 도달하면 빈페이지가 생깁니다.
    어떻게 처리를 해야하는지요…

    1. 확인해봤습니다.
      용지를 A3로 설정해서 테스트해보았습니다.
      일일업무일지가 12장인데 인쇄할 때는 13장으로 마지막에 빈페이지가 하나 인쇄되네요..
      정확히는 마지막 페이지가 빈페이지가 아니고, 내용이 있습니다.
      아래와 같은 내용이 나옵니다.
      L>

      이는 HTML에서 오타가 들어간 것입니다.
      HTML 문서의 제일 마지막이 아래와 같이 되어 있습니다.
      L>

      로 수정하면 해결될거 같습니다.
      이상입니다.

  171. 안녕하십니까..
    보내주신 답변에 감사드립니다.
    말씀하신것을 확인해보니 L>이 있어서 지우고 순수 HTML 파일로 저장해서 확인을 해도 동일한 결과가 나왔습니다.
    뭔가 보이지 않는 부분이 있는 것 같은데 참 찾기가 어렵네요.
    ASP 코드에서 L>되어 있는 오타가 없는데 나타나네요..
    검색을 해보니 의 끝 부분만 걸리고요…
    관심가져주셔서 감사합니다.

    1. style에서 “page-break-after” 때문입니다.
      .a4 { page: a4sheet; page-break-after: always }

      마지막 페이지의 div는 제거하시거나 클래스로 a4를 저정하지 않으면 정상 출력됩니다.
      마지막 페이지에도 a4로 지정되어 있으니 마지막 페이지를 인쇄하고, 다음 페이지로 넘기게 되어서 빈 페이지가 인쇄되는 것입니다.

      그리고,

  172. 너무 좋은프로그램 고맙습니다^^
    문의 드립니다!
    이미지버튼을 사용중인데요.. clear모드를 사용중인데, 이미지가 인쇄가 되버리네요..
    원래 그런가요?

  173. 이슬님~ 말씀하신 noprint 찾아서 적용해 보았는데, 작동은 잘 되는듯 하지만.. 테이블에서 정렬이 잘 안되는 군요..
    어찌하오리까…

    1. 구성을 어떻게 했는지 알수가 없어서.. 정확한 답변을 드리기가 어렵네요.
      혹시 버튼이 포함된 TD 전체를 숨긴 건 아닌가요?

  174. 어이구.. 두번이나 올라가버렸네요..

    소스가 참.. 길죠.?
    염치불구하고 질문좀 하겠습니다.

    위소스중 뭐가 잘못되었는지 용지 방향 설정이 안먹습니다..
    도통 모르겠어요..
    그런데, IEPageSetupX.Print(true); 인쇄대화상자 띄우기를 활성화 하면 그때는 됩니다..
    그러나 소스에서 숫자를 붉은색으로 표시하는 자바스크립트는 안되더군요.. 머리아픕니다..
    도와주십시요~~

    1. print()를 사용하지 말고, IEPageSetupX.Print(); 또는 IEPageSetupX.Preview();를 사용해야 적용됩니다.

      용지방향, 용지 등 대부분의 설정은 IEPageSetupX.Print() 또는 IEPageSetupX.Preview()를 사용하는 순간 적용됩니다.

      올려주신 소스는 너무 길어서 이 페이지가 로딩되는데 시간이 걸려서 일부 수정했습니다.
      되도록이면 테스트할 수 있는 URL을 남겨주시면 고맙겠습니다.

  175. function printMe()
    {
    if (Installed())
    {
    IEPageSetupX.Orientation = “0”;
    //IEPageSetupX.Print(); // 인쇄하기
    //IEPageSetupX.Print(true); // 인쇄대화상자 띄우기
    //IEPageSetupX.SetupPage(); // 페이지설정창 띄우기
    }
    else{
    alert(“컨트롤을 설치하지 않았네요.. 정상적으로 인쇄되지 않을 수 있습니다.”);}
    }

                 

    images/plus2.gif border=0>   &

  176. 이슬님.. 빠른 답변 너무 감사합니다..
    말씀하신대로 IEPageSetupX.Print(); 를 적용해 보았지만 인쇄창이 뜨질 않네요.. 왜일까요..
    테스트 할 수 있는 url은 현재 없어서요~
    대신 IEPageSetupX.Preview() 요함수는 작동을 하네요..

    1. 아래 페이지에 접속해서 세번째 이미지 버튼을 클릭하면 정상 동작함을 보실 수 있습니다.
      http://clone.fft.kr/ie.php

      pint()를 IEPageSetupX.Print()로 수정했습니다.

      다른 방법으로는 body onload에서 printMe()를 호출하지 말고, 이미지 버튼 클릭 시 printMe()를 호출하고, printMe()함수 내에서 IEPageSetupX.Print()를 호출하면 됩니다.

  177. 정말 이상하네요..
    말씀하신 사이트 이미지는 깨지구요, 클릭해 보았는데,
    정상 작동이 안되네요.. 제 컴이 이상한 걸까요? 두대 컴이 있는데 모두 안되네요..
    너무 힘들게 하는것 같아 죄송하네요.. 혹시 위에서 말씀하신 인증서 때문일까요?

  178. 아… 너무너무 감사합니다… 두번째 방법으로 하니까 정상 작동은 합니다!! 그러나.. 여백이 작동안되네요..헐..

  179. 여백을 0으로 설정을 해도 설정으로 가보면 이상하게 17.36 이라는 여백이 지정이 되어 있네요..
    와.. 안되네요.. 팝업으로 해서 그럴까요..

    1. 확인 결과 여백이 10 이하일 경우 IE가 원래 그런 문제가 있는 것 같습니다.
      IEPageSetup을 사용하지 말고, 그냥 IE 창을 하나 띄우시고, 페이지 설정 창을 열여서 여백을 10이하로 설정하고, 닫은 후 다시 페이지 설정 창을 열어보세요. 이전에 설정한 여백이 아니라 임의로 변경되어 있는 것을 확인할 수 있을 것입니다.

  180. 소스를 올리지 않아서 다시 올립니다. ASP로 구현을 하고 있습니다.

    <html>
    <head>
    <meta http-equiv=”Content-Type” content=”text/html; charset=euc-kr”>

    <link href=”../css/content.css” rel=”stylesheet” type=”text/css”>
    <script language=”javascript” src=”../Common/script/common.js”></script>

    <SCRIPT language=”JavaScript” for=”IEPageSetupX” event=”OnError(ErrCode, ErrMsg)”>
    alert(‘에러 코드: ‘ + ErrCode + “\n에러 메시지: ” + ErrMsg);
    </script>
    <script>
    function Installed()
    {
    try
    {
    return (new ActiveXObject(‘IEPageSetupX.IEPageSetup’));
    }
    catch (e)
    {
    return false;
    }
    }

    function PrintTest()
    {
    if (!Installed())
    alert(“컨트롤이 설치되지 않았습니다. 정상적으로 인쇄되지 않을 수 있습니다.”)
    else
    alert(“정상적으로 설치되었습니다.”);
    }

    function Print()
    {
    IEPageSetupX.SetupPage();
    }
    </script>

    </head>
    <body onload=”Print();”>
    <OBJECT id=”IEPageSetupX” style=”display:none” classid=”clsid:41C5BC45-1BE8-42C5-AD9F-495D6C8D7586″ codebase=”http://203.245.88.83/component/IEPageSetup/IEPageSetupX.cab#version=1,4,0,3″>
    <param name=”copyright” value=”https://isulnara.com”>
    </OBJECT>
    <!–타이틀 시작 –>
    <table width=”100%” border=”0″ cellpadding=”0″ cellspacing=”0″ class=”title”>
    <tr>
    <td”>회수 인도/인수 내역</td>
    </tr>
    </table>

    <!–테이블 끝 –>
    <!–업무수행 버튼 시작 –>
    <table border=”0″ align=”center” cellpadding=”0″ cellspacing=”0″ class=”btn”>
    <tr>
    <td><a href=”#”><img src=”../images/btn/btn_idis_ok.gif”></a></td>
    <td class=”common_btn_s”></td>
    <td><a href=# onclick=”IEPageSetupX.Preview();”><img src=”../images/btn/btn_id_print.gif”></a></td>
    <td class=”common_btn_s”></td>
    <td><a href=”#”><img src=”../images/btn/btn_back.gif”></a></td>
    </tr>
    </table>
    <!–업무수행 버튼 끝 –>
    </body>
    </html>

  181. 죄송합니다. 계속 테스트를 하는데.. 수정할때마다 다른 오류가 나오네요….
    “여백이 겹쳐졌거나 종이 크기를 넘었습니다. 여백크기를 다시 입력하십시오” 라고 나옵니다.
    소스는 아래와 같습니다.

    <html>
    <head>
    <meta http-equiv=”Content-Type” content=”text/html; charset=euc-kr”>

    <link href=”../css/content.css” rel=”stylesheet” type=”text/css”>
    <script language=”javascript” src=”../Common/script/common.js”></script>

    <SCRIPT language=”JavaScript” for=”IEPageSetupX” event=”OnError(ErrCode, ErrMsg)”>
    alert(‘에러 코드: ‘ + ErrCode + “\n에러 메시지: ” + ErrMsg);
    </script>
    <script>
    function Installed()
    {
    try
    {
    return (new ActiveXObject(‘IEPageSetupX.IEPageSetup’));
    }
    catch (e)
    {
    return false;
    }
    }

    function PrintTest()
    {
    if (!Installed())
    alert(“컨트롤이 설치되지 않았습니다. 정상적으로 인쇄되지 않을 수 있습니다.”)
    else
    alert(“정상적으로 설치되었습니다.”);
    }

    function Print()
    {
    IEPageSetupX.leftMargin=8;
    IEPageSetupX.rightMargin=2;
    IEPageSetupX.topMargin=1;
    IEPageSetupX.bottomMargin=10;

    IEPageSetupX.Print();
    }
    </script>

    </head>
    <body onload=”Print();”>
    <OBJECT id=”IEPageSetupX” classid=”clsid:41C5BC45-1BE8-42C5-AD9F-495D6C8D7586″ codebase=”http://203.245.88.83/component/IEPageSetup/IEPageSetupX.cab#version=1,4,0,3″ width=0 height=0>
    <param name=”copyright” value=”https://isulnara.com”>
    <div style=”position:absolute;top:276;left:320;width:300;height:68;border:solid 1 #99B3A0;background:#D8D7C4;overflow:hidden;z-index:1;visibility:visible;”><FONT style=’font-family: “굴림”, “Verdana”; font-size: 9pt; font-style: normal;’>
    <BR> 인쇄 여백제어 컨트롤이 설치되지 않았습니다. <BR> <a href=”./IEPageSetupX.exe”><font color=red>이곳</font></a>을 클릭하여 수동으로 설치하시기 바랍니다. </FONT>
    </div>
    </OBJECT>
    <!–타이틀 시작 –>
    <table width=”100%” border=”0″ cellpadding=”0″ cellspacing=”0″ class=”title”>
    <tr>
    <td”>회수 인도/인수 내역</td>
    </tr>
    </table>

    <!–테이블 끝 –>
    <!–업무수행 버튼 시작 –>
    <table border=”0″ align=”center” cellpadding=”0″ cellspacing=”0″ class=”btn”>
    <tr>
    <td><a href=”#”><img src=”../images/btn/btn_idis_ok.gif”></a></td>
    <td class=”common_btn_s”></td>
    <td><a href=# onclick=”IEPageSetupX.Preview();”><img src=”../images/btn/btn_id_print.gif”></a></td>
    <td class=”common_btn_s”></td>
    <td><a href=”#”><img src=”../images/btn/btn_back.gif”></a></td>
    </tr>
    </table>
    <!–업무수행 버튼 끝 –>
    </body>
    </html>

    1. 소스 코드만 보았을 때는 특별한 사항은 없는 것 같습니다.
      테스트해보니 정상 동작됩니다.
      테스트할 수 있는 URL을 남겨주시면 확인해보겠습니다.

  182. 우연한 기회로 님이 만드신 IEPageSetupX을 사용해볼려고 현재 테스트를 진행하고 있는 와중에 계속해서 “에러코드 102발생하면서 body의 onload에 메소드 호출을 하라는 메세지가 나옵니다.” 어떤 문제가 있어서 그런것인지요?

  183. 인쇄컨트롤 잘쓰고 있습니다.
    다름이 아니라, 수동설치후 프린트를 누르면 코드 32 에러가 나오는데요
    다 그러는게 아니라서 답답하네요.. 혹시 코드32 에러가 무엇인지

    1. 수동 설치 후 웹 페이지는 페이지 새로고침으로 다시 불러 왔는지요?
      에러 메시지가 그냥 “코드 32 에러” 이렇게만 나오나요?
      OS와 웹브라우저 버전도 함께 알려주세요.

  184. 죄송합니다. ocx가 설치된 상태에서 로드되어 있는데, 수동설치하면 그런 오류가 나오네요..
    그래서 페이지 수정을 했습니다.

    비스타와, 윈도우 7에서 인쇄 문제가 발생하는것 같아요
    비스타에서는 설치는 되는데 객체가 언플러그 되어 버리구요, 제가 사실 비스타를 잘 몰라서요

    아참.. 그리고요. 가끔 다른 컴에서 – 여백이 겹쳤거나, 종이크기가 넘쳤습니다. 라는 메세지가 나오네요.. 프로그램에서 제가 조정한 여백은 전부 10 이하 이거든요

    1. 비스타와 윈도우 7에서는 아직 테스트 되지 않았습니다.
      여백은 10이하일 경우 IE에 제대로 설정되지 않는 문제가 있습니다.
      이 컨트롤을 사용하지 않고, 수동 설정해도 제대로 설정되지 않는 문제가 있습니다.

  185. 위의 cab 파일의 인증서를 어디서 구매해야하나요?? 조그마한 중소기업 업체인데… 사내 ERP 개발중에 프린터에서 A4, B5를 설정할 일이 있어 위와 같은 cab을 사용하려합니다. 그런데… 어디서 구매해야하는지 도통 알수가 없네요 –;

  186. 오랜만에 질문드려요.
    win7, IE8 버전인데 스크립트오류(res://ieframe.dll/preview.js)가 나는데 올려놓으신 최신버전(1,4,0,3)으로 업그레이하면
    해결될수 있을까요?

  187. 답변감사합니다, 한가지 더 질문좀 드릴게요. 인증서 문제는 아직인가요?
    업그레이드는 어떻게 해야할지 … 기존에(1,0,20,4버전) 쓰던 것을 어떻게 수정하면되는지 ..
    인증서 문제도 있어서리…

    1. 현재 최신 버전은 상용 인증서를 이용하여 인증되어 있습니다.
      *.cab 파일과 수동 설치 프로그램을 최신 버전으로 교체하시고, HTML 페이지에서 아래와 같이 버전 정보를 변경하면 됩니다.

  188. “여백이 겹쳐졌거나 종이 크기를 넘었습니다. 여백크기를 다시 입력하십시오” 라고 나옵니다
    win7 에 IE8인데 잘 되던 것이 이리 나오네요

  189. 위에 질문드렸던 사람인데요 소스는 위에 보니 저와 소스로직은 같은 분이 같은 질문을 하셨네요
    근데 기존에 1,0,20,4버전을 컴을 바꾸면서 win7에 IE8에 설치하여 사용하던중 버전을 1,4,0,3으로 버전업을 하여 사용하니
    “여백이 겹쳐졌거나 종이 크기를 넘었습니다. 여백크기를 다시 입력하십시오” 라고 나옵니다. 그래서 설치된 버전을 삭제하고
    다시 설치하려니 아예 설치가 않되는 것 같아요(windows폴더 밑에 program download file폴더에 설치않됨) 먼저 IE8에서
    설치가 않되었던걸루 기억하는데요 혹시 OS에도 영향을 받는것인가요?

    1. 해당 메시지는 IEPageSetupX에서 표시하는 것이 아니고, IE에서 표시하는 메시지입니다.
      Win7(32bit) + IE8에서 문제없이 동작하는 것을 확인하였습니다만..
      웹 특성상 여러 상황이 있기 때문에 문제가 발생하는 상황을 직접 확인하지 않는 이상 문제를 해결하기가 어렵습니다.
      또한 64bit 환경에서는 테스트되지 않았습니다.
      되도록이면 문제가 발생되는 웹 페이지의 URL을 알려주시면 빠른 해결에 도움이 됩니다.
      그리고, 아래의 예제 페이지는 정상적으로 동작하는지도 알려주시면 고맙겠습니다.
      https://isulnara.com/myAPP/IEPageSetupX/IEPageSetupX.html

  190. 일단 url 주소를 알려드리고 id=w25918 비번없구요 부가메뉴 – 제품 이름을 ‘니케’ 하셔 출력하는 부분입니다.
    조금 사적인 홈페이지라 빠른 답변 부탁드려요^^
    http://www.????.co.kr 입니다.

    1. URL은 제가 ??로 처리했습니다.
      참고로 비밀글로 올려주시면 저만 볼 수 있습니다.
      전 Win7 + IE8에서 아래와 같은 오류가 발생됩니다.
      —————————————————-
      줄: 2570
      오류: 사용 권한이 없습니다.
      —————————————————-

      아래 코드에서 print_delete();를 삭제하니 정상적으로 출력이 됩니다.

      PrintPage(‘yes’) 실행 후 곧바로 print_delete()를 실행하면 PrintPage(‘yes’)를 완료할 때까지 기다리지 않고, 바로 print_delete()가 실행됩니다. 그 과정에서 에러가 발생하는 것 같습니다.

      알려주신 것과 동일한 에러는 발생되지 않아서 더 이상 테스트할 수가 없습니다.

    1. IE8에 플래시 사용한 웹 페이지를 하나 만들어서 테스트 후 답변 남기겠습니다. 다음 주 정도나 되어야 테스트할 수 있을 거 같습니다.
      만드신 페이지를 테스트할 수 있는 URL을 비밀글로 남겨주시면 좋겠습니다.

  191. 좋은 프로그램 감사합니다..~ 🙂

    매번 느끼는거지만…. 대단하신거 같습니다.. ㅎㅎ

    오류라고 할까요…?;; cab 파일이.. 현재 폴더(./)에서는 정상적으로 설치가 되는데…

    다른폴더(../activex or /activex )에서는 오류가 나네요

    게시자를 확인할 수 없어서 이 소프트웨어를 windows에서 차단했습니다.
    이름 : error404.html
    게시자 : 알 수 없는 게시자

    [확인]

    이렇게 나옵니다.. ㅎ ./ 에서 하면 정상적으로 되구요.. ㅎㅎ

    1. 경로는 관계가 없을 거 같은데요..
      제가 테스트할 수 있는 URL을 알려주시면 확인해보겠습니다.
      공개가 어려우면 비밀글로 남겨주시면 됩니다.

      고맙습니다.

    1. 추석 연휴를 보내느라 답변이 늦었습니다.
      인쇄 수량은 Print()를 여러 번 호출하면 되기 때문에 별도의 기능이 없습니다.

  192. 이렇게 좋은 프로그램을 써주게 해주셔서 감사합니다
    이걸 사용하면서 추가되면좋게다는 부분이 공급용지함 선택입니다
    큰 복합기의 경우 상황에 따라 공급용지함을 선택할때가 있어서~
    이것만 있으면 웹프린팅 제어에는 불편함이 전혀없을것 같습니다
    ㅠ.ㅠ

    1. 답변이 늦었습니다.
      공급용지함의 경우는 프린터 종류마다 그 설정이 달라서 적용하기가 어렵습니다.
      공통적으로 설정할 수 있는 사항이면 어떻게든 해보겠는데요..
      현재로선 기능 추가 계획은 없습니다.
      고맙습니다.

  193. 안녕하세요 우선 좋은 프로그램 감사합니다.
    현재 프로그램 테스트를 하고 있는데 질문할 사항이 있어서 글을 남기게 되었습니다.
    프로그램 실행하는데는 아무런 문제가 없는데 처음 사용시 activex를 설치하지 않고
    수동설치 파일을 이용해서 설치하면 계속 activex설치하라는 메세지가 뜹니다.
    정상적으로 설치하면 괜찮은데 왜 수동설치 파일로 설치하면 안되는 걸까요
    더 이상한건 어떤 PC에서는 되고 또 다른 PC에서는 안되고 이런 현상이 발생합니다.
    도저히 이유를 모르겠네요 혹시 수동설치 시 정상 구동 되지 않는 이유를 아시면 답변 좀 부탁드립니다.
    오늘 하루 종일 원인을 찾고 있는데 모르겠네요 답변 부탁드립니다.~~

    1. 안녕하세요..
      수동 설치 후 웹 페이지를 새로고침해도 동일한 문제가 발생되는지요?
      OS 버전과 웹브라우저 버전 정보도 함께 알려주시면 고맙겠습니다.

  194. 안녕하십니까?
    님께서 개발하신 ActiveX 잘 사용하고 있습니다.
    그런데 사용하면서 필요한 기능이 있어서 이렇게 글을 올립니다.
    현재는 웹페이지를 열어야만 인쇄가 되는 걸로 알고 있습니다.
    웹페이지를 열지 않고 URL만으로 페이지를 인쇄할 수 있었으면 합니다.
    아니면 Iframe 를 높이를 0으로 설정하고 iframe 의 내용만을 인쇄할 수 있도록 하여도 될것 같구요.
    번거로우시더라도 답변 부탁 드립니다.
    즐거운 하루 되세요..

    1. 안녕하세요.
      웹페이지를 열지 않고 인쇄하는 방법은 없습니다.
      iframe을 사용한 방법은 가능합니다. focus();를 사용해야 됩니다.
      이 포스트에서 iframe으로 검색해보세요.
      석창언님도 즐거운 하루 보내시길^^

  195. 몇해 전부터 프린트 관련해서 많은 고민을 하고 있었는데…..
    웹페이지에서 프린트 관련 써비스를 해야 하는 부분 때문에 해외의 유료컨덴츠를 구매해야하나 하며
    차일피일 미루고 있었는데….. 이렇게 좋은 컨덴츠를 무료로 퍼트리고 계시니… 감사할 따름입니다….
    아직은 테스트 및 사용전이기는 합니다만….
    최신 글에 빠짐없이 코맨트를 달아 주시는 모습에 믿음이 팍팍 갑니다…^^
    항상 좋은 일만 가득하시길 기도합니다.^

    1. 서비스하는 사이트에 적용하는데 문제가 없었으면 합니다.
      혹시나 문제가 생기면 글 남겨주시고요..
      굼뱅이님도 항상 좋은 일 가득하길 바랄게요^^

  196. 약 1년간 맘껏 사용하다가 이제서야 감사하다는 말씀드립니다. 프로그램 너무 좋구요, 웹에서 인쇄할일이 많아서 아주아주 잘 사용하고 있습니다. 복 많이 많이 받으세요.

  197. 안녕하세요. 좋은 프로그램 감사합니다.
    프린터를 하면 아래와 같은 에러가 납니다.

    에러코드 : 102
    에러 메시지 : 객체의 oad 이벤트에서 ageSetupX의 속성/메소드를 호출하여 주십시오.

    IE버전은입니다 xp이고요.

    1. 안녕하세요..
      IEPageSetup의 속성 또는 메소드를 body 태그의 onload 부분에서 호출하셨나요?
      자세한 정보가 없어서 원인을 파악하기가 어렵습니다.
      구성한 페이지 정보는 소스를 알려주시면 문제 해결에 도움이 될것 같습니다.

  198. IEPageSetupX.Orientation 이 가끔씩 문제를 일으킬때가 있네요

    ie 페이지설정 가로 비활성화가 된 상태에서 이 옵션을 가로로 인쇄하기를 하면 브라우져가 죽어 버리는 군요
    ie 페이지설정 가로 비활성화되어있는지 확인할 수 있는 방법이 없을까요?

    1. “가로 비활성화가 된 상태”라는 부분이 이해가 가지 않습니다.
      어떻게 하면 가로 비활성화가 되는지 알려주시면 바로 테스트하고, 수정하겠습니다.
      가로 비활성화 시키는 방법을 모르겠습니다.

  199. 질문 하나 드려도 될지!!
    제가 지금 특정 영역을 선택하여 인쇄를 하고 있습니다. 그런데 div1,2,3 세개를 인쇄하는데 모든 페이지 div1,3 고정으로 놓고 div2의 크기에 따라 인쇄페이지를 늘리면서 출력해야 되는데 무슨 좋은 방법없을까여?? 쉽게 말하면 머릿글, 바닥글을 div로 사용할수 있을까여??

  200. 인터넷이 느려 글이 넘 여러개 입력 됬네여 ㅈㅅ합니다.ㅡ,.ㅡ
    제가 궁금한점은 페이지에 div1,2,3,을 출력하는데 div1,2는 상하에 고정시키고 div2의 크기에 따라 페이지가 늘어나게 구현을 해야되는데 무슨 좋은 방법이 없을까요? div1,2를 머릿글 바닥글 처럼 인쇄되는 모든 페이지에 고정을 시켜야 돼는데 적어도 div1이라도 모든 인쇄페이지에 고정켜야 되서 ….. 좋은 방법 알고 계시면좀 알려주세요

    1. 음.. 일단 머리글, 바닥글에는 HTML을 사용할 수가 없습니다.

      아래와 같이 구성되는 구조에서 div1과 div3을 각각 머리글, 바닥글처럼 사용하려면
      div1
      div2
      div3

      div2의 크기를 계산해서 div1과 div3을 동적으로 붙여넣고, 강제로 페이지 나누는 방법 밖에는 생각이 나지 않네요…
      div2도 그 내용이 폰트가 일정한 단순 텍스트가 아니라면 높이 계산하는 것도 쉽지는 않을 듯 합니다.
      딱히 좋은 방법이 떠오르지 않네요..

  201. 용지 트레이가 여러개 있을경우 자동으로 되지 않고…트레이 5(수동)만 선택되서
    인쇄가 되지 않는 현상이 있습니다. 모두 그렇진 않구요..특정한 프린터에서만…
    해결방법이 없을까요??

    1. IEPageSetup은 단순히 여백 설정만 하고, 웹브라우저에 인쇄 명령만 내립니다.
      트레이 선택 기능은 웹브라우저의 기능이 아니고, 프린터의 기능으로 IEPageSetup에서는 지원하지 않습니다.

  202. 답변 감사합니다.
    근데 버그인지 모르겠는데요…다른 사이트는 잘 되는데…저희 사아트만 안된다고해서 문의 드린겁니다..
    그리고..문자열 오른쪽 부분이 잘리는 현상이 있는데요…자동으로 조절할수가 있나요? A4 사이즈에 맞게
    자동으로 내려가게끔 할수있는지요…

    1. 현재 오른쪽 문자가 잘리지 않게 자동으로 다음 줄로 넘어가는 워드랩 기능은 지원하지 않습니다.
      워드랩 기능을 지원하려면 IE의 기능을 이용하지 않고, 인쇄 기능을 완전히 따로 구현해야 됩니다.
      ActiveX 컨트롤을 사용하는 경우가 계속 줄어들고 있는 상황이라서 현재 개발된 상황을 크게 변경해야 되는 경우일 경우는 지원하지 않고 있습니다.

      현재 상황에서는 오른쪽 부분이 잘리지 않도록 인쇄용 페이지를 따로 구성하는 방법을 사용해야 될것 같습니다.
      원하시는 답변을 드리지 못해 죄송합니다.

  203. 너무 감사하게 사용잘하고 있습니다.
    위 댓글 중에 인쇄매수에 대한 이야기가 있었는데.. 지금 확인해 보니 인쇄매수도 필요할것 같은데요.. ^^;; 바코드 라벨프린터 같은 경우는 print() 명령 몇번 실행하면 속도가 너무느려지네요 업데이트 되었으면하는 간절한 바램입니다.

  204. 넵 IEPageSetupX.Print() 여러번 실행하니 현저하게 느려지네요.. ^^
    한장의 프린터물을 스풀링 한번해서 10장 뽑는거랑..한장의 프린터물을 10번 각각 스풀링해서 10장 뽑는거랑 차이가 꽤 나는거 같더라구요..

    A4용지의 경우 용지가 커서 그런지 체감을 못하겠는데… 감열방식을 사용하는 라벨 프린터고 작은 용지이다 보니 인쇄시간이 길지 않아 더 그렇게 느끼나 봅니다.

    지금은 우선 IEPageSetupX.Print(true) 로 해놓고 인쇄창에서 매수를 직접 입력해서 사용하고 있는데…인쇄매수에 대한 속성이 추가되면 너무 감사할것 같습니다. ^^;;

    또한 IEPageSetupX.Print()를 여러번 사용하여 인쇄할 경우 사용자의 개입으로 인한 포커스 이동시 엉뚱한 화면이 인쇄되는등..에로 사항이 좀 있네요.. ^^

    아 그리고 IEPageSetupX.RollBack() 말인데요.. 인쇄가 완료되면 바로 사용가능한가요?

    ——————-
    IEPageSetupX.Print();
    IEPageSetupX.RollBack()
    ——————-

    페이지에서 위 처럼 사용했더니 바로 안되고.. 해당 페이지를 새로고침해야 롤백되더라구요..
    속도때문인가 싶어서 settiemout 사용해 봐도 안되구요..
    지금은 새창을 띄어서 window.onunload()로 사용하고 있는데.. 새창말고 원래 창에서 인쇄하 바로 롤백이 되게하는 방법이 있나요?
    IEPageSetupX.Print() 리턴값이 있으면 체크해서 가능할것 같은데.. 혹시 리턴값있는지도 궁금하네요..

    도와주는것도 없이 이렇게 주저리주저리 떠드네요.. 너무 죄송하구요..이런 훌륭한 프로그램 사용하게 해주셔서 너무 감사합니다.

    1. PrintN(5);와 같이 호출할 수 있는 기능을 추가해야겠네요..
      언제 업데이트할 수 있다고 장담은 못드리겠으나..
      다음 버전에 꼭 포함하도록 하겠습니다.

      RollBack() 부분은 소스코드를 확인한 후 다시 답변 드리겠습니다.
      고맙습니다.

  205. 좋은 프로그램 공개해주셔서 잘 사용하고 있습니다.
    prt 라는 창을 띄워 미리보기 없이 프린트를 하고 있습니다.
    (body onload=”Print();”로 출력하고 있습니다.)

    인쇄를 종료한 후에, 자동으로 창을 닫는 방법이 없을까요?

    IEPageSetupX.Print();
    IEPageSetupX.CloseIE();

    이렇게 해봤는데.. 출력이 안되고 창이 닫히더라구요..

    1. 아래코드처럼 해보세요..
      setTimeout()으로 인쇄 명령이 전송될 시간을 부여해야 됩니다.

      <head>
      <script type=”text/javascript”>
      function init()
      {
      window.onafterprint = onAfterPrint;
      }

      function onAfterPrint()
      {
      setTimeout(‘IEPageSetupX.CloseIE();’, 5000); // 인쇄 명령 전송 후 5초 후 닫기
      }
      </script>
      </head>
      <body onload=’init();’>

      아니면 간단히 아래처럼 해도 될거 같습니다.
      IEPageSetupX.Print();
      setTimeout(‘IEPageSetupX.CloseIE();’, 5000);

  206. 안녕 하세여. 이 프로그램을 좀 사용해볼려구하는데요
    다른기능들은 잘되는데 유독 인쇄종이방향만 안먹네요.
    IE8, XP 입니다. 혹시 저와같은 케이스가 있었다면 부탁드리겠습니다.

    1. 다른 기능은 정상 동작하는데 인쇄 방향만 안되는 경우는 없었던 것 같습니다.
      IE에서 수동으로 인쇄방향 설정 후 인쇄하면 잘 되는지요?
      그리고 설치된 프로그램이 최신 버전인지도 확인 부탁드립니다.

  207. setPrinting.Orientation = ‘1’; // 0: 가로모드, 1: 세로모드;
    setPrinting.header=”;
    setPrinting.footer=”;
    setPrinting.leftMargin=3;
    setPrinting.rightMargin=3;
    setPrinting.topMargin=3;
    setPrinting.bottomMargin=3;
    setPrinting.PrintBackground = true;

    setPrinting.preview();

    에서 preview()를 지원하지 않는다는 자바스크립트 오류가 뜹니다.. 유독 메소드만 인식을 안하네요…
    무엇이 문제일지잘 모르겟습니다.
    윈도우 7 64bit IE9 사용중이고 iepagesetupx는 1.3.x.x 버전입니다.

    1. 일단 Orientation의 값은 숫자로 입력하시기 바랍니다.
      setPrinting.Orientation = 0;

      그리고, setPrinting.preview();를 아래와 같이 수정해보세요.
      setPrinting.Preview();

      대문자 P입니다.

  208. 좋은 프로그램 공개해주셔서 잘 사용하고 있습니다.
    현재 프린트 미리보기창을 생성 한후 사용자가 프린트 하던지 아니면 프리뷰 창을 닫던지 할수 있는데

    프린트를 한건지 창을 닫은건지 알수 있는 방법은 없나요?

    window.onafterprint = onAfterPrint;
    라고 하고 onAfterPrint 에서 실행하니
    창을 종료하던 프린트 하던 모두 호출 하더군요

    감사합니다.

    1. 예.. 현재는 알 수 있는 방법이 없습니다.
      실제 인쇄를 한 것인지 알 수 있는 방법이 있는지 확인해보고 가능하다면 기능 추가하도록 하겠습니다.
      고맙습니다.

  209. 안녕하세요 ^^.
    <script Language=”JavaScript”>

    function print() {
    //IEPageSetupX.Clear(); // 머리글, 바닥글 삭제 && 모든여백0 설정
    IEPageSetupX.header = “”;
    IEPageSetupX.footer = “”;
    IEPageSetupX.leftMargin = 24.0;
    IEPageSetupX.rightMargin = 24.0;
    IEPageSetupX.topMargin = 10.0;
    IEPageSetupX.bottomMargin = 1.0;
    IEPageSetupX.PrintBackground = true; //이미지 인쇄 유무
    IEPageSetupX.ShrinkToFit = true; //사이즈 제어
    //IEPageSetupX.PaperSize = “A4”; //용지 제어
    IEPageSetupX.Orientation = 0; // 인쇄종이방향 설정 (가로:0, 세로:1)
    IEPageSetupX.Preview(); // 미리보기 설정
    setTimeout(‘IEPageSetupX.CloseIE();’, 1000); // 프린터 후 1 초 뒤에 익스플로러 종료
    IEPageSetupX.Print(true); // 프린트창 유무 설정
    self.Close();
    }
    </script>

    요렇게 넣고 쓰고 있는데 프린트를 버튼을 만들어서 그걸 누르면
    웹페이지의 프리뷰 미리보기가 뜨고 프린터미리보기창이 뜹니다. 인쇄를 보내고 나면 프린터미리보기는 자동으로 꺼지는데
    웹페이지의 프리뷰 미리보기는 종료가 안되네요. 어떻게 방법이 없을까요? 아에 안뜨게 하는게 더 좋습니다만.. 그게 안된다면 종료라도 자동으로 되게 조언을 좀 구하고 싶습니다.

    1. 안녕하세요..
      설명해주신 내용 중에서 “웹페이지의 프리뷰 미리보기가 뜨고” 이 부분이 이해가 가지 않습니다.
      올려주신 코드를 동작시키면 인쇄 미리보기 창이 표시되고, 인쇄가 되고, 인쇄 미리보기 창이 닫히고, 마지막에 IE까지 종료됩니다.
      웹 페이지의 프리뷰 미리보기가 뭔지를 몰라서 답변 드릴 수가 없습니다.

  210. SCRIPT5009: ‘IEPageSetupX’이(가) 정의되지 않았습니다. 디버깅결과 이렇게 뜨는데요;; 수동설치도해보고 영문설치도해봣는데 다안되더라구요;; 어떻게해야되는건지..ㅜ.. 환경은 윈7 ie9입니다..

    1. 아래와 같이 object 태그의 id 값이 IEPageSetupX이 맞는지 확인해보세요.

      데모 페이지에 접속해도 동일한 문제가 발생되는지요?

  211. 데모 페이지에 접속은 무난하게 잘됩니다. 월래 잘쓰고잇엇는데 이상하네요…;; 오프젝트 아이디값도 똑같이되잇구요.. ㅜ…;

    대략 난감하네요;;

  212. 이슬님.. 부디 도와주세요. 제가 아이프레임 내용을 scriptx로 출력하다가 대화상자 안나오게 하는걸 못해서
    찾다 찾다 여기까지 왔는데요 여기 예제대로 demo2로 아이프레임을 div로 바꾸고 했는데도 대화창이 계속 나오네요
    제발 왜그럴까요? demo2 소스를 보면 PrintPage(flag)를 호출하는 부분이 없던데 그래서인건지.. 제발 도와주세요

    1. 위 설명으로는 이해하지 못하겠습니다.
      대화창이 나온다는 것이 어떤 것인지 모르겠습니다.
      구성하신 페이지를 제가 볼 수 있을까요?
      직접 테스트해보면 더 빨리 문제를 해결할 수 있을 것 같습니다.

  213. 인쇄창이 나와서요. 헐 제가 너무 급해서 대화창으로 적었네요. 인쇄창(프린터설정창이 안나와야야 하는데 자꾸 나와요)
    IEPageSetupX.Print(false); 이게 안먹어서요. http://www.ilyanglogis.com/label2/branch_multi.asp 하단에 보면 프레임으로 접수리스트를 보이게 해놨는데 그걸 선택하고 선택한것 출력버튼을 누르면 출력이 되는데 인쇄대화창이 안뜨고 바로 출력이 되야 하건든요.. 근데 안되서요..

  214. function printArea()
    {
    //alert(“1”);
    window.onbeforeprint = beforePrint;
    window.onafterprint = afterPrint;
    window.print();
    }
    이걸로 div 안에 있는 내용을 출력하고 싶은데 인쇄창 IEPageSetupX.PrintBackground = false; 이걸 적용시키려고 하면 안되서요.

      1. 안녕하세요. 이슬님.
        좋은 프로그램을 공개 해주셔서 감사합니다.
        바로위에 HOOA분의 질문에 저도 궁금했는데 바로밑에
        이슬님의 답변이 보이질 않습니다.;; 다시한번 답변을
        달아주시면 감사하겠습니다. ^^

        1. 안녕하세요..
          다른 블로그 프로그램에서 워드프레스로 데이터를 이전했더니 제대로 표시되지 않는 글이 있었네요..
          수정해서 제대로 표시될 것입니다.
          혹시나 위 방법으로 해결되지 않으면 알려주세요..

          1. 이슬님 빠른답변 감사합니다.^^
            다른건 다 적용되는것 같은데 제가 원하는것은

            클릭을 했을때
            test.php 있는 내용을 프린트창 없이 바로 출력할려고 이것저것(IEPageSetupX.Print(false); ) 적용해 봤는데 안되서 염치불구하구 문의를 합니다^^ . (php초보 ^^;)

            다시한번 좋은 프로그램을 공개해주셔서 감사합니다.

          2. 데모 페이지는 참고하신거죠?
            테스트할 수 있는 URL을 남겨주시는 것이 가장 빨리 해결할 수 있는 방법입니다.
            이곳에 URL을 공개하기 어렵다면 메일(isul at isulnara.com)로 보내주셔도 됩니다.

  215. 정말 감사합니다. 속앓이 하면서 smsx 를 사용하다 우연히 발견한 이슬님 자료로 이렇게 다운받아 어제 바로 적용해 봤습니다. 다시 한번 감사드립니다.
    아직 더 사용을 하면서 익숙해 져야겠지만… 너무도 찾던 모듈이라~ 저는 VS2008 에 C# 으로 개발중인데
    잘 됩니다. POP창으로 페이지 띄워서 출력하는데 이벤트 에서 가끔 동작을 안하고 에러나는데 사용법 익숙해지도록 노력 해야겠습니다.

  216. 이슬님 덕에 무난하게 출력을 하는데 한가지 문제에 봉착 되었네요 -_-;
    한페이지씩 선택 해서 출력은 무난하게 잘되는데

    메인 페이지의 GridView 에 데이타가 뿌려지고 여러개의 row를 check 하여
    check 된 row의 데이터를 popup 창으로 띄워 해당 디자인된 페이지를 만들어서
    popup 될때 onload 로 ActiveX_print 를 즉시 출력 IEPageSetupX.Print(); 을 시키는데

    IEPageSetupX.Print();
    setTimeout(‘IEPageSetupX.CloseIE();’, 5000);

    3페이지 정도는 연속해서 잘되는듯 싶은데 그 이상 페이지들은
    출력을 할때는 즉시 출력이 아니라 IEPageSetupX.SetupPage(); 한것처럼 설정창이 떠버리네요 -_-;
    프로그램 오류가 뜨기도 하고

    자바스크립트에서 호출된 popup 출력 페이지가 닫아졌는지 확인해서 다음 페이지 출력을 보내보려는데
    경험이 짧아서 호출된 페이지가 닫혔는지 확인법을 몰라 이러지도 저러지도 못하고 있습니다.

    도움을 받을수 있을런지요?

    1. var winOpen = window.open(str1, “”, “target=_BLANK,scrollbars=yes”);

      do { }while(winOpen.closed==false)

      로 해결했네요… 아무쪼록 이슬님 감사드리고 건강하세요~

    2. 직접 해결하셨네요..
      다른 방법으로는 팝업 창에서 setTimeout(‘IEPageSetupX.CloseIE();’, 5000);에서
      IEPageSetupX.CloseIE(); 하기 전에 부모창의 특정 함수를 호출하는 방법도 있습니다.
      부모창의 특정 함수에서 다음 row를 인쇄하는 명령을 수행하면 될거 같습니다.

      Mulgom님도 항상 건강하시기를 바라겠습니다.

  217. 너무 좋은 프로그램 잘 쓰고 있습니다.
    저는 smsx6.cab 을 사용했었는데.. isul 님이 만든 프로그램이 모든면에 뛰어나네요.
    하지만 한가지 아쉬운점이 있는데..
    프린트로 전송되는 속도가 smsx6.cab 에 비해 약 1초정도 느린것 같습니다.
    똑같이 프린트를 실행시키면 smsx6.cab 보다 약 1초정도 느리게 전달되는것 같습니다.
    이것만 개선되면 좋을것 같은데..
    좋은 방법이 없을지요?
    smsx6.cab 은 (http://scriptx.meadroid.com/download.aspx) 에서 만든 외산프로그램 입니다.
    isul 님의 의견을 듣고 싶어 매번 눈팅만 하다가 글을 남겨봅니다..^^
    현재 IEPageSetupX 버전은 1,4,0,3 를 사용하고 있습니다.

    1. 안녕하세요..
      알려주신 부분은 아쉽지만… 제가 당분간은 테스트를 진행할 여유가 없습니다.
      원하시는 결과를 드리지 못해 죄송합니다.

    1. 머릿말, 꼬릿말의 정렬은 다음과 같이 하면 됩니다.
      &b를 이용하는 것입니다.
      예를 들어 설명드릴게요..

      머릿말/꼬릿말을 아래와 같이 설정하면
      &bisulnara.com => 오른쪽 정렬
      &bisulnara.com&b => 가운데 정렬
      이 됩니다.

    2. 와우~~ 감사합니다…

      한가지 인쇄관련된 문의드릴께요… 다른 사이트에 남겨놓은 질문인데 인쇄관련해서 많은 고민을 해보신듯 하여 혹시나 하는 마음에 문의드립니다.

      http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_html&wr_id=210663&page=1

      한번 보시고 혹시 원인이 무엇인지… 아시면 꼬옥~~ 답글 부탁드립니다. 정말 이문제로 너무 많은 고민을 하고 있습니다.

      좌우여백 1mm 때문에 인쇄물이 흐트러 지는 경우도 있는데 위 문제는 정말 답이 없네요.. ㅠㅠ

    3. 올려주신 링크에 있는 인쇄 또는 미리보기시에만 워드랩 되는 문제는 저도 테스트 해봤는 해결 방법을 모르겠습니다.
      Firefox에서도 동일한 문제가 발생되네요..

    1. 안녕하세요..
      올려주신 링크에 있는 사이트에서 어떤 순서로 테스트를 해야 되는지 알려주시면 테스트 해보고 해당 문제에 대하여 댓글 남기겠습니다.

    1. 주변에 64비트 컴퓨터가 없어서 32비트 Windows 7, IE9에서 테스트 해보니 이상없네요..
      문제가 발생하는 PC를 제가 직접 볼 수 있을까요?
      시간되실 때 네이트온 isul@isulnara.com 친구추가하시면 제가 원격지원으로 확인해보도록 하겠습니다.

  218. 안녕하세요 덕분에 너무 편하게 개발을 하고 있습니다.
    수고스럽겠지만.저희 사이트는 피치못하게 프레임을 나눠야 하는 상황입니다.
    근데 ie8이나 9에서는 미리보기창에서

    1페이지 보기 selectbox옆에 화면에 보이는대로select박스가 있습니다.

    그것을 선택 클릭해보면
    화면에 보이는대로
    선택한프레임만
    모든 프레임
    이 있습니다.

    이것을 제어할수 있는 기능이 있을까요?

    더 큰욕심을 부리지만.
    페이지 보기
    화면에 보이는대로 설정
    확대 축소 기능을 설정할수 있으면

    이 있으면 너무 좋겠습니다.

    화면에 보이는 대로..이부분만이라도 된다면 너무 감사하겠습니다.

    1. 안녕하세요..
      제가 바쁜일이 있어서 당분간은 말씀하신 기능을 추가하기가 어렵습니다.
      당분간은 시간을 낼 수 없을 듯합니다.
      나중에 기능 추가나 수정한다면 꼭 포함시키도록 하겠습니다. 언제가 될런지는 저도 장담할 수가 없습니다..
      의견 고맙습니다.

  219. 정말 저에게는 구세주 같은 붙이시군요.
    용지 사이즈가 바로바로 바뀌지 않는 현상이 있어 고민이 되고 있지만.
    그보다 더 큰 문제는 한번 인쇄후 프린터를

    if (IEPageSetupX.GetPrinters().indexOf(‘OneNote 2010으로 보내기’) > -1) IEPageSetupX.Printer = ‘OneNote 2010으로 보내기’;

    처럼 변경을 하면 인쇄에서 기본 프린터로 변경은 되지만
    선택된 프린터가 선택된 채로 있습니다.

    감사합니다.

    1. 기본 프린터가 변경은 되지만 선택된 프린터가 선택된 채로 있다는 부분이 이해가 가지 않습니다.
      상황을 좀더 상세히 설명해주시면 고맙겠습니다.

  220. 이슬님.. 위에 윈도우7에서 안된다던 사람입니다.
    꼭 해결해야 해서요. 이걸로 안되면 정말 방법이 없어서요..
    네이트 친구추가 했는데 꼭 좀 부탁드릴게요.
    제가 네이트에 고객이 많아서 성함이 어찌되시는지 알수 없나요?
    들어오셔도 누군지 모를거 같아서요. 아니면 친구 수락해주시고 저한테 말좀 걸어주세요.
    부탁드릴게요

    1. 원격지원으로 해결해드렸습니다.
      Windows7에서 기본 프린터 설정이 안되는 문제였습니다.
      기본 프린터 설정 시 권리자 권한이 필요하여, IE를 관리자 권한으로 실행한 후 정상 동작되었습니다.
      혹시나 동일한 문제가 발생하시는 분들은 참고하시기 바랍니다.

  221. 먼저 좋은 프로그램을 만들어 주셔서 감사합니다.

    제 문제는 프린트할때 여백을 0 으로 주어도 미리보기나 페이지설정창을 보면 모두 여백이 들어가 있습니다.
    외쪽 : 6.01, 오른쪽 :6.18 이렇게요. leftMargin 에서 6.01 이하로 줄여도 계속 6.01 만 나오고 그이상은 정상적으로 적용됩니다.
    다른 인쇄물위에 문자만 프린팅해야되서 여백을 아예 없애야 좌표를 잡을수 있거든요..
    제설정 문제인지 프린터에 따른 설정 문제인지 궁금합니다..

    그럼 좋은 하루 보내세요~

    1. 안녕하세요..

      프린터에 기본으로 여백이 설정되어 있기 때문입니다.
      프린터를 다른 것으로 변경하면 여백이 달라지는 것을 확인할 수 있을 것입니다.
      위 문제를 해결하시려면 프린터의 기본 여백을 설정하셔야 됩니다.
      프린터의 기본 여백 설정 방법은 프린터마다 방법이 다릅니다.
      윈도우에서 여백을 설정할 수 있도록 프린터 드라이버에서 그 기능을 제공하는 경우도 있고, 프린터의 물리적인 메뉴 버튼을 통하여 설정해야 되는 경우도 있습니다.

      좋아님도 즐거운 하루 보내시길 바랍니다^^

  222. 정말 좋은 프로그램 잘 활용하고 있습니다.
    복받으실겁니다. ^^
    그런데 한가지 문의드릴께 있는데요.
    시리얼포트(Serial port) 제어는 할 수 없을까요?
    웹에서 영수증프린터 등으로 출력하고자 하는데 혹시 방법이 없을까요?
    고견을 청합니다. 꾸벅 감사합니다. ^^

    1. 안녕하세요..
      웹 페이지에서 시리얼포트에 연결된 프린터로 인쇄를 하려면 시리얼통신용 ActiveX를 이용하면 됩니다. 무료로 나와 있는 것은 구하기 쉽지 않을 것 같습니다.
      다른 방법으로는 시리얼포트로 인쇄하는 프로그램(EXE)을 개발하여 설치 후 웹 페이지에서 인쇄 버튼을 누르면 그 인쇄 프로그램이 실행되면서 인쇄하는 방법으로 구현해도 될 것 같습니다.

  223. 기존에 activeX 라는 외국 무료 소스를 사용하다가… 라이센스 에러가 떠서… 대체할만한 소스가 있나해서 찾았는데…
    올려주신 소스로 방금 적용해본 결과… 아주 완벽히 출력이 됩니다.^^;
    참고로 테스트 환경은 서버(linux + php) / 클라이언트(윈7 + 64bit + 익스9 + 네트워크프린터)로 테스트 했습니다~
    프린터 선택화면 호출하지않고, 바로 디폴트 프린터 지정해서 출력되는게 너무 좋습니다~
    복 마니 받으시고~ 인연이 된다면 저도 나중에 도울일이 있어서 도움 드리면 좋을것 같습니다 ㅎㅎ 수고하세요~

  224. 만드신 프로그램을 쓰는데 우선 감사드립니다
    다른게 아니라 제공해주신 프로그램 특정 부분만 출력을 하고싶은데 제가 아직 많이 미숙해서 사용법을 정확하게 모르겠어서 질문드려요
    상황은 화면에서 상단 메뉴 왼쪽 메뉴를 제외하고 내용만 출력하고싶습니다 왼쪽 메뉴와 상단메뉴는 다른페이지 이구요
    만들어주신 프로그램으로 제가어 가능한지요?혹시 가능하다면 방법좀알려주세요^^;;

    1. 만약 프레임으로 나뉘어져 있고, 특정 프레임만 인쇄해야 된다면 인쇄할 프레임에 focus를 준 후 인쇄 명령을 내리면 됩니다.
      여러 개의 프레임에서 특정 프레임만 제외하고 인쇄하려면 제외할 프레임을 제외한 부분을 하나의 프레임으로 구성하고, 그 안에서 다시 나누는 방법으로 해야 될 것 같습니다.

  225. 안녕하세요 2006년도에 처음 알아서 지금까지 잘 사용하고 있습니다
    감사합니다.
    지금까지 피드백 해주시는 이슬님께 감사하다는 말씀밖에 드릴게 없네요^^;
    한가지 여쭤보려구요.. 2006년 1월 12일에 서명훈님이 문의하신부분인데..
    인쇄 성공실패 여부 확인은 안되더라도 인쇄창이 모달형태로 떠서 다음액션을 진행할수있을지해서요
    제가 하고싶은 결론만 말씀드리면 ^^;
    인쇄후 다음페이지로 이동하고 싶어서요..
    IEPageSetupX.Print(true); //인쇄창 실행
    location.href=”다음페이지 인쇄.html”;
    이렇게 사용고 싶은데 방법이 있을까요?

    1. 안녕하세요..
      아쉽게도 인쇄 완료 여부를 알아낼 방법이 없으며, 인쇄 창은 모달로 띄울 수는 있지만 명령은 모달 창에서 대기하지 않고 모두 연속으로 실행됩니다.
      현재로서는 방법이 없습니다. 인쇄 명령 전송 후 적당히 시간을 지연 시킨 후 이동하는 방법 밖에는 없는 것 같습니다.

  226. 이슬님 답변 감사합니다
    그런데 window.print()로 인쇄하면 (브라우저 기본인쇄)
    인쇄창이 닫기기 까지 다음 명령을 기다리고 있더라구요.
    혹시나 싶어서 조심스레 한번만 더 여쭤봅니다. 감사합니다.

    1. 답변이 많이 늦었습니다.
      요즘 바쁜 일이 있어서.. 확인을 못하고 있었습니다.
      말씀하신 것처럼 window.print()는 다음 명령을 기다리는데요..
      IEPageSetupX를 사용한 명령에서는 인쇄창 띄우는 명령만 보내고, 바로 다음 명령을 실행하도록 처리하였습니다.
      현재로서는 인쇄 창이 닫히기 전까지 다음 명령을 기다리도록 수정할 여유가 없습니다.
      도움을 드리지 못해 죄송합니다.

  227. 좋은 소스 공개해주셔서 너무 감사드립니다. 현재 완벽하게 잘되구요.
    인쇄버튼을 넣었는데 버튼은 인쇄안되게 할 수 없나요?
    코딩의 문제인데..조금만 더 도와 주세요…

  228. 좋은 프로그램 너무너무 감사히 잘 쓰고있습니다. 대단하십니다.~ 다름이 아니오라 저도 영수증프린터기에 이용해보려고 하는데요. 보통 영수증 프린터기가 Serial port나 LPT Port를 이용하는것으로 알고 있습니다. 위 댓글중 어떤분께서 serial port지원에 대해 문의하셨는데 별도로 구해야하고 지금 버젼에서는 불가능하다고 하셨는데, 그럼 지금 버젼은 LPT Port는 지원을 하나요? 아니면 PC상에서 프린터가 기본으로 잡혀만 있으면 어떤프린터든 출력이 되는건가요?

    1. 안녕하세요.
      IEPageSetupX는 PC 상에 등록되어 있는 프린터로만 출력할 수 있습니다.
      프린터가 LPT 포트에 연결되어 있고, PC 상에 등록되어 있다면 출력 가능합니다.

  229. 이슬님..
    다시 도움 좀 부탁드릴게요 제가 출력리스트를 뽑는 아이프레임에서 body 에 onload로 출력을 하고 있는데요
    리스트 양이 많아지다보니 (100건이상) 한번에 데이터를 만들지 않고 루프 안에서 출력을 날리고 싶어서요
    혹시 가능할까요? 부디 답변 부탁드려요.

    1. 안녕하세요..
      질문하신 내용을 잘 이해하지 못하겠습니다.
      만들어두신 사이트가 있으면 URL 알려주시면 확인해보겠습니다.

  230. 이슬님 크롬에서 이게 돌아갈까요? ACTIVE X 없이 여백제어 프린터 제어가 가능할까요?
    당장 해야될 상황이 어서 요.. 프린터 제어가 안된다면 여백제어라도 수동도 괜찮습니다.
    제발 알려주세요.

  231. 안녕하세요.
    윈도우7환경에 익스플로러10버전에서 인쇄가 안된다고 하네요. 익스플로러9버전은 잘됩니다.
    혹시 10버전도 인쇄가 잘되는지요?

  232. 미리보기설정에서 인쇄크기설정(%)지정을 따로 지정할수있는지 궁금합니다.
    아니면 자동으로 내용에 따라서 지정할수있는지 궁금합니다.

  233. 안녕하세요.

    좋은 프로그램 개발고 빠른 피드백에 감사드립니다.

    인쇄시 일부 피씨에서는 정상 작동이 안되어 메뉴얼에 있는 콘트롤 삭제 방법으로 해당 디렉토리를 검색하였으나 컨트롤파일이 보이지가 않습니다.

    하지만 PrintTest() 명령으로는 정상 설치되었다고 나오는데, 정상적으로 페이지 세팅이 안되서 컨트롤 재설치 방법을 문의드립니다.

    아래는 제가 찾아본 디렉토리 입니다.

    설치된 컨트롤 삭제 방법:
    C:\WINDOWS\Downloaded Program Files\IE 인쇄 페이지 설정 컨트롤 선택 – 마우스 오른쪽 버튼 – 제거

  234. 안녕하세요.
    본 프로그램관련하여 문의사항이 있어 찾아왔습니다 ^^
    댓을 보니 크롬에서는 지원을 하지 않는 것 같은데
    firefox나 사파리에서도 지원하지 않는가요?

    1. ActiveX 없이 기술적으로는 가능할 거 같은데요..
      그런 제품이 나와 있는지는 모르겠습니다.

      ActiveX가 아닌 실행 프로그램을 만들어 수동으로 설치한 다음에..
      웹 페이지에서 인쇄할 때 자바스크립트로 그 프로그램을 호출하여 인쇄 페이지의 각종 설정을 자동으로 처리하면 될거 같습니다.

  235. 바닥글에 이미지 삽입도 가능한가요?
    웹페이지를 리포트 형식으로 출력을 하려고 하는데 바닥글에 로고가 들어가야 하거든요…

    1. IEPageSetupX는 단순히 IE의 “페이지 설정” 창에 있는 각종 설정을 자동화할 뿐입니다.
      IE에서 기본으로 지원하지 않는 기능은 지원되지 않습니다.
      IE에서 머리글, 바닥글에는 이미지를 지원하지 않습니다.

      바닥글의 여백을 줄이고, 메인 화면의 하단에 로고를 넣어서 바닥글처럼 만들어 사용해야 될 것 같습니다.

  236. window 7 + ie8 사용 하고 있는데요

    32bit에서는 잘 돼는데 64bit 에서는 잘 되지 않습니다.

    제 생각에는 설치가 잘 안돼는거 같은데요

    32bit에서는 한번 설치 하면 설치 문구가 안뜨는데 62bit에서 한번 설치를 했는데도 새로고침을 하게 돼면

    설치 문구를 자꾸 띄웁니다.

    그리고 혹시 프린트 비율 변경해주는 속성은 없나요??

    1. 윈7 + 64bit + IE9에서는 정상 동작함을 확인하였습니다.
      IE8에서는 확인하지 못하였습니다.
      64bit 환경에서 IE를 관리자 모드로 실행한 후 테스트해보시기 바랍니다.

      비율은 지원되지 않습니다.
      크기에 맞게 축소하는 기능(ShrinkToFit=true)은 지원됩니다.

  237. 안녕하세요. 좋은 프로그램 몇년간 잘 이용했습니다.평소에 감사 인사를 전했어야하는데;;; 부끄럽네요이용중에 문제가 조금 생겨서 자체적으로 해결해 보려고 애썼지만 능력부족으로 도움을 청하게 되었습니다. ——————————————에러코드 102body객체의 onload이벤트에서 IEPageSetupX의 속성/메소드를 호출하여 주십시오.——————————————–  위와같은 오류가 발생하고 있습니다.IE11에서 발생하고, 그 이하에서는 정상적입니다. (10은 확인 못해봤습니다) <body onload=”Print();”> 로 호출해서 써왔는데<body>로 바꾸고 페이지 끝에 <script>Print();</script>로 수정해도 마찬가지네요.object위치도 여기저기 옮겨봐도 해결되지 않아 도움청합니다.   function Print() { IEPageSetupX.header=”; IEPageSetupX.footer=”; IEPageSetupX.leftMargin=<?= $prtlm; ?>;  IEPageSetupX.rightMargin=2; IEPageSetupX.topMargin=<?= $prttm; ?>; IEPageSetupX.bottomMargin=10; IEPageSetupX.PrintBackground=true; //IEPageSetupX.Preview(); IEPageSetupX.Print(); setTimeout(‘IEPageSetupX.CloseIE();’, 5000); }<body onload=”Print();”>오브젝트 인쇄내용</body></html>

    1. 안녕하세요.
      테스트할 수 있는 URL을 남겨주시는 것이 좋을 것 같습니다.
      블로그에 공개가 어렵다면 isul at isulnara.com으로 메일 주셔도 됩니다.

      1. ISUL님 다양한 환경에서 확인하느라, 답이 늦었네요.

        알려주신대로 변경했더니 IE11에서 문제없이 잘 됩니다.
        앞으로도 몇년은 끄떡없겠네요^^;

        도움주셔서 감사합니다 (__)

  238. 안녕하세요. 프로그램 유용하게 잘 쓰고 있습니다.사용중에 문의사항이 있어서 글을 남기게 되었는데요.인쇄할때 설정값을 인쇄방향은 1:가로, 인쇄용지설정은 A3 로 설정을 한후 인쇄를 하면 처음에는 바로 설정값이 적용이 않되고 무조건 세로로 뜨는데요.새로고침을 한 후 다시 인쇄를 누르면 가로로 설정값이 적용이 되어서 나오는 현상이 있는데요.이런 문제점을 해결할수 있는 방법이 있을까요?그리고 인쇄용지 설정값을 A3로 설정을 했는데도 A4로만 나타나는 현상이 있는데요.다음과 같이 세팅값을 설정했는데요. 잘못된 부분이 있을까요?    IEPageSetupX.header = “”;    IEPageSetupX.footer = “”;    IEPageSetupX.leftMargin=8;    IEPageSetupX.rightMargin=8;    IEPageSetupX.PrintBackground = true;    IEPageSetupX.ShrinkToFit = true;    IEPageSetupX.Preview();    IEPageSetupX.Orientation = 0; // 1:세로 0:가로    IEPageSetupX.PaperSize = “A3”; 이부분이 해결이 않되고 있어서요..ㅜㅜ

    1. 안녕하세요.
      죄송합니다. 한 동안 정신없이 바빠서 이제서야 확인했습니다.
      모든 속성에 대한 변경은 .Print(), .Preview()전에 설정해야 됩니다.
      .Print() 또는 .Preview()가 호출될 때 모든 속성의 값을 설정하게 됩니다.

  239. 안녕하세요^^ 제가 찾고 있던기능이 딱있네요ㅠ
    근데 혹시 인쇄할때 장수도 설정할수 없을까요?
    복제본으로 2장 이런식으로..
    좋은프로그램 감사합니다!

    1. 안녕하세요..
      인쇄 매수는 지원하지 않습니다.
      2부 인쇄하고자할 경우 print()를 두 번 호출해야 됩니다.
      이젠 ActiveX를 퇴출 시키는 상황이라서 더 이상 업데이트는 없습니다.

      1. 빠른댓글감사합니다^^
        두번 호출하게되면ㅠ 아무래도 데이터가 프린터로 두번넘어가 인쇄가 늦어지는 문제가 있어서ㅠ 복제본을 스크립트로 설정하여 자동인쇄가 되고 인쇄속도도 빠르게 할려고 하거든요ㅠ
        단시간에 최대한 많이 뽑아야하는 일이라서
        혹시 다른괜찮은 방법있으면 조언해주시면 안될까요ㅠ
        주말인데 이렇게 답변주셔서 다시한번감사드려요!

        1. 다른 프로그램을 구하셔야될 것 같습니다.
          사용자가 많지도 않은 것 같고, ActiveX도 퇴출시키는 상황이라서 업데이트는 하지 않습니다.
          혹시나 공개할 수 있다면 어떤 용도로 사용하는지 알려주시면 좋겠습니다. ActiveX가 아닌 다른 방법으로 해결할 수 있을지 생각해보겠습니다.

  240. 제가 사용하려고 하는 용도는
    주로 행사장에서 쓰이며
    50미터 정도 곳에서 컴퓨터로 사람들을 대상으로 사진촬영을 하고,
    제가 있는 장소에서는 원격으로 파일을 바로 받아 해당이미지를 특정 레이아웃에 배치 시킨다음에 사람인원수 만큼
    출력을 해서 제품을 만듭니다.
    촬영을 할때 인원수를 파일명에 포함시켜서
    출력이 될때 해당파일명을 불러와 반복적으로 웹페이지에 불러온다음에
    자동으로 인쇄를 시키다 보니 아무래도 용량이 커져 인쇄가 되는데 시간이 오래 걸립니다.

    제가 프로그래밍 언어는 jsp와, 웹 언어밖에 하지못해서 다른언어를 하는데는 한계가 있으며

    당장 이번주에 큰행사가 있어서…최대한으로 시간을 줄이기 위해 이렇게 도움을 요청드립니다.

    1. 당장은 지원이 어렵구요..
      앞으로 새로운 프로그램을 만드는데 참고하려고 합니다. ActiveX로 하다 보니 IE에 종속되어 처리가 번거롭기도 하고, ActiveX를 사용하지 않는 분위기라서 아래와 같은 형식으로 프로그램을 만들어볼까 고민 중입니다.

      -인쇄 레이아웃 템플릿을 엑셀로 만들고, 그 엑셀 파일을 웹 서버에 올려두고
      -웹 페이지에서 다음과 같은 링크 호출
      ezprint://print/http%3A%2F%2Fmydomain.com%2Fprint.php%3Fid%3D123xw32
      ezprint://preview/http%3A%2F%2Fmydomain.com%2Fprint.php%3Fid%3D123xw32
      -링크 클릭 시 전용 프로그램이 설치되어 있지 않으면 전용 프로그램(*.exe) 다운로드 처리
      -전용 프로그램 설치하면 커스텀 프로토콜 생성-> 예) ezprint://
      -링크 클릭 시 전용 프로그램이 설치되어 있을 경우 클라이언트에 전용 인쇄 프로그램(ezprint)이 자동 실행되고
      -위 링크(http://mydomain.com/print.php?id=123xw32)의 내용을 다운로드
      -링크 호출된 내용은 json 형식으로 인쇄 기본 정보, 템플릿, 템플릿에 사용할 데이터가 포함(서버측 스크립트에서 자동 생성)
      {
      “info”: {“paper”: “A4”, “count”: 5, “orientation”: 1},
      “template”: “http://mydomain.com/template1.xlxs”,
      “data”: {“A1”: “타이틀”, “B5”: “ABC-123”, “C4”: 12.3, “B10”: “{image}http://mydomain.com/photo.jpg”}
      }
      -인쇄 프로그램에서 다운로드한 데이터를 엑셀 템플릿에 자동으로 넣고(텍스트, 이미지 등) 인쇄 또는 미리보기

      이런 형식의 프로그램이 있다면 현재 상황에 적용 가능한지요?

  241. 공유해주신 프로그램 감사히 잘 쓰고 있습니다.

    사용 중 문의사항이 있어서 글 남깁니다.

    PC에 프린터를 두대 연결하여 기본프린터는 일반프린터로 평소 사용하다가
    해당 activeX를 사용해서 기본프린터를 변경한 후에 인쇄 후 기본프린터를 기존 것으로 돌리도록 사용하는데요.

    가끔 기본 프린터가 되돌아가지 않으면서 해당 인쇄페이지가 멈춰버리는 현상이 발생합니다.
    항상 그런 것도 아니라서 페이지를 보여드리기도 애매하네요.
    기본 설정은 아래와 같이 사용중입니다.

    var default_printer = IEPageSetupX.GetDefaultPrinter(); //기본프린터 확인

    IEPageSetupX.Print(false); //출력하기
    IEPageSetupX.RollBack(); //이전 상태로 돌리기

    IEPageSetupX.Printer = default_printer;
    //IEPageSetupX.SetDefault();

    다시 한번 감사말씀드립니다.

    1. 안녕하세요.
      해당 문제가 발생하다 안하다 해도 테스트 페이지가 있었으면 반복 테스트해 보았을텐데요.. 없어서 아쉽네요.
      일단 아래 코드를
      IEPageSetupX.Printer = default_printer;
      아래처럼 지연시켜서 호출해보세요. 지연시간은 인쇄가 완료될만큼 충분한 시간으로 설정해보세요.
      setTimeout(“IEPageSetupX.Printer = default_printer;”, 500);

      1. 답변 감사드립니다.

        말씀주신대로 대응은 해둔 상태입니다.
        동일현상이 발생할지는 지켜봐야할 것 같습니다.

        좋은 프로그램 감사합니다

  242. 안녕하세요
    좋은 프로그램을 올려주셔서 잘 사용하고 있었습니다.
    지금까지는 윈도우xp, 윈도우 7 에서 사용을 하고 있었는데
    이번에 윈도우10 익스플로러11로 업그레이드 되면서 프로그램이 설치가 안되네요
    아니 설치는 되었다고 하는데 프린트화면에서는 설치가 안되었다고 나옵니다.
    그래서 댓글을 처음부터 쭉 읽어보았더니 진우 님이 익스플로러11에서 안되는것을 해결하였던데
    제가 프로그램을 잘 알지못합니다. 이 쪽 계통이 아니라서요..
    그래서..혹 익스플로러11 버젼이 가능하게 해주실 수 있는지요…
    저희 회사 홈페이지에서 전표를 출력하는데 대부분 컴퓨터가 부끄럽게도 xp또는 윈도우7이라서요..
    전부 컴퓨터를 체인지를 할 경우에 출력이 안되는 문제가 생겨서요..
    좀 부탁드리겠습니다. 아니면…윗분들처럼 소스를 어떻게 바꾸는지 방법이라도 좀….
    출력이 안되니 답답해서 미치겠네요…

      1. 안녕하세요 이슬님

        말씀해주신데로 재설치를 하여 테스트를 해보니 잘됩니다. 그런데 실제로 출력을 해볼려고 하니

        똑같네요…흠..테스트하는 것은 되는데 실제는 안되네요…수동설치(관리자모드로), ie(관리자모드)로 실행

        했는데도 똑같네요..에구….

        1. 안녕하세요.
          제가 남겨드린 테스트 페이지에서는 잘 되는데 직접 구성하신 사이트에서는 안된다는 것인가요?
          만약 그렇다면.. 그리고 공개하실 수 있다면 구성하신 웹 페이지의 URL을 메일(isul at isulnara.com)로 보내주시면 확인해보겠습니다.

          1. 안녕하세요 이슬님~
            댓글남겨주신거 확인해서 사이트담당자와 예기를 나눠봤는데요
            저희 url을 공개하기 어렵다고 하네요…
            신경써주셔서 감사합니다.
            인쇄가 안되긴 하는데 어떻게든 해볼려고 합니다.
            항상 건강하시고 즐거운 하루 보내세요~

          2. 안녕하세요.
            추가로 ActiveX를 사용하는 태그가 body 태그 내에 위치하는지도 확인해보세요. head 태그 내에 들어가 있으면 안됩니다.
            상준님께서도 즐거운 하루 보내시기를 바라겠습니다.

댓글 남기기

이메일은 공개되지 않습니다.