웹페이지 즉, 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 파일과 수동 설치파일을 다운로드하여 본인의 서버에 올려두고 사용하시기 바랍니다.
외부 사이트에서 제 서버의 위 링크로 접근하면 다운로드되지 않습니다. 403 에러가 발생됩니다. 서버 트래픽이 많이 발생하여 외부에서의 접근을 차단하였습니다.
* 질문을 남겨주실 때는 최대한 상세히, 그리고 제가 테스트할 수 있는 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 포커스 잃어 버리던 버그 해결
출력할때 (가로) (세로)로 설정하는 속성은 없나요…
가로/세로 출력부탁드립니다..
가로/세로 출력 기능은 좀 어려운데.. 한 번 시도해 보겠습니다.
이슬님… 좋은 프로그램 공개해주셔서 감사드리구요. 하나 추가해주셨으면 하는게 있는데요. iframe 안에 있는 내용만 출력할 수 있도록 해주셨으면 하구요. 그럼 부탁드릴께요…
프레임 안에 있는 문서를 출력하기 위해서는 focus를 이동시킨 후에 인쇄하면 됩니다.
아래는 예제입니다.
프레임 안에 있는 거 출력
IEPageSetupX.header = "";
IEPageSetupX.footer = "";
IEPageSetupX.PrintBackground = true;
//IEPageSetupX.Preview();
icert.focus();
icert.print();
임시로 이렇게 하기는 했습니다만…. Preview는 되질 않는군요. 프로뷰가 된다면 좋겠는데요…. 아니면 윗분말씀처럼 가로세로를 지정할 수 있다면 관계가 없게지만 가로세로 지정이 되지 않으면 사용자에게 확인을 하게 했으면 하거든요.
Preview 기능도 수정해서 잘 동작될 것입니다.
이슬님!! 가로세로는 잘되는군요. 근데 코멘트가 틀린것 같다는…. 1; // 세로 0; // 가로 인것 같은데요… (내가 틀렸나?) 어쨋든 그건 그렇구요. 프리뷰는 안되는데요? 프리뷰하면 iframe에 있는것만 되는게 아니고 전체페이지가 다 프리뷰 됩니다. ActiveX도 다시 받아서 올렸는데, 잘안되네요. 확인 한번 부탁드리구요. 혹시 소스가 있으시다면 부탁드릴께요…
드뎌 인쇄 방향 설정 기능 추가했습니다.
Orientation 속성을 설정하심 됩니다.
IEPageSetupX.Orientation = 1; // 세로
IEPageSetupX.Orientation = IEPageSetupX.Portrait; // 세로
IEPageSetupX.Orientation = 0; // 가로
IEPageSetupX.Orientation = IEPageSetupX.Landscape; // 가로
인쇄 방향은 제가 착각했네요..
바로 위에 있는 것이 정확합니다.
그리고, 프레임 미리보기는 안되네요..
인쇄기능은 인쇄 대화상자 옵션에서 "화면에 보이는 대로"/"선택한 프레임만" 등 이렇게 프레임을 선택하여 인쇄할 수 있도록 지원이 되는데 미리보기는 지원되지 않네요..
특정 프레임을 로컬에 저장시키거나 메모리에 올려서 그걸 인쇄되게 할 수도 있겠지만… 링크 경로 문제도 있고 해서 지원하기가 힘들 것 같습니다.
프레임으로 처리하지 말고, 새창으로 띄운다던가 하는 방법으로 하셔야 될 것 같습니다.
감사합니다. 잘사용하겠습니다.^^ 오늘 부산에 첫눈이 왔네요… 행복한 하루 되세요.
안녕하십니까?
좋은 프로그램 감사하게 쓰고 있습니다..
저도 프로그램을 만들다 만들다 포기 하고
이것을 쓰고 있는데, 혹 힌트를 좀 주실 수 없는지요..
소스를 요구하기는 그렇고, 만드는 힌트를 조금만
주시면 안되겠습니까?
aceseol@korea.com
안녕하세요..
시도해 보셨다니 아실지도 모르겠네요.. IE 관련 설정 사항은 모두 레지스트리에 저장됩니다.
레지스트리값만 적당히 수정해 주도록 만들면 되겠지요..
예를 들면 인쇄방향 레지스트리 부분
HKEY_CURRENT_USERSoftwaremicrosoftinternet explorerpagesetuporientation
에 값을 0,1 을 바꾸어도 인쇄는 세로로만 되고,
페이지설정이나 미리보기도 세로로만 나옵니다….
인쇄 방향의 경우 저도 고생 좀 했죠..
인쇄방향의 경우 레지스트리로 안됩니다.
인쇄 방향 설정은 프린터 설정이라서 여백 설정과는 다릅니다.
훅킹으로 시도해 보셔야 될겁니다. 눈에는 안 보이지만 직접 설정 창을 띄워서 설정하도록 말이죠^^
인쇄, 미리보기 기능도 마찬가집니다.
이슬님… ActiveX가 설치되어 있는지 확인할 수 있나요? SP2 때문에 설치가 안되는 경우가 많아서 안내페이지를 만들려고 하는데요… 설치가 되어 있지 않다면 안내하고 설치되어 있다면 작업이 계속 진행 되도록 할려고 하거든요… 혹시 아시면 부탁드립니다.
/Bigs님
예제 클릭해보세요..
설치되지 않았을 경우 화면에 메시지 출력하는 것과 자바스크립트로 검사하는 예를 올려두었습니다.
자바스크립트로 검사는 Installed()라는 함수를 보시면 되고, 화면에 표시되는 것은 OBJECT 코드에서 보시면 됩니다.
아!… 네… 예제에 있었는데도 불구하고… 죄송합니다. ^^
추가로 하나만 더 질문 드릴께요… freechal.com 처럼 설치되어 있지 않다면 수동설치도 가능한가요? 가능하다면 어떻게 해야 하는지도 부탁드려도 될런지요?
/BigS님
예제는 BigS님 요청에 따라 어제 수정했습니다^^
그리고 수동설치 예제도 오늘 적용했으니 확인해보세요..
이 페이지에 있는 수동설치 프로그램을 이용하세요..
자바스크립트 에러가 뜨네요..
에러내용은 대략..
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>
/질문요
기본값이 없을 경우에 발생하는 에러 같습니다.
프로그램 수정해서 다시 올려두었으니 다시 테스트 바랍니다. 버전은 1,0,20,2입니다.
예.. 테스트해보니 잘되네요.. 좋은프로그램 감사합니다..
그리고 위에서 에러쳤던 컴퓨터 몇대더 모아서 테스트 해봤는데, 간혹 다음과 같은
에러를 발생하는 컴퓨터도 있었습니다. 이게 익스플러문제인지는 아니면 컴포넌트 문제인지
좀더 많은 PC를 수집해서 체크해봐야겠는데요, 일딴 버그리포트 부터 올릴께요.
내용은 위와 동일하구요, 아참 그러고보니
/질문요
버그리포트 고맙습니다..
IEPageSetupX.Print(true); 이 명령이 한 번만 호출되었는데 페이지 설정 창이 두 번 뜨고, 인쇄 대화창이 나온다는 것인가요?
버전은 1,0,20,2로 수정하셔야 하며, 컨트롤도 제 웹페이지에 있는 것을 링크해서 사용하지 않고 서버에 직접 올려서 했다면 어제 새로 바뀐 버전으로 다운로드 해서 올리신 후 테스트 해야 됩니다.
전에 발생한 에러가 발생하지 않았다니 이 부분은 제대로 된 거 같네요..
이 곳에 있는 [예제] 사이트에서 [ Print(true) 인쇄(인쇄 대화상자 표시) ]를 클릭했을 경우는 어떤지요??
/질문요
아.. 간혹 클릭 했는데 창이 아주 늦게 뜨는 경우가 있습니다.
여러 번 클륵하지 않았는지요?
한 번만 클릭하고 기다려보세요.. 그래서 두 번 뜨는지 확인바랍니다.
예.. 한번 클릭했는데, Page Setup 창이 두번뜨고 마지막에 인쇄창이 뜨더군요..
좀더 많은 컴퓨터를 가지고 오류원인에대해 자세하게 분석해봐야 되는데, 시간이 없어서
세심하게 보질 못했네요.. 낼 다시 체크해봐야져…
여하튼, 확실히 그렇게 뜨는 컴터가 1대있습니다..
다른 컴퓨터를 가지고 체크해보고 다시 버그 Report 올릴께요.
수고하세요~
/질문요..
예.. 저도 여러 컴퓨터로 테스트를 해 보겠습니다.
다시 한 번 버그 리포트 감사드립니다.
수고하세요^^
이슬님… 수동설치 파일 다시 만들어 주세요. 버젼이 안맞아서 설치해도 사용할 수 없네요.
그리고 추가로 혹시 ActiveX를 탐색기에서 말고 웹에서 자동언인스톨 할 수 있는 방법은 없나요? ^^
수동 설치 파일은 다시 만들어 드리겠습니다. 오늘 빠쁜 일이 있어 바로 만들어 드릴 순 없구요.. 이 주내에 만들어 드리죠..
그리고 ActiveX를 웹에서 제거할 수 있게 하려면 ActiveX 컨트롤을 약간 수정하면 되긴 합니다..
인쇄 완료된 후 자동 삭제되게 하려는 것인가요?
꼭 필요한 기능이라면 추가하겠지만.. 한 번 생각해 보겠습니다.
/BigS님..
수동 설치 파일 새로운 버전에 맞게 만들어서 올려두었습니다.
이슬님… 감사합니다. ^^
IEPageSetupX.Clear();
IEPageSetupX.Print();
이렇게 사용하고 레지스트리 정보를 확인하니
여백이 모두 0.25000 으로 설정이 되어버립니다.
버그인것 같습니다.
사용하시는 OS와 IE 버전이 어떻게 되는지요? 그리고 제 웹페이지에서 테스트 한 결과인가요?
막 테스트 해 봤는데 전 0으로 이상없이 설정됩니다.
소스에서도 0으로 설정되도록 되어 있네요.
보안을 위해 Internet Explorer가 이 사이트에서 사용자의 컴퓨터로 ActiveX 컨트롤을 설치하는 것을 차단했습니다. 옵션을 보려면 여기를 클릭하세요.
라고, 메세지가 나타나고, IEPageSetupX가 제대로 실행되지 않습니다. 어떻게하면 위의 메세지없이 제대로 실행되어 사용할 수 있는지요?
SP2 설치하셨군요..
이 문제는 이 컨트롤에 관련된 문제가 아니라 모든 ActiveX 컨트롤에 관련된 문제입니다.
수동 설치(데모 페이지에 있습니다)하시거나 IE 옵션에서 ActiveX 관련된 사항을 설정 하시기 바랍니다.
자세한 사항은 SP2 ActiveX로 검색하면 나올 겁니다.
답장 주셔서. 감사합니다.
현재 외국 업체를 대상으로 웹사이트를 만들고 있는데,
혹시, 영문 수동설치 버젼은 없으신지요…좀 급합니다…^^;;
그리고, 수동으로 설치 했는데,
보안을 위해 Internet Explorer가 이 사이트에서 사용자의 컴퓨터로 ActiveX 컨트롤을 설치하는 것을 차단했습니다.
라는 메세지는 뜨지 않는데, 프린트하면 페이지에 오류가 있습니다. 라고 브라우져 아래 메세지 창에 뜨고, 오류 내용을 보니, IEPageSetupX이 정의되지 않았습니다. 라고 뜨네요…^^
제가 뭔가를 잘못 설치 한건가요?
좀 급한데, 답장 부탁드리겠습니다…^^;;
자주 문의드려 죄송 합니다.
수동으로 설치해서 하니 잘 됩니다…^^; 죄송
그런데, 수동설치시 안내문구가 한글인데…
영문문구 수동설치 버젼은 없으신지요… 꼭, 필요한데…
아래 링크 클릭해서 다운로드하세요.. 영문버전입니다.
https://isulnara.com/tt/down.php?attachname=923398.exe
정말, 너무 고맙습니다.
구세주를 만난 기쁨입니다.
소프트웨어 잘쓰겠습니다.
감사합니다….^o^
음… 왜 인쇄 방향설정이 안되는걸까요?
orientation 1이고 0이고 설정해봐도 아무런 변화가 없네요…
뭐가 잘못 된건지…
저는 오브젝트 띄우고, 스크립트로 자동 적용 한 다음
인쇄 방향외에 여백 설정 기능은 동작하는지요?
예제 페이지에 있는 것도 동작 안하나요?
이슬님 여쭤볼게 있습니다. 현재 하려고하는것이 이미지 위에 워터마크 이미지를 올려서
인쇄를 하는건데요… 워터마크 이미지는 투명도를 적용했습니다.
근데 이것을인쇄하면 이미지가 제대로 나오질 않는데.. 이유를 알고싶습니다.
이미지 위에 워터마크 이미지를 올리셨다구요?? 정확히 어떻게 하셨는지 알려주시면 그대로 테스트 해 본 후 알려드리겠습니다.
혹시 PrintBackground와 관련 있는 것은 아닌지요?
이런식으로 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();
패스워드가 일치하지 않다고해서.. 글을 못지웠네요.. 지저분하게 되어서 죄송하구요.
암튼 소스 올렸습니다…. 좀 봐주시구… 스크립부분에 좀 틀린게 있네요,..
밑에서 두번째.. 실제로 이렇게 쓴건 아니고 document.Form1.IEPageSetupX.Clear();
이렇게 썼습니다. ^^
그렇네요..
https://isulnara.com/tmp/img.html
위 링크에 있는 페이지처럼 구성하고 인쇄하니 https://isulnara.com/tmp/img.jpg 처럼 되네요..
실제 인쇄해서 위 그림처럼 나오는지는 확인해봐야겠네요..
filter:Alpha(Opacity=50); <== 이것을 지워주고 하면 나오긴 나오는데..... 투명이 안먹은 상태에서 나오더라구요... 현재 제가 아는게 이거밖에 안됩니다... 혹시 해결방법을 알고계시면.. 부탁드립니다.
실제 인쇄해도 위에 있는 그림과 같게 나오네요..
두 이미지가 겹쳐져 나오긴 하는데 화면에 보이는 것처럼 나오진 않네요..
filter:Alpha(Opacity=50);은 FireFox에선 적용되지 않네요.. IE에서만 되는 것 같네요..
HTML 표준이 아니라서 그런 게 아닐까요?
이슬님 답변 감사합니다….
몇일 정신이없어서.. 못왔었는데…
음 아무래도 filter 를 쓴다는거 자체가 잘못된듯 하네요…
이미지 자체를 투명하게 만들지 않으면 안될거 같아요.. ㅠ.ㅠ
암튼 답변감사합니다.
이슬님 바쁘신데 자꾸 질문해서 죄송합니다..
페이지 인쇄를 하게 되면 스크립트 에러가 뜬다고 하는데.. 그 이유를 아시는지요?
그거에대해서 검색을 해보니.. 프린트 드라이버가 깨졌다고 하는데..
다른곳에서는 잘 되거든요…
res://C:WINDOWSsystem32shdoclc.dll/preview.dlg
여기서 에러가 났다고 하네요
특정 컴퓨터에서만 그런 것인가요??
만약 특정 컴퓨터에서만 그렇다면 Microsoft Script Host Engine의 버전에 따라 발생할 수 있습니다.
Script Host Engine을 최신 버전으로 업데이트하시고 테스트 해보세요..
프린터 드라이버가 깨어졌다면 프린터 드라이버를 다른 것으로 교체한 후 해 보심이..
FinePrinter같은 가상 프린터를 설치하셔서 테스트 해 보시면 될 것 같습니다.
이슬님~ 한가지 더 여쭤볼게요…. 위에 에러때문에 그런데요… 이게 이미지를 인쇄할때는 정상적으로 잘 나오거든요.. 근데.. 텍스트 인쇄를 하게 되면.. 에러가 뜨네요.. 스크립트 에러….res://C:WINDOWSsystem32shdoclc.dll/preview.dlg
이 에러요.. 이게 특정 컴만 그런게 아니라.. 그 페이지에서 인쇄를 하려고 하면.. 전부 뜨게 되는데.. 어떻게 해야 할지 ……
에러가 발생하는 페이지를 알려주셔야 원인을 분석할 수 있을 것 같습니다.
저도 처음 들어보는 에러가 달리 도와드릴 수가 없네요..
참 좋은 프로그램 감사합니다.
많이 이용하고 이슬님 소개 많이 해드릴께요.
mandoo//
고맙습니다^^
버그신고에 예전에 신고했던 내용인데요.
인쇄설정컨트롤로 여백설정을 하는 페이지가 있습니다.
이 페이지가, 잘 작동하는데,
모든 사용자가 다 프린터를 설치한건 아니거든요. 프린터가 아예 없는 사용자가, 이 페이지를 접근하면, IE 포커스가 안되어서, IE 를 컨트롤 할수가 없습니다.
작업관리자에서 IE 를 죽여야만 하는 상황이 발생합니다.
1.0.20.3으로 업데이트 되었습니다.
프린터가 없을 경우 IE가 포커스를 잃어버리던 문제를 해결하였으며, IE의 프린터 설치 메시지를 표시합니다.
실제 응용시 짜잔한 스크립트 에러 몇개 수정했습니다.
1. Installed() 함수내 document.all(“IEPageSetupX”).object!=null
=>document.all(“IEPageSetupX”)!=null
2.body 태그에서 onunload=”롤백부분” 이부분은 설치후 닫을경우 에러가 없지만 그냥 닫을경우 스크립트 에러 발생
=>
function window.onunload()
{if (Installed())IEPageSetupX.RollBack();}
로 대체
이상 짜잔한 에러 수정이었습니다.
서동희//
고맙습니다.
지적해주신 부분까지는 생각 못했네요..
IEPageSetupX.Print()
를 호출한 후에 인쇄가 정상적으로 되었는지를
체크할 수는 없을까요?
연속 인쇄를 하고 있는데, 용지가 떨어지거나 그러면
인쇄를 중지해야 하잖아요..
그럴 때 액션을 취해서 관리자에게 알게 하려고 하거든요
그러려면 인쇄를 실패했을 때를 찾아야 하는데요
그 부분이 지원이 되었으면 하거든요.. 부탁 드립니다.
사용시 주의사항입니다.
인쇄방향설정구문을 여백설정구문 이후에 넣으니깐 제대로 적용이 안되네요.
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. 이슬님, 정말 밥이라도 한끼 사고 싶은 맘입니다. 정말 프로그램 잘 사용하고 있습니다. 울산에 오실일 있으시면 함 연락주세요. ^^
참, 한가지 의견이 있는데 워터마크 기능은 어려울까요? 프린트시 배경이미지 같은거 나올수 있게요. ^^; 넘 부담갖진 마시구요.
오늘도 즐거운 하루 보내시길..
서명훈//
인쇄 명령 보낸 후 정상적으로 처리되었는지 확인할 수 있는지 한 번 알아보겠습니다.
언제 된다고는 말씀 못 드리겠네요..
서동희//
알려주신 인쇄 방향 설정 기능이 여백 설정 기능의 위치에 따라 되고 안되는 문제는 확인 후 수정 해 드리겠습니다.
수정되면 이곳에 올려놓겠습니다.
그리고 워터마크 기능은 PrintBackground 속성과는 다른 걸 말씀하시는 것이죠?
프린트하는 것은 그냥 IE에 있는 명령을 이용하는 것이라 IE에서 지원안되는 것은 지원하기 어렵습니다. IE 기능을 이용하지 않고 전용 인쇄 기능을 만들어야 가능할 것 같습니다.
울산은 갈일이 없네요.. 버그 알려주신 점 고맙습니다. 되도록 빨리 수정 해 보겠습니다.
행복한 나날 보내세요^^
안녕하세요.
인쇄프로그램 아주 유용하게 잘 사용하고 있습니다.
그런데 아래 header,footer에 html을 먹게 할수는 없는지요.
그럼 좋은 하루 되세요.
IEPageSetupX.header = “”;
IEPageSetupX.footer = “”;
프리맨//
이 컨트롤은 IE의 인쇄 기능을 그대로 이용하는 것입니다.
IE에서 지원하지 않으면 지원되지 않습니다.
원하시는 기능으로 만들려면 인쇄에 관련된 모든 기능을 따로 구현해야 됩니다.
웹페이지에서 인쇄시 머리글, 바닥글, 여백 제어 컨트롤
https://isulnara.com/tt/index.php?pl=36&ct1=6
안녕하세요.
좋은 프로그램 잘 사용하고 있습니다.
프로그램을 사용하면서 사용자들이 많이 요청하는 부분이 미리보기 비율이 75%로 고정되어 있는데, 이걸 100% 나 폭넓이를 지정할 수 있었으면 좋겠고 하더라구요.
혹, 이러한 기능이 구현 가능하신지요? ^^* 이런 질문하는것 자체가 좀 염치가 없네요… –;
구현해 주시면 또 열심히 사용하겠습니다. (__);
그럼 좋은 하루 되세요.
찬이//
일단 지금은 시간이 없어서 시도해 볼 수는 없구요..
4월 중순이나 되어야 시도해 볼 수 있을 것 같습니다.
해 보진 않았지만 문제없이 될 것 같습니다.
저역시 공개해주신 프로그램 잘쓰고 있습니다
그런데 아직 iframe에 대한 미리보기는 구현이 안되는지요?
iframe으로 인쇄는 가능한데 미리보기는 원래 메인화면을 보여주니 ..
욕심이 생기는 군요.. 죄송 ㅠㅠ
neoaj//
IE에서 지원 안되는 것은 이 프로그램으로도 지원이 안됩니다.
열심히 시도해 보고 되면 이곳에 올리겠습니다.
답변 감사합니다
05/05/16질문에보면 용지설정이 있는데
인쇄용지설정이 안되는데 다른방법이 있나요
IEPageSetupX.paper = “A4”; // 용지설정입니다.
용지 설정 기능 v1,1,0,0에 추가되었습니다.
psk1092//
2005/05/16에 올라온 글은 다른 분이 남기신 글인데요..
IEPageSetupX.paper = “A4”;
이 부분은 지원하지 않는데 사용하셨네요..
용지 설정 기능은 지원되지 않습니다.
오호라… 좋은 프로그램 감사합니다. 보통 scriptx나 이런걸 쓰는데 실제 만드셨다는데에 대해 깊은 감사를 드립니다.
아 질문이 하나 있는데 창이 길어서.. 짤리는건 어쩔수 없는거지요?
drawhan//
예.. 길어서 짤리는 것은 어쩔 수 없습니다.
이 컨트롤이 IE에 있는 기능을 그대로 사용하는 것이라서 IE에서 안되면 이 컨트롤에서도 안됩니다.
인쇄 컨트롤을 IE와 관계없이 독립적으로 동작되게 만들지 않는 이상 안될 겁니다.
컴퓨터 문제인지 일부 pc에서 copyright는 지울수 없습니다. 라는 메세지의 팝업창이 계속 뜨는군요.(컴포넌트 재설치해도 계속 그렇구요) 물론 를 넣었는데도 그렇군요. 한번 확인을 부탁을 드립니다. 아 이걸루 좀 많이 힘들었습니다.
btcom@hanmail.net
문현종//
메일 보냈습니다.
스팸 메일함 확인해보세요..
구성하신 페이지의 URL을 이곳이나 메일로 알려주시면 확인 후 연락드리겠습니다.
안녕하세요.
만드신 플그램 잘 쓰고 있어요.
이번에 OS를 새로 설치했는데요. WIn Srv2003 이고요.
설치가 되지를 않네요.
수동설치를 해도 프로그램은 등록되는듯 한데.
자꼬 설치 되지 않았다고 에러만 나고요.
전에는 잘 썼었는데 왜 그럴까요..? ‘ ‘?…
혹시 OS를 타나요?
아 참고로…
이슬님 페이지의 예제로 해도 설치가 되지 않습니다.
gu2da//
안녕하세요.
제가 윈2003서버 사용하고 있는데요….
이상없이 잘 됩니다. 윈2003 몇 대 테스트 해 봤는데 잘 됩니다.
OS를 타지는 않습니다.
예제 페이지에서 “컨트롤 설치 여부 검사” 클릭했을 때 설치되지 않았다고 나오는지요?
혹시 실시간 애드웨어 제거 프로그램 같은 거 사용하고 있지는 않는지요?
이런 프로그램에서 간혹 오진하는 경우가 있습니다. 액티브엑스를 모두 차단하는 경우도 있구요..
제가 직접 화면을 보지 않고서는 원인을 찾기가 어려울 것 같습니다.
정근이형!
이 컨트롤 사용해서 프린트 못하게 하는 방법은 없나요?
프린트 시도하면 바로 창이 닫기고 상단 메뉴바에서 프린트를 해도
브라우저가 닫겨버리는 그런 기능이요?
wprud//
ㅋㅋ.. 뭔 그런 기능을 다 원해?
이 컨트롤에 그런 기능을 넣기는 좀 그렇고..
가능은 해..
프린트 메시지를 낚아채서 인쇄 못하게 할 수 있어..
정근이형 그런 기능 컨트롤로 만드는데 오래 걸려요?
힘들지 않으면 않으면 부탁드려도 될까요?
^^
wprud//
뭐 그렇게 오래 걸리는 건 아닌데.. 별 소용이 없어..
이런 기능하는 ActiveX를 설치해야만 인쇄못하게 할 수 있어..
ActiveX는 IE에서만 동작하고, IE말고 Firefox나 다른 웹브라우저 이용하면 쉽게 인쇄할 수 있어..
좋은 정보 잘 봤습니다. 신경 많이 쓰셨네요. ScriptX가 일부 윈도우 2000 에서 애먹이던중 IEPageSetupX를 사용해보니 윈도우 2000과 XP에서 문제없이 잘 작동하네요. 감사합니다.
copyright는 지울수 없습니다. 라는 메세지의 팝업창이 계속뜨는데요.
interdigm@naver.com 위의분과 같은 증상입니다.
위의 설명에서 라이센스 관련 부분을 보시기 바랍니다.
말씀하신 메시지는 라이센스 관련 사항을 지키지 않았을 경우 표시됩니다.
copyright 파라미터에 오타는 없지는 확인해 보시고, 계속 문제가 발생한다면 테스트한 페이지의 URL을 알려주시면 확인해드리겠습니다.
라이센스 카피라이트는 이상없이 타이핑되었구요. 다른 도메인에서는 똑같은 소스로 이상없는데..여기서만 계속 메세지창이 뜨네요.
테스트페이지주소
http://www.golfgaja.com/goods/test_print.htm
소스 제일 위에 있는
<script type=”text/javascript” src=”http://www.interdigm.co.kr/embed_patch.js”></script>
를 제거하시면 됩니다.
ActiveX 활성화 관련된 코드인 것 같은데.. 다른 방법을 사용해야될 것 같습니다.
시간이 없어 자세히 보지 않아서 대체할 코드는 아직 알아 보지 못했습니다.
아… 이 컨트롤을 사용자자로부터 어떤 액션을 받는 것이 아니기 때문에 ActiveX 활성화 패치는 필요하지 않습니다.
즉, 문제의 라인은 삭제하셔도 될듯합니다.
답변 감사합니다. 해결했습니다. 역시 원인이 거기에 있었군요.
좋은 프로그램 잘 활용하고 있어 감사의 말씀 전합니다.건강하세요
해결하셨다니 다행입니다.
hawni님도 건강한 겨울 보내세요^^
원하는 부분만 인쇄하는 자바스크립트를 구현하면서 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>
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>
IEPageSetupX의 OBJECT 코드를
사이에 넣어서 하면 됩니다.……….
……….
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”
저기 위에 올려주신 소스(바로 위 소스 말구요)는 에러가 발생하여 제대로 테스트 해 볼 수 없었습니다.
<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을 알려주시면 다시 확인 해 보겠습니다.
전체 올려도 이 게시판에서 올려지지가 않아서 링크를 걸어야겠군요
http://ch2ch.or.kr/search/test2.asp
컴포넌트출력 을 클릭해보세요
프로그램 업데이트 했습니다.
새로운 버전은 1.0.20.4입니다.
아래 URL에서 테스트 해 보세요..
https://isulnara.com/myAPP/IEPageSetupX/demo2.html
빠른 답변과 처리에 감사감사 드립니다. ^^
한가지 아이디어 제안을…
기존 깔려있는 ocx의 버전이 다를 경우에는 새로운 버전으로 설치를 하라는 메세지를 호출하는 기능이 있었으면 합니다. 새버전으로 바꾸어 주니 설치가 않되어있는 것 처럼 메세지를 호출해서… ^^
자동 업데이트 기능이나 메시지 처리 기능을 생각 해 보았는데 문제가 있다고 판단되어 추가하지 않았습니다.
컨트롤이 업데이트되어 이 컨트롤이 사용된 웹사이트를 이용하는 고객이 그 메시지를 직접 보게 되면 문제가 있을 것 같아서요^^
조금 불편하더라도 개발하신 분이 수동으로 업데이트 시키는 것이 맞다고 판단했습니다.
우선 좋은 프로그램 감사합니다.^^
scriptX가 몇몇 PC에서 자꾸 문제를 일으켜 다른 프린터 컨트롤을 찾던중 IEPageSetupX를 테스트 해보고 있습니다.
그런데 테스트를 하다보니 모달창으로 창이 뜬경우는 Access오류가 나는군요. 이건 어떻게 수정이 가능하신지요? 팝업창으로 띄우니 되긴 하는데 꼭 모달창으로 띄워야만 하는 경우도 있어서요..
일단 테스트만 해 보았습니다.
showModalDialog() 또는 showModelessDialog() 함수를 이용하여 호출한 페이지에서는 다음 메소드 및 속성은 동작되지 않습니다.
SetDefault(), Preview(), SetupPage(), CloseIE(), Orientation, Print()
여백, 머리글, 바닥글을 설정 후 window.print()를 이용하여 인쇄하시기 바랍니다.
프로그램을 수정하여 showModalDialog() 또는 showModelessDialog()를 사용한 페이지에서 사용할 수 있는지는 더 검토해봐야 알것 같습니다.
정말 유용한 프로그램이네요.
라이센스는 어떻게 되나요??
그냥 써도 상관없는건가요??
제가 정말로 필요로 하는건데..
제발 ???
위에 설명되어 있습니다.
OBJECT 코드에서 아래 코드를 삭제하지 않고, 이 컨트롤 자체를 판매하지 않는 한 모든 곳에 사용할 수 있습니다.
안녕하세요.
컴포넌트를 잘 사용하고 있습니다.
다름이 아니라 프린트 인쇄시 아래로 갈수록 오른쪽으로 출력물이 밀립니다. (레이져 삼성 ML-2570)
그래서 다른 프린터 레이져, 잉크젯으로 프린트를 보니 이상은 없습니다.
워드문서로 테이블을 만들어 인쇄를 해보니 이건 정상적으로 나옵니다.
혹시나 해서 컴포넌트가 특성을 타는지, 이런 이야기를 들어보셨는지 해서 문의 드립니다.
안녕하세요..
말씀하신 문제에 대한 글은 보지 못했습니다.
이 컨트롤은 단순히 IE에서 사용자가 설정하는 과정을 자동화 시킨 것뿐입니다.
프린터의 문제가 아닐까 생각됩니다.
이 컨트롤을 사용하지 않고 인쇄해서 비교해 보시기 바랍니다.
컴포넌트 구매가 가능한지요?
연락좀 부탁드립니다. 050-5669-7942
좋은 하루되세요!
본문의 “라이센스 관련”에 언급되어 있습니다.
참고하세요..
혹시 라인이 넘어가는 글에 대해서 자동 줄넘기게 인쇄하는 기능을 제공하는지요.?
제공하지 않습니다.
단순히 IE의 여백 및 페이지 방향 등만 설정합니다.
원하시는 기능을 하는 IE 툴바 컨트롤이 있는데 이름이 기억이 안나네요..
비스타와의 호완이 잘 되지 않는 것 같아서 문의를 좀 드려요
에러 메시지 Failed to set data for ‘Print_Background’ 라고 하면서 프린트 창이 뜨질 않는군요
익스플로어는 7.06 버전입니다.
비스타에서는 호환여부가 확인되지 않았습니다.
주변에 비스타 사용하는 사람도 없고, 비스타 CD를 아직 구하지 못해서 테스트 해보지 못했습니다.
비스타 CD 구해서 설치하기 전까지는 지원하기가 어렵습니다.
인쇄 페이지 설정 여백(인치) 를 밀리미터로 바꾸는 것도 넣으면 좋겠습니다.
제어판 – 국가언어 및 옵션 – 사용자지정 – 인치를 미터로 바꾸면 되는데,
함수로 한방에 되게 되었으면 좋겠습니다.
한글 윈도우이면 기본 설정으로 “국가 언어 및 옵션”에서 “미터”로 설정되며, 인쇄 페이지 설정에서도 “밀리미터”로 나옵니다.
인쇄 페이지를 설정하기 위해서 시스템의 설정을 “인치”로 변경하는 것은 좋은 방법이 아닐 것 같습니다.
인쇄할 때만 변경하고 다시 돌려놓을 수도 있지만 시스템은 인치를 사용하고 인쇄 페이지는 미터를 사용하는 것은 혼란을 가져올 수도 있을 거라 생각됩니다.
시스템에 설정된 사항을 그대로 따라가는 것이 맞다고 생각됩니다.
제가 제대로 이해한 것인지 모르겠네요..
혹시 IEPageSetup에서 여백이 mm로 되어 있으니 인쇄할 때도 자동으로 mm로 변경되어 인쇄되도록 해다라는 것인가요?
iframe 안의 내용 미리보기는 안되는가요??
아무리 포커스를 줘도 미리보기가 안되네요,,,
예.. iframe 안에 있는 내용을 인쇄는 할 수 있지만 미리보기는 할 수 없습니다.
약간의 편법을 사용해서 처리해봤습니다.
아래 페이지에 접속해보세요..
https://isulnara.com/myAPP/IEPageSetupX/demo3.html
안녕하세요?
덕분에 감사하게 잘 사용하고 있습니다
궁금한 점이 있는데요 기본용지 설정이 가능한가요?
ScriptX 에서도 paperSize란 속성으로 조정이 가능한데 혹시 가능한지요? 가능하다면 방법을 알려주세요~
그럼 수고하세요
용지 설정은 현재 구현되어 있지 않습니다.
IE 버전, OS 버전에 따라 나타나는 항목이 같은지 다른지 확인해봐야 됩니다.
만약 모두 동일하다면 기능을 추가할 수 있습니다.
현재 사용하고 계신 OS 및 IE 버전과 IE의 페이지 설정창에서 용지 크기 부분의 목록을 보내주시거나 화면을 캡쳐해서 보내주시면 많은 도움이 되겠습니다.
안녕하세요?
덕분에 인쇄 컴포넌트 잘사용하고 있습니다.
다름이 아니오라 인쇄하면 왼쪽 상단 부분에 제일 첫페이지에만 점(.)이 찍혀 나옵니다.
소스상에 아무리 찾아봐도 점이 출력되도록 한 부분이 없는데 자꾸 첫페이지에만 .이 찍혀 나오네요
도움 부탁드려요~~ 좋은하루되세요 ^^
다른 컴퓨터나 다른 프린터로 테스트 해 보세요..
전 그런 현상이 발생하지 않습니다.
이 컨트롤은 단순히 메뉴 및 버튼을 강제로 눌러주는 것 밖에 없습니다.
꼭 필요한 기능인데 감사하게 잘 사용하고 있습니다. 한가지 부탁드리고 싶은게 있는데 프린터를 지정해서 출력하는것은 안될가요? 화면에서 선택하는게 아니라 미리 지정해서 그쪽으로 바로 출력하게 되는 기능을 말합니다. 어려울까요?
프린터를 지정하려면 클라이언트에 어떤 프린터가 설치되어 있는지 알아야될 것 같습니다.
웹의 특성상 사용자의 컴퓨터에 설치된 프린터를 미리 알고 있기란 쉽지가 않은 것 같습니다.
사용자의 컴퓨터에 설치된 프린터의 목록을 이미 알고 있는 상태라면 가능하겠지만요…
예를 들면, 서버에서 A란 프린터로 출력되게 설정하고, 사용자의 컴퓨터에 A란 프린터가 없을 경우 문제가 되겠지요..
컨트롤에서 클라이언트에 해당 프린터가 있는지 검사해서 처리할 수도 있지만 좀 복잡해질 것 같습니다.
웹페이지 초보자입니다.
미리보기에서 인쇄를하면 대화상자가뜨는데 않나오게할순 없나요?
그리고 부분페이지 인쇄는 않되는지요?
웹페이지 초보입니다.
미리보기에서 인쇄를 하면 대화상자가 뜨네요.
대화상자 않뜨게 할순 없나요?
또 부분페이지 인쇄를 어떻게 해야할지 초보라 감을 잡기가 힘드네요 예제로 간단히 답해주시면 너무 감사하겠습니다. 첫 댓글에 너무 많은 것을 요구하네요.
죄송합니다.
미리보기에서 인쇄할 경우 대화상자는 IE의 기본 설정입니다.
가능한지는 검토해봐야 됩니다.
검토 결과 가능하다면 다음 버전 배포 시 추가하도록 하겠습니다.
부분 인쇄는 아래 링크를 참고하세요..
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=21720&sca=&sfl=wr_subject&stx=%BA%CE%BA%D0&sop=and
답변감사합니다.
종종 질문드리도록 하겠습니다.
참으로 존경스럽네요^^
인쇄화면에서 object 부분이 width=0 height=0 으로 해도 점으로 인쇄됩니다.Preview에도 확인해볼수 있습니다.
그래서 object 에 style=’display:none’으로 하면 에러나네요
위에 방법을 해결햇습니다 style=”width:0;height:0″ 으로 하니깐 되네요
웹페이지에서 볼 때는 나타나지 않아서 지금까지 몰랐네요..
12월에 한 분이 인쇄할 때 점이 찍혀 나온다고 했는데 전 그것이 실제 인쇄할 때와 미리보기에서 나오는지 몰랐네요..
고맙습니다.
제가 찾고 있는 컴포넌트 입니다. 유용하게 쓰겠습니다.
근데 한가지 질문이 있습니다.
IE 화면에서원하는 부분만 출력하려고 합니다. 코딩을 해서 미리보기로 하면 배율옆에 화면보이는대로/선택한프레임만/모든프레임 선택 메뉴가 나오는데 선택한 프레임을 디폴트로 하는 방법은 없나요?
IE7 사용하시는 거죠?
6.0에는 그런 메뉴가 없네요..
IE7에서 테스트해보고 가능하면 추가하겠습니다.
답변 감사 드립니다.
IE6.0 SP2이고요.. Web페이지가 frameset으로 생성이 된 페이지에서 main프레임 화면에서 원하는 부분만 출력하려고 하면
화면보이는대로/선택한프레임만/모든프레임 메뉴가 나타나네요..
프레임 있는 페이지 만들어서 IE6.0에서 확인해봐야겠네요^^
회사에서 사용해도 되나요?
예.. 위에 “라이센스 관련”에 나와 있는 것처럼 이 컨트롤 자체를 판매하지 않는 이상 상업용 웹사이트에 사용해도됩니다.
안녕하세요.
위에서 사용해도 된다는 글을 읽어서 바로 위의 제 글을 삭제하려고 하나 삭제 방법을 몰라서 이렇게 다시 글 올립니다.
잘 사용하겠습니다.
감사합니다.
안녕하세요. 오래전부터 쭈욱 지켜보아왔던 웹개발유저입니다.
좋은 프로그램을 이렇게 공개해주시는데 깊은 감사드리면서 기능중에서 이런것도 포함이 될수 있을까 싶어서 몇자 올립니다.
다름이 아니라 한 피씨에 프린터가 여러대 세팅이 되어 있고 그중 기본프린터로 인쇄가 되도록 되어 있는데요.
여러대의 프린터중 원하는 프린터로 설정하는 옵션이 추가될 수 있을까 싶어서요.
물론 설정이 없으면 기본 프린터로 인쇄가 되겠죠.
뭐 그렇게 필요한 부분은 아니라 생각되지만 그래도 옵션으로 추가될 수 있다면 좋겠단 생각이 들어서 몇자 적습니다.
다시한번 좋은 프로그램 공개해주셔서 감사드리며 이만 글 줄입니다.
안녕하세요..
2007/12/28에 하늘사랑님도 같은 요청을 하셨네요..
그때 제가 남긴 답글이 아래와 같습니다.
“프린터를 지정하려면 클라이언트에 어떤 프린터가 설치되어 있는지 알아야될 것 같습니다.
웹의 특성상 사용자의 컴퓨터에 설치된 프린터를 미리 알고 있기란 쉽지가 않은 것 같습니다.
사용자의 컴퓨터에 설치된 프린터의 목록을 이미 알고 있는 상태라면 가능하겠지만요…
예를 들면, 서버에서 A란 프린터로 출력되게 설정하고, 사용자의 컴퓨터에 A란 프린터가 없을 경우 문제가 되겠지요..
컨트롤에서 클라이언트에 해당 프린터가 있는지 검사해서 처리할 수도 있지만 좀 복잡해질 것 같습니다.”
많은 분들이 필요한 기능이라면 추가할 수는 있습니다만… 많은 분들이 필요로하는 것 같지는 않아서 추가하지 않았습니다.
또한, 위에 언급했듯이 구현하는데도 여러가지 문제가 있을 것 같습니다.
특정 프린터로 출력한다는 것은 특정 이름을 가진 프린터를 의미하는지요?(이럴 경우 사용자가 프린터명을 변경할 경우 문제가 발생하겠지요)
아니면 특정 모델을 의미하는 것인가요? (거의 발생하지 않겠지만 같은 모델이 두 개 설치된 경우도 있을 수 있겠군요)
추가할지 안할지는 정확히 말씀드리지 못하겠지만 상황을 상세히 설명해주시면 참고하겠습니다.
v1,1,0,0에 프린터 지정 기능 추가되었습니다.
안녕하세요. 프린터 컨트롤 너무 잘사용하고 있습니다.~
그 meadxx보다 훨좋군여 ^^ 감사합니다
근데 창을 연속으로 2개 띄울때 그 창에서 바로 미리보기가 되도록 설정했더니
조금 늦게 뜨는창에서 페이지 설정창이 나오더군요
전 페이지 설정창 띄우라고 안했는데 나와서 ^^;;
이게 혹시 버그인지 제가 설정을 잘못한건지 궁금합니다.~
안녕하세요..
고맙습니다^^
창을 연속으로 2개 띄운다는 것이 정확히 어떤 것인지요?
그 부분의 코드를 올려주시거나 테스트 URL을 알려주시면 테스트 해보고 문제가 있으면 수정하겠습니다.
답변 감사합니다~ 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개 파일안에 위에 처럼 설정했더니 늦게 페이지여백설정창이 뜨더군요 ㅇ_ㅇ;
확인해보니 설정 창이 나올 때도 있고 안 나올 때도 있네요.
해당 문제는 곧 수정해서 배포하도록 하겠습니다.
일단 편법으로 아래와 같은 코드로 해결할 수 있습니다.
첫 번째 창을 띄운 후 약간 지연 시킨 후 다음 창을 띄우는 것입니다.
안되면 지연 시간을 조금 수정하면 될 것 같습니다.
아래 URL은 위 코드로 제가 테스트한 것입니다.
http://clone.fft.kr/p.html
감사합니다~ ^^
출력을 하는데 오른쪽 부분이 짤릴때…자동축소(70%..80%..) 기능은 사용할수 있을까요?
레포팅 툴처럼요…^^;
자동 축소 기능은 지원이 안됩니다.
IE에서 지원되는 사항이면 가능하겠지만 IE에서 기본으로 지원이 안되면 지원해드릴 수 없습니다.
지난번 object 점 나오는거 발견이후 또 대박 발견!!!
다음장으로 인쇄하기위해 page-break-before: always 이것이 익스 7.0에서는 먹지 않음…
또 방법 찾음
이 문제는 IEPageSetupX 문제는 아닌 것 같네요..
어쨌든 모두 해결하셨네요..
안녕하세요? 이슬님^^ 프린터 ActiveX 모듈 정말 감사하게 잘 이용하고 있는 사용자 인데 한가지 의문사항이 있어서요
하단 소스 처럼
형태로 인쇄를 하는데 Div태그에 있는 이미지가 위치를 잡고 img1의 위에 겹쳐 나와야 하는데 그렇게 나오지 않고
아예 다른 페이지에 인쇄되어서 나와서요 해결 방법을 좀 알고 싶습니다.
댓글들을 읽어보니까 위에 비슷한 사항이 있는거 같은데 소스예제 올려주신 페이지가 링크가 안돼네요^^
답변 좀 부탁 드리겠습니다. 감사합니다.
안녕하세요..
올려주신 코드를 이용하여 아래처럼 구성하면 이미지는 겹쳐지지 않네요..
그리고, 인쇄하면 한 화면에 표시됩니다.
사용하신 소스가 있는 URL을 알려주시면 다시 테스트해보겠습니다.
Print(true)
안녕하세요.
좋은 프로그램을 공개해 주셔서 감사합니다. 딱하나 아쉬운점이 있다면 위에 몇몇분도 얘기를 하셨던데.. 프린터를 지정할 수 있으면 정말 좋을 것 같습니다. 설치된 프린터 목록을 가져온다던지 그런 부분은 모두 빼고 프린터 이름으로 그냥 바로 지정할 수 있으면 좋겠습니다. (프린터 설치여부 이런 체크도 모두 빼고요.. 출력할 프린터 이름을 지정할 수만 있으면 좋겠습니다) 그리고 용지설정 기능까지 포함된다면 정말 백점만점 프로그램이 되지 않을까 싶네요. 프린터이름 지정만이라도 반영이 되었으면 좋겠습니다^^ 감사합니다.
안녕하세요..
프린터 지정은 할 수 있을 것 같은데 용지 설정은 시도해봐야 되겠네요..
두 기능 모두 조만간에 시도해보겠습니다.
바쁘실텐데 적용해주신다니 정말 감사합니다.(미리 감사 인사를 드려도 되겠죠^^) 기대하겠습니다.
ㅋㅋ.. 은근히 부담되는데요^^
저두 기대하고 있어요..
프린터 이름과 용지를 강제지정해야 할 필요성이 있거든요.. 꼭 부탁드려요.. 사례 해드림.. ^^;;
현재 개발 중입니다.
용지 설정 기능은 구현이 완료된 상태이며, 현재 프린터 강제 설정 기능을 구현하고 있습니다.
아싸 넘.. 감사해요^^
제가 한턱 쏠꼐요.. ^^;;
두 기능 모두 v1,1,0,0에 추가되었습니다.
저두 한턱 쏩니다.^^
한턱 쏠 준비 해놨습니다. ^^;
ㅋㅋㅋ..
한 동안 재취업하고 많이 바빠서 진행을 못하고 있습니다.
빨리 만들어야겠네요^^
ㅎㅎ 공일공-이천-육사구구 요기로 문자함 주세요.
술한잔 삽니다. ^^;; ㅋㅋㅋ
날코더 님두 붙어욧~!!
몇몇 분들의 요청에 따라서 프린터 지정 기능 및 인쇄 용지 설정 기능을 추가하였습니다.
새로운 버전은 1,1,0,0입니다.
자세한 사용법은 데모 페이지 또는 아래 URL을 참고하세요..
https://isulnara.com/tt/163
자.. 날코더님과 최성준님은 준비하세요^^
밥 먹으러 갑시당 ㅎㅎ 저는 대방역인디욧 ^^
전 선릉역에 있습니다^^
다들 서울분들이시네요. 흑흑~~
전 지방이라서… 맘같아선 당장 올라가서 서로 얼굴도 보고 이런저런 얘기도 나누면 좋겠는데.. 현재 개발건이 줄줄이 엮여 있는 상태라.. 현실이 그렇지 못합니다. 대신 담에 서울가면 꼭 식사대접 하겠습니다. (절대 빈말아닙니다. 가기전에 연락드리고 가겠습니다)
선릉으로 놀러가서 밥먹게 문자주세요. ^^
아참.. 신버전 버그리포팅은 아니구요. 기존 버전으로 테스트했을때입니다. (영수증 프린터에 현금영수증을 인쇄하는 경우입니다) 상하좌우 여백을 0으로 설정한 경우 첫번째 테스트 – 여백을 0으로 하고 수동 프린터한 경우에는(페이지에서 오른쪽 버튼을 누르고 인쇄를 선택한 경우) 정상적으로 여백이 0으로 설정되고 인쇄도 됩니다. 인쇄후 설정에 보면 여백도 0입니다. 그런데 자동프린터(대화창없이 바로 프린터하는 경우)하는 경우는 여백이 0으로 설정되지 않고 다른값으로 설정이 됩니다. 인쇄후도 0이 아닌 다른값으로 설정되어 있습니다. 한번 봐주시구요..
공개해주신 신버전은 프로그램에는 적용했는데 실제 프린터로 테스트를 좀 해봐야 되는데 영수증프린터가 해당업체에 있는 관계로 며칠뒤에 직접 가서 해봐야 될 것 같습니다.
해보고 혹시 버그가 있으면 다시 리포팅하겠습니다.
끝으로 사용자정의 종이의 경우는 어떻게 설정해야 하는지 살짝 궁금합니다^_^
사용자정의 용지경우는..
제어판->프린터->파일->서버속성->새양식만들기 이렇게 해서 제가 쓰고 있습니다. (질문에 맞는 내용인가요? ^^)
여백 0, 자동으로 할 경우 문제는 확인해보겠습니다.
사용자정의 종이는 최성준님이 알려주셨네요..
저도 처음 알았습니다.
사용자정의 종이를 서버속성에서 설정한다는건 저도 첨 알았네요.ㅋㅋ 어쨌던 감사합니다.
혹시 익스플로러 7.0에서 \표시가 역슬래시로 표시 되는데 익스플로러 문제인가요 아님 IepageSetupx문제인가요?
참고로 익스플로러 6.0버전에서는 잘표시가 되는데요
본문에 있는 \\를 말씀하시는 건가요??
답이 늦었네요 흠 다른 익스플로러 버전 문제인거 같네요 이슬님이 걱정 않하셔도 될듯합니다.
예^^
근데 확대 축소 인쇄 기능은 불가능한가요?
그부분만 되면 더욱좋을 듯한데 지금도 너무너무 만족하고 있습니다.
IE에서 지원하지 않는 기능은 추가하기가 어렵습니다.
궁굼한점이 있어 글올립니다.
혹시 네트워크 프린터나 레이저프린터에 특성을 탈수도 있는지요?
프린터 특성을 탈만한 기능은 없습니다.
정확히 어떤 상황에서 어떤 문제가 발생했는지 알려주시면 확인해보겠습니다.
다시정리해서 말씀드려야겠네요
버전을 1,0,20,4를 쓰고있는데요. 집에서 이버전으로 인쇄페이지를 두개를 구성하여 잘쓰고 있는데요
사무실에 네트워크로 구성된 레이저 프린터에선 첫번째구성한 웹페이지에선 인쇄페이지가 잘 나오는데
이번에 구성한 두번째웹페이지에선 인쇄가 먹통이 되네요. 혹시 위질문과 비추어 답변좀 부탁드려요.
설명이 좀 부족하시면 전화통화라두.. 전화통화는 좀 그러시죠?^^
예. 전화 통화는 좀 그렇구요..
먼저 새 버전으로 업데이트 해보시고, 테스트 해보세요..
동일한 문제가 발생한다면
적용하신 소스나 테스트할 수 있는 URL을 알려주시면 확인해보겠습니다.
소스나 URL을 알려주시기 곤란하면 IEPageSetupX가 사용된 부분의 일부 소스라도 상관없습니다.
그리고, 문제가 되는 네트웍 프린터 정보도 알려주시면 도움이 되겠습니다.
소스나 URL 정보를 이곳에 공개하기 어려우면 이메일로 보내주셔도 됩니다.
isul at isulnara.com
그럼 혹시 IEPageSetupX다운로드 받은 파일을 이름을 달리하여 셋팅을 하면 문제가 생길까요?
사무실이 제가쓰는 사무실이 아니라 다른 지사라 정확한 내용을 모르고 네트워크로 사용하는 레이져프린터이고
같은 홈페이지에 첫번째로 구성한 페이지에서는 출력이 되는데 두번째로 구성한 페이지에서는 출력이 안된다는 부분
이 문제죠^^ 집에서는 잉크젯프린터를 사용하는데 두페이지 다 인쇄가 잘되거든요.
파일명은 달리해도 아무런 문제가 없습니다.
혹시 두 페이지를 거의 동시에 인쇄하는지요?
예전에 두 페이지를 거의 동시에 인쇄할 경우에는 문제가 발생했다는 글을 본거 같습니다.
그럼 파일명을 달리 해서 별개로 사용하면 프로그램다운로드폴더에도 2개의 activex가 설치 되나요?
파일명이 달라도 한 번만 설치됩니다.
중복 설치될 수 없습니다.
파일명이 달라도 처음에 설치되면 다음에는 설치되지 않습니다.
답변 정말 감사합니다.
시간되시면 소주라도 한잔 ㅋㅋ^^
^____________^
새로 나온 스크립트 까니까 여백이 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으로 설정되던데..
버그인거 같아요~ 고쳐주세요.^^;
아 지금 다시 테스트해보니
미리보기 매소드를 쓰니 여백이 풀리네요
IEPageSetupX.Preview()를 빼고
그냥 웹브라우져에 있는 미리보기로 보면
0으로 설정되 있네요 ㅇ_ㅇ;;
예.. 버그 확인했습니다.
여백을 0으로 설정 후 Print()나 Preview()할 경우
여백이 모두 6.35로 설정이 되네요..
수정해서 올리겠습니다.
다음 주 정도에 적용할 수 있을 것 같습니다.
IEPageSetupX.PrintBackground = true;
IEPageSetupX.header=”;
IEPageSetupX.footer=”;
IEPageSetupX.leftMargin=0;
IEPageSetupX.rightMargin=0;
IEPageSetupX.topMargin=20;
IEPageSetupX.bottomMargin=0;
IEPageSetupX.Preview();
이렇게 해서 잘 사용 하고 있어 감사해 하고 있습니다.
그런데 긴 문서일경우 화면 하단이 잘리네요
제가 설정을 더해야 하는 부분이 있는지 답변 부탁드립니다.
긴 문서의 경우 IEPageSetupX와 관계없이 잘리는 것이 당연합니다.
용지 크기에 맞게 페이지를 적당히 나누어야 합니다.
너무도 좋은 프로그램들을 만들어 주셔서 열심히 사용하려고 노력중입니다…
ActiveX 인증서가 ATMACS 로 나오던데 인증서 만료기간은 계속 업데이트는 되는건지 궁금해서요.
사용중에 어느날 갑자기 설치버튼 안나올수도 있는 상황이 생길까봐 여쭤봅니다;;;
아쉽게도 인증서는 이제 업데이트 되지 않습니다.
회사 이직하면서 사용할 수 없게 되었습니다.
다른 분들이 인증한 파일을 공유해 주시면 해결될 것 같습니다만..
방법을 찾아봐야 겠습니다.
프린팅 컴포넌트를 찾아 헤메인것이 1달여정도 되는데…. 드뎌.. 정말 좋은 프로그램 만난거 같습니다..
이슬님 존 프로그램 만들어 주신거 감사드립니다..
항상 행복하시고 존일만 생기시길…
정말 잘 쓰겠습니다…
저도 이런거 만들고 싶지만 머리가 영~~ 딸아주질 안아서여…ㅜㅜ
암튼 감사 감사…
혹시나 버그 발견하시면 알려주세요..
고맙습니다.
scofield Lee님도 항상 행복한 날들 보내시길…^^
프린터 컴포넌트 찾다가 들어오게되었습니다.
현재 scriptx를 쓰고 있는데요..
scriptx의 shrink to fit 기능만 추가된다면 당장 바꾸고 싶네요~앞으로 꼭 그 기능 추가되길~^^
좋은프로그램 만드시느라 수고하십니다.~
shrink to fit 기능은 쉽지 않을 것 같습니다.
고민해 보겠습니다.
고맙습니다^^
가능할 것도 같습니다.
좀 더 기다려주세요^^
웹화면 인쇄를 한차원 업그레이드 해준 프로그램입니다. 너무 잘 사용하고 있습니다.
한가지 바라는 점이라면 페이지 확대/축소 기능입니다. 제게는 절실히 필요한 상황입니다.
그런데 댓글들을 읽어보면 축소 기능에서 브라우저가 지원하지 않으면 지원하기 어렵다고 하셨네요. ㅠㅠ
다만 IE7에서는 페이지 확대/축소 기능이 제공되고 있는데 혹시 IE7에서라도 지원을 고려해주실 수 있는지요? ^^
부탁드립니다. 꾸벅~
언제 한 번 시간내어 IE7의 확대/축소 기능에 대해서 분석해보겠습니다.
분석해보고 가능하면 추가해드리겠습니다.
언제될런지는 장담 못하겠습니다.
바로 위에 페이지 확대/축소 요청드렸던 까리쓰마입니다. ^^;
사용하다가 한가지 버그를 발견하였습니다. XP + IE6 환경에서의 테스트입니다.
프린터가 설치되지 않은 경우에 Preview()가 실행되면 미리보기 창이 나오지 않습니다.
또한 IE창도 더이상 컨트롤 할 수가 없게 됩니다. 작업관리자에서 강제로 죽여야 합니다.
PC 방에서 사용해본 건데 PC 방에서는 작업관리자도 막아버려서 창닫기도 불가능… ^^;;;
확인을 부탁드립니다.
예.. 고맙습니다.
해당 문제는 다음 버전 배포 시 수정하겠습니다.
일단 해당 문제를 일으키지 않게 하는 방법 알려드릴게요..
GetPrinters() 메소드의 결과를 확인하여 설치된 프린터가 있을 경우에만
Print()나 Preview() 명령을 내리도록 처리하면 될 것 같습니다.
프린터가 설치되지 않은 상태에서 Preview() 메소드를 호출할 경우에도 문제없이 미리보기가 되도록 수정하였습니다.
적용된 버전은 1.3.0.0입니다.
먼저 유용한 프로그램을 배포해 주셔서 감사하다는 말씀부터 드립니다.
꼭 필요한 프로그램이었거든요…ㅎ
지금 테스트 하다가 아쉬운 점이 있어서 글 올립니다.
테스트 환경은 XP+IE7 입니다. 초기실행으로
IEPageSetupX.Clear();
IEPageSetupX.PaperSize = “A4”;
IEPageSetupX.Orientation = 0; // 용지 방향 가로 설정
IEPageSetupX.leftMargin,IEPageSetupX.rightMargin,IEPageSetupX.topMargin,IEPageSetupX.bottomMargin 등으로
여백을 설정해 주고난 후
IEPageSetupX.SetupPage();로 페이지 설정 창을 열면 여백은 초기 설정값대로 설정되어 있는데,
용지 방향은 초기 설정값과 다르게 설정되어 표시되며
용지 방향을 다른 값으로 변경 설정한 후 [확인]을 눌러 페이지 설정 창을 닫고
IEPageSetupX.Preview(); 미리보기를 실행하면 용지 방향이 변경되어 있지 않습니다.
또한 초기 설정된 여백 값과 달리 표시됩니다.
미리보기 창을 닫고 다시 페이지 설정 창을 열어보면 설정된 여백값이 미리보기에서 보았던 그 값의 숫자가 나타납니다.
아무쪼록 프로그램이 빠른 시간 안에 더 훌륭하게 되길 바라는 마음에서 글을 올립니다.
이슬나라…!!! 참 좋은 나라인 것만은 틀림없는 것 같습니다.^^;ㅋ
행복이 항상 함께하길 바라며…
안녕하세요..
이번 주말에 테스트 해보고 글 남기겠습니다.
고맙습니다.
모두 처리되었습니다.
버전 1.3.0.0부터 적용됩니다.
isul님! 안녕하십니까?
요즈음 많이 바쁘신가 봅니다. 잘은 모르겠지만…^^;
IEPageSetupX.GetPrinters();로 프린터 목록을 알 수가 있었는데,
혹시 그 목록 중 기본 프린터로 설정되어 있는 프린터가 어느 것인지 알 수는 없겠습니까?
기본 프린터가 어떤 것으로 설정되어 있는지를 알아야 목록을 보여줄 때 미리 선택되게 보여줄 수 있을텐데 말입니다.
오늘도 모든 일이 잘 풀려나가는 하루가 되시길…!
안녕하세요..
위에 남기신 버그 수정하면서 기본 프린터 구하는 기능 추가하겠습니다.
주말에나 가능할 것 같습니다.
Michael님도 행복한 하루 보내시고, 오늘 날씨가 많이 추워졌네요..
감기 조심하세요^^
GetDefaultPrinter()라는 메소드를 추가하였습니다.
버전 1.3.0.0부터 지원됩니다.
isul님의 댓글이 어찌나 반가운지…^^; 인사글 올립니다.
지금 IEPageSetupX의 기능들을 이용해서 Programming하고 있는 중인데,
isul님이 아니었으면 아마도 인쇄 기능을 포기했었을 것입니다.
isul님도 건강에 유의하시기 바랍니다.
IEPageSetupX에 직접 관련된 것은 아닙니다만 한가지 더 고민이 있어 질문드립니다.
aName[]에는 이름들이 들어가 있는 배열입니다.
for(i=0; i
질문주신 내용을 이해하지 못했습니다.
좀 더 자세히 알려주시거나 테스트 URL 알려주시면 확인해보겠습니다.
고맙습니다.
간단히 해 봤습니다.
여백 설정은 안 넣었으니 알아서 추가하세요..
—————————–
클라이언트
—————————–
<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>
먼저 답글 해주심에 감사의 말씀드립니다.
저의 설명이 많이 부족했나봅니다. 하고자 하는 내용 줄거리를 말씀드리겠습니다.
“printPage”라는 IE Window를 열고 그 곳에서 IEPageSetupX의 메소드를 이용해 인쇄 여백, 용지 방향 등 각 속성값들을 설정해 주었습니다.
내용이 다른 페이지들을 그 “printPage” Window에 불러와 각각 인쇄하고 싶은데 어떻게 해야할 지 모르겠습니다.
submit()를 이용하여 내용이 다른 페이지들을 그 Window에 불러온 다음 맨 하단에서 IEPageSetupX.Print();실행시키니 [오류:메서드 또는 속성 액세스로의 예기치 않은 호출입니다.]라는 에러 메시지가 뜹니다.
이틀째 머리 싸매고 고민해 보았지만…!
isul님 부디 도와 주시길 부탁드립니다.
빠른 답글 정말 고맙습니다. isul님!
가르쳐 주신대로 적용해 본 다음 그 결과를 말씀드리도록 하겠습니다.
다시 한 번 감사하다는 말씀 드립니다.
^_____^; (입 찢어집니당….!)
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분에 다시 켜 놓습니다.
참, 한 가지 더 질문이 있습니다.
위의 사이트에 접속하신 후 테스트 해 보시면 아시겠습니다만 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();
와 같이 코딩했습니다.
확인해보니 에러가 있는 것 같습니다.
직원 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()’);
로 되어야될 것 같습니다.
창이 닫히지 않는 문제도 위 코드에서 에러가 발생하여 그 뒤의 두 라인이 수행되지 않은 것 같습니다.
^_________^
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님의 친절함으로 일거에 날려 버릴 수 있게 되어서 정말 고맙습니다.
안녕하십니까? isul님!
isul님의 도움으로 드디어 하고자 했던대로 거의 마무리 되어가고 있습니다.
앞에서 말씀드렸듯이 인쇄할 이름들을 먼저 선택하게 하고 그 다음에 IEPageSetupX를 이용한 [인쇄 설정]에 이어서 [인쇄]가 될 수 있도록 해 보았습니다.
그렇게 하려다보니 결국은 window.open()으로 했던 방식은 포기하고 isul님이 위에서 제시해 준 그 방식대로 코딩을 완료했습니다.^_____^
테스트 인쇄를 해보니 선택된 자료들은 인쇄가 이상없이 잘 되는데…IEPageSetupX 컨트롤 설정에 의해 설정된 값대로 인쇄 되기도 하고 안되는 페이지도 있고 그렇습니다.ㅠㅠ
제가 무언가 놓친 부분이 있지 않았나 하는 생각을 해봅니다. 다시 한 번 사이트에 접속하시어 [페이지 설정], [미리보기] 등을 살펴 보아주시고 인쇄 테스트도 부탁드려 봅니다. 맨날 부탁만 드리려니 염치가 없군요…ㅠㅠ
참고적으로 제가 코딩한 내용을 말씀드리자면 인쇄 전 초기에 각 Margin들의 값을 설정해 주었습니다. 그리고 나서 페이지 설정(IEPageSetupX.SetupPage())에서 확인해 보니 초기에 프로그램에서 설정된 값과는 다른값이 확인되었으며, 이어서 페이지 설정에서 여백값을 다른값으로 설정한 후 미리보기(IEPageSetupX.Preview())를 해 보면 페이지 설정에서 설정된 값으로 미리 보여지지가 않고 있습니다.
계속해서 미리보기 창의 페이지 설정(alt+U)을 이용해서 여백을 변경 설정한 후 미리보기 창을 닫고 다시 페이지 설정 버튼을 눌러보면 여백값들이 다르게 나오고 있습니다.
[페이지 설정]이나 [미리보기] 등 어느 곳에서 값들을 설정하더라도 또한 다른 어느 곳에서나 그 설정 변경된 값들이 반영되었으면 합니다만…
설명을 제대로 했나 모르겠군요.
오늘도 좋은 하루로 마무리 잘 하시길 바랍니다.
접속 해 보니 확인할 수 있게 되어 있지 않네요..
var tmp=(Installed())? “설치됨”:”설치되지 않음”;alert(tmp);return;
아이쿠~! 지금 작업 중이어서…정상으로 돌려 놓아야 겠네요.
컨트롤 설치 여부 검사하는 PrintTest() 함수가 동작하지 않네요.
컨트롤 설치 여부를 어떻게 알 수 있지요?
상세한 버그 리포팅 고맙습니다.
확인 결과 버그가 맞더군요.
Michael님께서 요청하신 기능을 추가하면서 오른쪽과 위쪽 여백이 뒤바뀌는 문제가 발생하였습니다.
현재 수정하였습니다.(적용 버전: 1.3.0.2)
그리고, 컨트롤 설치 여부 확인은 데모 페이지에 있는 Installed() 함수를 참고하세요..
참고사항으로 IEPageSetupX을 이용하여 html 문서가 오픈되는 순간 여백이나 기타 기능을 사용할 경우 <script>IEPageSetupX.leftMargin=3;</script>처럼 사용하는 것보다는
<body onload=’setMargin()’>처럼 onload 이벤트에서 처리해주시기 바랍니다.
고맙습니다.
고맙기는요! 오히려 제가 대단히 고마워 해야할 사람이지요!
이제 에러없이 아주 잘 동작되고 있습니다.^______^;
이 모든 것이 친절한 isul님이 아니었으면 저로선 불가능한 일이었습니다.
“IE 인쇄 페이지 설정 컨트롤”을 개발하여 무료 배포해 준 것만도 대단히 고마운 일인데,
거기다가 질문에 대한 답도 친절하게 달아 주시니…
고맙다는 말만으로는 고마움을 표시하기에 많이 부족한 것 같습니다.
위의 글 중 버그 리포팅을 한 비밀글에 전화번호를 적어 놓았으니 시간 날 때 전화주시기 바랍니다.
친절한 분 얼굴도 뵙고, 쐬주라도 한 잔 나누고 싶습니다.
다시 한 번 대단히 고마웠다는 말씀 드립니다.
isul님! 항상 친절한 답글 감사 드립니다.
위의 글에서 여백에 대한 버그를 수정하셨다고 했었는데
제가 확인해 보니 저의 컴퓨터 환경에서는 조금 다르게 나와 Debugging 하시는데 조금이라도 도움이 될까해서 그 테스트 결과 파일을 아래의 주소에 넣어 두었습니다.
IEPageSetupX_테스트.hwp
윗 글에서도 질문했었는데 IE 인쇄 컨트롤 설치 여부를 어떻게 알아내야 합니까? 버전업 되기전에는 잘 동작되었었는데 말입니다.
==============
하태수 011-750-4583
사는 곳 : 경기도 일산신도시
근무지 : 현재는 동대문 케레스타 빌딩 내 행동과학훈련원 교육본부
시간 날 때 연락주시기 바랍니다.
쐬주라도 한 잔 합시다.
다행히 모두 잘 해결되었군요^^
일산에 사시는군요.. 저도 일산 대화동에 한 3년 살았었죠..
지금은 분당에 있습니다.
거의 반대편이네요..
제가 재미가 없는 놈이라… 쐬주 맛이 안나실텐데요..
제가 만든 프로그램이 다른 개발자 분들께 필요하고 도움이 되었다면 그것으로 충분합니다.
고맙습니다..
출력방향을 파일을 할 경우에 차후 저장한 파일을 다시 출력하려면 어떻케 하여야 하나요?
말씀하신 기능은 지원되지 않습니다.
안녕하십니까? 저도 프린트 제어 관련하여 ScriptX를 사용하고 있다가 다른 대안을 한참을 찾던 중 이 곳을 발견하였습니다.
제가 궁금한 것은 이 프로그램에 속성에서 ‘인쇄할 매수’를 지정할 수 있는지 궁금합니다. 답변 부탁 드립니다.
안녕하세요..
인쇄 매수는 지원하지 않습니다.
2부 인쇄하고자할 경우 print()를 두 번 호출하면 되는 것 아닌가요?
안녕하세요! 업무일지용으로 1년동안 잘 사용하고 있습니다! 감사합니다!
2009년도 업무일지양식이 변경되어 다시 작성하는 증입니다.
바로 프린트인쇄를 하면, a4용지의 4/1만 나오는데,
미리 인쇄보기 해서 100%로 인쇄하면 정상적으로 나오거던요…
바로 프린트인쇄버튼을 눌러서 100%나 스케일(95%)로 크기를 지정해서 바로 인쇄되게 할 수 없는지요!
제가 기능을 못찾은 건지… 한번 확인 및 검토 부탁합니다.
새해 복많이 받으십시오!
말씀하신 기능은 지원되지 않습니다.
현재 연구 중에 있습니다.
복 많이 받으세요^^
고맙습니다.
안녕하세요. 좋은 프로그램 공개해 주셔서 감사드립니다.
라이센스 관련 문의입니다.
라이센스를 보면 본 프로그램 자체를 판매하지 않으면 된다고 말씀하셨는데 이 의미는 프린터 프로그램 자체의 판매가 아닌 다른 주 용도의 상용프로그램에 프린터 기능으로 포함되어 배포되는 것은 괜찮다는 말씀인거 같은데 제가 바로 이해한건지요?
몇몇 국내나 외국계 프로그램들 라이센스가 워낙 애매하고 교묘하게 된 경우가 많아서 물론 isul님의 프로그램이 그렇다는건 아니지만 혹 제가 잘못알고 자의적으로 해석하고 있는 부분은 없나 싶은 마음에 한번 더 확인을 드리고 사용을 할려구요.
답변 좀 부탁 드릴게요.
예.. 정확히 이해하셨습니다.
이 ActiveX 컨트롤을 사용하는 ActiveX 컨트롤을 만들지 않고(즉, 이 ActiveX 컨트롤을 이용하여 또 다른 ActiveX 컨트롤을 만드는 것은 안됩니다), 이 ActiveX 컨트롤 자체를 판매하지 않는 조건(제가 만든 것을 자신이 만든 것처럼 또는 판매권리를 가진 것처럼하여 판매하는 것을 의미)으로 상용 프로그램에 포함시켜 배포하셔도 됩니다.
isul님, 감사합니다. 잘 쓰겠습니다.
답변감사합니다! IE6과 IE7 버전 사이에 인쇄가 좀 다르게 나오더군요! 그걸 모르고, 잘 사용하던게 왜 갑자기 1/4만 인쇄가 되나 했네요!… IE7기준으로 하도록 조치했습니다… 수고하세요…!
제가 정말 찾던 프로그램입니다. scriptx 사용하다가 버그가 심해서 다른 제어컨트롤 찾다 못찾고 거의 포기직전이었거드요.
너무 감사드립니다. ^^
이게 버그인가 모르겠는데요. 인쇄할 내용이 길면 컨트롤이 정상적으로 작동을 안하는 것 같습니다.
세금계산서 인쇄하는 페이지에서 테스트를 해보는데요. 왜 세금계산서는 공급자용 /공급받는자용 부분이 거의 동일하잖아요
공급받는자 부분 html 태그 쪽만 인쇄하면 정상으로 프린터대화상자가 뜨는데, 거의 같은 소스를 밑으로 붙쳐서 인쇄하면 대화상자가 안뜨네요? 이것은 왜그런건지요
테스트할 수 있는 URL이나 소스를 올려주셔야 확인할 수 있습니다.
진짜 감사합니다. 제가 찾던 거네요 고생하셧어용^^
근데요 왜 차단을 하죠? ㅠ
차단이라함은 처음 설치시 말인가요?
인증서가 만료되었을 수도 있으니 인증서 있으면 직접 해보세요..
예전에 사용하던 인증서를 이제는 사용할 수 없습니다.
정말 감사합니다. 잘 활용해 보겠습니다.!!
초보적인 질문입니다만 프린터목록을 반환받을때 각각 프린터명들의 구분자는 무엇으로 들어오나요?
쪼개서 드랍다운 메뉴에 넣고 싶어서 말입니다.
출력해보면 알 수 있죠..
\\r\\n 입니다.
아흑. 워낙 초보다 보니. 흠흠. 어떻게 보면 게시물성격하고 좀 틀린 질문이 될수도 있겠지만 ㅠㅠ
제가 사용자 PC에 있는 프린터 목록을 만든뒤 선택후 출력하게 코딩을 했습니다.
허나 잘되는데 네트워크 프린트 같은 경우는 ‘\\100.100.100.100\프린트명’ 이런식으로 비교를 해야 하는데
if (IEPageSetupX.GetPrinters().indexOf(print_s) > -1)
IEPageSetupX.Printer = print_s;
자바스크립트에 적용하게 되면 ‘\100.100.100.100프린트명’ 이런식으로 되기 때문에 네트워크 프린터는 못찾는데요..
다른분들은 요런문제 어떻게 해결하셨나요? 좋은하루 되세요~
아~ 방금 해결했습니다. 자바스크립트로 해결해 볼까 했는데 그냥 프로그램 코드로 replace해서 넘겼습니다.
혹시 미리보기 호출시 멈추는 현상을 겪으신분 계신가요??
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이 들어가는 경우는 현재 멈추지 않고 미리보기 창이 뜨고 있는데요.
이런 현상을 겪으신분 계신가요?
좀 황당하긴 하지만 -_-;; top이든 bottom이든 left든 right이든 여백 7이 들어가면 멈추네요. 6이나 8등의 여백으로는 멈추지 않는데요 ㅠㅠ
ㄴ 테스트를 더 해 보니까 5, 7같은 홀수가 여백에 들어가면 멈추고 6, 8같은 짝수가 들어가면 멈추지 않는것 같습니다. 저만그런가요 ㅠㅠ
저는 해당 문제가 발생하지 않네요..
참고사항으로 IEPageSetupX을 이용하여 html 문서가 오픈되는 순간 여백이나 기타 기능을 사용할 경우 <script>IEPageSetupX.leftMargin=3;</script>처럼 사용하는 것보다는
<body onload=’setMargin()’>처럼 onload 이벤트에서 처리해주시기 바랍니다.
아흑 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();
}
이런식으로 사용했습니다.
위에도 글 남겼는데요..
아래 사항에 대한 답변이 없네요..
IEPageSetupX을 이용하여 html 문서가 오픈되는 순간 여백이나 기타 기능을 사용할 경우 <script>IEPageSetupX.leftMargin=3;</script>처럼 사용하는 것보다는
<body onload=’setMargin()’>처럼 onload 이벤트에서 처리해주시기 바랍니다.
이렇게 처리하지 않을 경우 말씀하신 에러가 발생할 수 있습니다.
올려주신 코드에서 setMargin()이 어떻게 호출되는지 알려주세요..
빠른 해결을 원하시면 테스트할 수 있는 URL을 알려주시면 좋습니다.
Preview();주석처리시 멈추지 않습니다.
익스플로어 미리보기 뜰때 멈추는것 같습니다. ㅠㅠ
setMargin()은 말씀하신것처럼 body onload이벤트로 호출을 하고 있습니다.
전에는 function 하나에서 여백주고 미리보기 호출했지만 위에 말씀해 주셔서 약간의 수정은 했습니다.
허나 onload시 setMargin만 호출하고 Preview를 버튼처리 해도 마찬가지 문제가 일어나는군요.
테스트 더 해보고 다시 결과 말씀드릴께용.
http://211.47.182.88:6789/prn_help/Prn_Select_1.aspx?serial=2009010007&comcode=1
이쪽에서 한번 결과확인해 주시면 감사하겠습니다.
예를들어 상단여백을 7로 넣고 인쇄버튼을 누르면 멈추네여…
알려주신 URL로 접속하니 잘 됩니다.
ie6에서 테스트 했습니다.
컴포넌트 삭제하고 다시 해보세요..
원인을 찾기가 쉽지가 않네요..
상단여백 7로 셋팅하고 해보셨나요 ㅠㅠ db값이 안바뀐거 보니까 그대로 인쇄버튼 누르셨거나
상단여백 7셋팅후 저장버튼 안누르시고 그냥 인쇄하신것 같으세여…ㅠㅠ 컴포넌트 삭제야 여러번 해봤구여..
컴퓨터도 한대에서 테스트 해본건 아니기 때문에 컴포넌트가 잘못설치된건 아닌듯 싶습니다…
저장을 눌러야 적용되는 거군요…
적용이 안되길래 소스보기 해서 그대로 가져와서 여백 수정해서 테스트 했습니다.
조금 전에 저장 눌러서 테스트 해 봤습니다.
3개 컴퓨터에서 테스트 했는데 역시나 잘 되네요..
좀 더 테스트 해 보겠습니다.
너무너무 감사합니다.
문제가 뭔지 찾기 쉽지가 않네요.
신경써 주셔서 감사합니다. 일단은 ie7에서는
잘되니까 다행이고요. 제가 잘못한 부분이 있나
처음부터 차근차근 살펴 보도록 하겠습니다.
귀한시간 뺏은거 같아서 죄송해요ㅠㅠ그리고 감사해요.
ㅠㅠ 결국엔 해결못했습니다. isul님께서 테스트시 잘된다니 특정컴퓨터 문제라고 생각해야 되겠네요.
comdlg32.dll 엑세스 에러가 나기도 하고… 포커스를 잃어버리면서 멈춰버리기도 하고… 이벤트 로그에는
아무것도 안남고… 이틀동안 휴.ㅠㅠ ㅋㅋ 아무튼 감사합니다. (_._) 잘쓰겠습니다. ㅎ
제 주변에서 동일한 에러가 발생하는 컴퓨터를 찾을 수가 없어 해결하기가 쉽지가 않습니다.
원격으로 문제가 발생하는 화면에 제가 접속하지 않는 이상 해결은 힘들 것 같습니다.
혹시나 원격 지원(네이트온 등)으로 제가 접속할 수 있다면 연락(isul at isulnara.com)주세요..
아.. 혹시 os특성도 탈까요? 저는 win2000 server, ie6 컴퓨터 3대에서 테스트를 해보았는데…
winxp, ie6에서 테스트 해보고 결과 말씀드리겠습니다.
일단은 안심이네요. winxp, ie6에서 테스트시에는 잘됩니다… 고객컴퓨터가 설마 2000은 없겠지요..
허나 제경우는 win2000 server, ie6이었는데.. 이슬님께서 테스트하신 PC는 아마도 winxp, ie6이셨던것
같네요. 혹시 여건이 되신다면 저와 같은 조건에서 테스트 해보시고요. 안되시면 제컴퓨터 원격접속하셔서
보셔도 되요. 넷미팅으로 연결해 드릴께요. 신경써주셔서 무지무지 감사하게 생각하고 있습니다. (-,-)(_._)꾸벅
ps. 아마도 윈2000server의 comdlg32.dll이 버그가 있는게 아닐까싶네요… 웬지 미리보기 대화상자 띄울때 엑세스 오류가 나는듯 싶은데요…
서버는 아니지만 win2000 Pro, IE6.0 SP1에서 테스트 해보니 잘 됩니다.
win2k server에서도 테스트 해봐야 겠네요..
안녕하세요~
예전에 다운받았다가 오늘 다시 받으려 하니..다운로드 버튼이 없어진거 같습니다. 제가 못찾는건가요? ㅠㅠ
본문 내용 중간즈음에 다운로드 링크있습니다.ㅋ
돌진추돌사고님께서 잘 알려주셨네요.. 고맙습니다.
https://isulnara.com/myAPP/IEPageSetupX/IEPageSetupX.cab
이천서버에서 확인해봐야 되는데 아직 못하고 있네요…
찬찬히 기회되실때 테스트 해보셔도 되요. 저는 XP에선 잘되는걸 확인한뒤로
별걱정안하고 있거든여. 사용자가 윈도우2000 server쓸일은 거의 없다고 봐서요. ㅎ
예.. 알겠습니다^^
안녕하세요. 저는 출력 시 정해준 여백설정이 다르게 적용되는 특정 컴퓨터가 있어 문의 드립니다.
모든 컴퓨터는 아니고 일부 컴퓨터에서 상단과 하단여백이 설정한 여백보다 더 많이 잡히는 현상이 발생합니다. 분명히 해당 컴퓨터의 세팅 문제 인거 같은데, 어떤 세팅을 바꿔야 하는지 혹시 아시는지요?
프린터 자체의 여백 설정 때문에 그런 것이 아닐까 생각됩니다.
이 ActiveX 컴포넌트를 사용하지 않고, 수동으로 각각 동일하게 여백을 설정하여 인쇄해보세요..
이럴 경우에도 동일한 문제가 발생하는지 말입니다.
확인 부탁드립니다.
안녕하세요. 우연한 기회에 scriptX대신 사용할 프로그램을 찾던 중 알게 되어 어제부터 테스트 중입니다.
정말 잘 만드셨다는 말씀밖에는.. ^^;
아 저 다름이 아니라 저는 인쇄하고자 하는 창이 보이지 않게 처리를 하려고 하는데요.
iframe에 가로세로를 0으로 주고 src를 변경시켜 인쇄 페이지로 이동하게끔 프로그램 했습니다.
인쇄 페이지에 IEPageSetupX 오브젝트가 있고 body안쪽에 위치 시켰습죠..
인쇄페이지 단독으로 실행시 이상없이 출력이 되나. iframe의 src를 이동시켜 인쇄할 경우
에러코드 102발생하면서 body의 onload에 메소드 호출을 하라는 메세지가 나옵니다.
이럴경우에는 어떻게 해야 하나요?? (focus.. 해봤습니다..)
문제가 발생하는 소스나 URL을 알려주시면 확인해보겠습니다.
이곳에 공개하기 어려우시면 비밀글로 남겨주세요..
안녕하세요!! ^^; 개발시에 항상 출력물로 인해 귀찮았었는데 이렇게 좋은 프로그램을 발견하게 되서 너무 기쁩니다.!! ^^
그런데 궁금한게 하나 있어서 이렇게 질문드립니다.
다름이 아니라 IEPageSetupX 에서 출력할 영역을 지정 할 수 있느냐 입니다.
예를 들자면 현재 페이지에서 메뉴 부분과 댓글 부분을 제외한 내용 부분만을 출력 하고 싶을 경우에 그 영역을 지정하는걸 말씀드리는 겁니다 ^^;
예제 등에서 살펴본 바로는 그 영역을 지정하는 부분이 보이지가 않아서 이렇게 질문을 드립니다 ^^;;
이 컨트롤에서는 지원하지 않습니다만…
아래처럼하면 됩니다.
인쇄됩니다.
인쇄됩니다.
위에 댓글중에서
https://isulnara.com/myAPP/IEPageSetupX/demo2.html
이 페이지를 발견하고 적용했습니다.!!
감사합니다. ^^
잘쓰겠습니다. !!!! ^_________^
위에 제피님과 같은 현상입니다.
window.print()로는 문제 없이 출력 되지만,
IEPageSetupX를 이용하면 에러메시지만 보여지게 됩니다,
기본 페이지에서는 되지만,
showModalDialog 창에서는 방법이 없을까요?
확인해보고 글 남기겠습니다.
102에러가 나는데 어떤 문제일까요?
body 객체의 onload 에벤트에서 IEPageSetupX의 속성/메소드를 호출하여 주십시오라고 나옵니다.
테스트할 수 있는 URL을 알려주시면 확인해보겠습니다.
http://mall.gj-jungang.hs.kr/에서 주문을 하면 iframe으로 post값을 날리는데 이때 print.php에서 에러가 102에러가 나면서 body에 onload를 안시켰다고 나오네요..
제가 너무 늦게 확인한 것일까요?
오늘 확인해보니 인쇄 관련 기능은 없네요..
이슬님 안녕하세요~ 너무 좋은 프로그램 공개해주셔서 감사합니다.
다름이 아니라 제대로 설치한거 같은데요. xp에서는 화면일부가 잘리거든요.
그런데 비스타에선 인쇄영역을 조정할 수 있도록 조절자가 나타나더라구요.
엑스피에서도 그렇게 할 수 없나요?
이대로라면 디자인파일 크기랑 이미지를 다 줄여야해서 ㅜㅜ 급한 마음에 질문드려봅니다.
http://www.kapa21.or.kr/kapaforum2/kapaforum.php?fid=4 입니다.
안녕하세요.
해당 기능은 현재 지원되지 않습니다.
몇 분이 요청하셔서 검토 중에 있습니다.
다음 버전에 추가하려고 노력하고 있습니다만…
언제 될런지는 모르겠습니다.
해당 기능은 다음 버전에서 최우선 순위로 두고 있습니다.
현재로서는 페이지에 맞게 이미지랑 텍스트 모두 수정하는 수 밖에 없을 것 같습니다.
고맙습니다.
정말 회사에서 유용하게 쓰고 있는 유저입니다. 감사의 말씀 먼저 드리고요
다름이 아니라 이상한 현상을 발견했습니다.
특정 자리의 컴퓨터에서 출력하게 되면 출력창은 뜨는데 출력창 포커스를 잃어버립니다. 출력도 안나오고요
출력 대화상자도 안나옵니다. 프린터 설치 되있구요. 다른 프린터를 기본 프린터로 설정도 해봤는데 증상은 똑같네요
액티브 x 지웠다가 다시 깔아도 보고 재부팅도 해보고 보안 프로그램들 싹다 지워버리고도 해봤는데
여전합니다.
전체가 다 그런다면 제가 만든 소스의 문제겠지만 한 컴퓨터에서만 그러네요…
어떤 문제일까요…제 생각엔 그 자리에 있는 분이 설치한 어떤 프로그램과 충돌이 나는것 같은데;
어찌해야될까요…포멧한지 얼마 되지도 않은 컴퓨터인데 그러니…답답하네요
그 컴퓨터를 포멧했습니다 결국…그리고 원인을 찾아냈는데 해결방법을 모르겠네요
프린터 드라이버를 설치하기 전에는 정상적으로 작동하는데
네트워크로 연결된 프린터가 세대인데 그 드라이버 중 어느것 하나만 설치해도 창 포커스를 잃어버리는 현상이 발생하네요
어떻게 해야되는건지 정말 모르겠습니다……
다른 컴퓨터들은 다 이상없이 작동하거든요….깨끗이 밀어버린 컴퓨터에서 그러니…돌겠네요…
안녕하세요..
제가 원격으로 직접 볼 수 있으면 문제를 해결하는데 도움이 될 수 있을 것 같습니다.
제 주변에서 동일한 상황을 만나야 해결할 수 있을 것 같습니다.
혹시나 제가 원격으로 볼 수 있는 상황이 된다면 연락주세요..
정말 유용한 프로그램을 감사한 마음으로 잘 쓰고 있었습니다.
버그(?일지 모르는)현상이 생겨서 여쭈어봅니다.
하나씩의 낱장으로 프린트를 하게 되면 문제 없이 잘 되는것이,
같은 동작을 여러번 반복하면(.Print(false) 여러번) 원하는 출력이 아니라
처음 몇 장 만 제대로 나오다가 인쇄 버튼을 누른 웹페이지 그대로 나오더라구요,,,
암만 소스를 고쳐봐도 도통 해결이 안되는군요,,
방법이 없을까요?
WinXP SP3, IE7, IE8 에서 돌립니다.
같은 동작을 반복하는 것은 스크립트로 그렇게 한 것인가요? 아니면 직접 버튼은 여러 번 클릭한 것인가요?
테스트할 수 있는 URL을 알려주시면 테스트 해보겠습니다.
테스트 URL 공개가 힘들면 비밀글로 남겨주세요..
저도 테스트해 보겠습니다.
test//test 로 로그인 하셔서,
Dental Lab Service -> Print Slip -> 왼쪽 리스트 클릭 -> 하단에 환자 이름 입력 -> 중앙 ‘—>’ 버튼 클릭 -> 오른쪽의 생긴 리스트 클릭 -> Print Slip 버튼 클릭 ext)오른쪽 하단 리스트 더블클릭으로 Re-Print,
프린트 정보를 띄워놓구 인쇄를 하게 되면, print_page.html로 프린트 되는게 정상이고 그 외의 것은 에러나더랍니다..
버튼을 여러번 클릭하게 됩니다. 누를때 마다 인쇄 페이지를 호출하고, 호출된 페이지에서 부모창 데이터 받아다가 테이블 안에 넣고 인쇄하는 방법인데, 에러증상으로 생각해볼 때, 현재 작업이 끝난 후에 다시 인쇄 페이지를 불러서 계산(?) 하고 프린터 인쇄 대기 리스트에 넣는듯 합니다.,, 신경써주셔서 감사합니다.
사이트 URL을 남겨주시지 않아네요..
글 입력할 때 홈페이지 부분에 남긴 곳(http://www.go-????.com)이라면 접속이 되지 않아서 테스트할 수가 없습니다.
음, 오타가 났나보네요,
http://www.go-mes.net
test//test 입니다.
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에서 로딩 (인쇄) 완료 후 다시 인쇄 요청 가능하게 만들어 주는게 좋을 것 같습니다.
오옷~ 분석까지 해주시다니 감사할 따름입니다.
‘내 코딩엔 문제가 없다’ 가 문제였네요.
맨 땅에 헤딩으로 시작한거라 누구에게도 도움받을 수 없었습니다. ㅠ_ㅠ;
지적해주신 부분 열심히 만져보겠습니다.
이슬님, 지적해주신 대로, 레이어 방법으로 바꾸는 과정에서,
인쇄 테스트를 하는데 이전에 적용시켰던 style이 하나도 안먹히는데요,
예를 들면, 테두리 두께라던지 테이블 속성들이 하나로 통일되어져 인쇄가 됩니다.
레이어 방법에서는 style=”border-width:1;bborder-style:solid;” 와
여백 설정도 틀리고,, 흠,, 어떻게 해야할까요?? CSS는 전혀 안써봐서,, CSS로 해결 될까요?
죄송합니다만 급한 일이 있어 더 이상은 분석해드리기가 어렵습니다.
css로 당연히 해결되리라 생각됩니다.
혼자서 해결이 어려우면 웹개발자 관련 사이트에 글 남기면 답변을 얻을 수도 있을 것 같습니다.
그럼 원하시는 결과를 얻길 바라겠습니다.
좋은 프로그램 덕분에 ScriptX 공개 버전으로 안되던 부분을 해결 했습니다.
그런데 전 2가지 문제가 있더군요.
일단 용지사이즈를 임의로 조절 하지 못하는 부분요.
A4, B5 이렇게는 조절 되지만 100*200 이런 임의의 사이즈는 지정이 안되는 건가요?
아니면 따로 지정을 안하면 프린터 설정을 따르는 건가요?
그리고 프린터에 따라서 여백설정이 안먹히는 경우도 있나요?
HP 프린터를 쓰는데 여백이 0셋을 해도 프린터 설정의 여백으로 나오네요.
뭐 그건 ScriptX도 마찬가지 입니다만.. ^^
아 그리고 Clean() 메쏘드의 문제점이 좀 있었는데.. 그건 조금더 확인해서 말씀드릴께요.
예..용지사이즈는 임의로 조절하지 못합니다.
사용자 정의로 미리 등록되어 있는 것으로 선택은 가능합니다만 임의의 사이즈를 등록할 수는 없습니다.
여백설정 문제 관련해서는 프린터 자체에 여백이 설정되어 있는 부분은 어떻게 할 수가 없습니다.
IEPageSetup은 단순히 IE의 메뉴에 있는 ‘파일-인쇄’, ‘파일-인쇄 미리보기’를 강제로 클릭하고, 값들을 넣어주는 기능만 할 뿐입니다.
Clean() 관련 문제는 알려주시면 확인해보겠습니다.
고맙습니다.
외국 ActiveX 이용을 고려하다가 황금같은 리소스를 발견하였네요~
먼저, 우리 것이라는 사실에 자부심을 느낍니다.
또한, 황금같은 리소스를 공개하여 주신 것에 깊은 감사 인사를 드립니다.
하시는 일 늘 탄탄대로 일취월장 번창대박 있으시기를 응원드립니다.
감사합니다!
고맙습니다^^
애니프린팅도 번창하길 바랍니다.
고맙습니다.
잘 사용하겠습니다.
궁금하여 여쭤봅니다 인터넷 익스플로러 8 버전에서도 무리가 없는지요? 어떤 검에서 스크립트 오류가 난다하여
확인중인데요?
확인해보니 IE8에서는 설치가 안되네요..
해결되면 새 버전 배포하겠습니다.
언제 해결될지는 장담할 수 없습니다.
위에도 언급된 글이 있는데 컴퓨터의 국가 설정에 길이단위가 인치로 되어있건 미터로 되어있건 mm로 여백설정에 되는 기능이 있었으면 좋겠습니다. 여백을 15로 설정했는데 업체 pc중 일부 pc에서 오류가 나서 보니깐 국가별 설정에서 길이 단위를 인치로 해 놓았더군요. 15인치 여백을 주려니깐 오류가 난겁니다. 일부 외국계 업체의 경우 외국인이 쓰는 PC는 일부러 인치로 설정된 경우도 있으니 이 기능이 필요할 것 같습니다. 아니면 적어도 여백단위가 인치인지 밀리미터인지를 알아낼 방법만이라도 있었으면 좋겠습니다.
예.. 다음 버전 배포 시 꼭 추가하겠습니다.
mm로 설정하고, 인치로된 시스템에서는 자동으로 인치 계산을 해서 적용되도록 해야 겠네요..
고맙습니다.
잘 쓰고 있습니다.
그런데 어제부터 갑자기 스크립트오류가 뜨네요.
제가 수정한것도 없고 익스플로어도 6이랑 7을 쓰는데..
혹시 8버전으로 수정하신가 해서요.
위에 코멘트 저의 실수였습니다. 삭제가 안되네요 하하;;
계속해서 잘쓰겠습니다.
고맙습니다.
예^^
버그가 아니라니 다행입니다..
정말 유용한 프로그램을 감사한 마음으로 잘 쓰고 있었습니다.
근데 쪽번호 기능은 아직 없는건가요? 인쇄 미리보기시에 쪽번호가 존재 하던데
그걸 화면에 출력 할 수 없는지요. 너무너무 좋은 프로그램 다시 한번 감사합니다.
고맙습니다.
IE에 존재하는 기능은 대부분 지원됩니다.
머리글 또는 바닥글을 아래와 같이 설정하면 됩니다.
IEPageSetupX.header=’&p / &P’;
IEPageSetupX.footer=’&p / &P’;
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, 제로보드(외부페이지)에서 작업했습니다)
안녕하세요…
예전에 질문 주셨던 글을 보니 기억이 나네요..
팁까지 올려주시고 고맙습니다.
GetPrinters()하게 되면 구분자로 %0D%0A가 맞습니다.
16진수로는 0x13, 0x10이죠..
Carriage Return(0x13), Line Feed(0x10)입니다.
Carriage Return은 현재 줄의 제일 처음 위치로 커서를 이동시키는 것이고, Line Feed는 한 줄 내리는 기능을 합니다.
보통 줄바꿈을 CR+LF로 처리합니다.
고맙습니다^^
<%@ 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 설치만 되어계시면 열어보시는데는 문제 없으실껍니다..
안녕하세요. 이런걸 물어봐도 될진모르겠는데요
C#(웹어플)에서 인쇄할때 이슬님의 프로그램을 추가해서 출력하려고 하거든요
그래서 오브젝트 설정하고 속성설정(머릿말, 꼬릿말, 여백등), 인스톨 확인등 다른것들은되는데
메소드만 호출하면 오류메세지
///////////////////////////////////////////////
에러 코드: 102
에러 메시지: body 객체의 onload 이벤트에서 IEPageSetupX의 속성/메소드를 호출하여 주십시오.
//////////////////////////////////////////////
라고 나오거든요.
이상해서 html에을 실행해봤는데 html은 잘 실행되구요
c#이랑 연동해서 할려니까 이런 오류가나오는데 혹시 저같은 오류난다고 하시는분 없으셨나요?
그리고 해결방법이 있다면 좀 ㅎㅎ 알려주세요
아 물론 body에서 직접 IEPageSetupX.Preview();도 실행해봤구
함수로 따로 처리도 해봤는데 모두 같은 메세지입니다.ㅠㅠ
안녕하세요..
아직 해당 문제가 발생한다는 얘기는 못들어본거 같습니다.
문제가 발생하는 웹페이지의 URL을 남겨주시면 확인해보고 글 남기겠습니다.
프로젝트파일을 제가 드릴까요?
테스트한다고 다른기능은 없구요 그냥 바로 미리보기가 실행되는 아주 간단한거라
주소 알려주시면 제가 보내드릴께요
아 환경은 .NET 2003에 XP를 쓰고있습니다.
웹으로 확인이 불가능한가요?
URL만 알려주시면 될거 같습니다.
C# 개발환경이 준비되어 있지가 않습니다.
C# 개발환경 구축 후 특별히 설정 없이 바로 프로젝트 파일을 불러와서 테스트해볼 수 있다면 보내주시구요..
아..해결됐습니다….
오브젝트 선언하는곳 위치가 문제였군요;;;
이런삽질을..;;;;;;
해결되었다니 다행이네요..
주의 사항으로 표시해두어야 겠습니다.
고맙습니다.
안녕하세요..해당 프로그램을 너무나도 감사히 쓰고 있는 개발자 입니다.
해당 프로그램으로 페이지를 개발해놓고 영수증 출력 모듈을 쓰고 있었는데..
얼마전에 다시 들여다 보니 바로 위에 장길삼님이 말씀하신 거처럼
에러 코드: 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” >
여기까지가 호출하기 전까지구요..
다른 호출은 전혀 하지 않습니다..
이유가 따로 있을까요?,..
전혀 상관없는 submit 관련 문제였군요..해결했습니다.
프로그램은 항상 감사히 쓰고 있습니다
수고하시고 건승하세요
예… 고맙습니다^^
개발자님도 건승하시길^^
아 안녕하세요 이것저것 테스트하다가 발견한점이랑 궁금한게 있어서 질문드립니다. 하핫;;
우선 발견한게
<style type=”text/css”>
BODY { DISPLAY: none; VISIBILITY: hidden }
</style>
위의 구문처럼 BODY STYLE이 들어가있는경우 위의 저 경우처럼 오브젝트 오류(오류102)가 납니다
사용하시는분들은 유의하셔야할꺼같군요(아니면 대략 낭패인데;;)
그리고 궁금한점은
미리보기를 했을때 [닫기]버튼을 눌러서 종료하면
부모의 창까지 닫을수가 있는데요
윈도우 종료창(x)을 선택시 아무런 이벤트 없이 끝나버려서 이걸눌러도 부모창까지 닫히게 할수있는
방법은 없을까 해서 질문드립니다.
스타일 관련 문제는 좀 테스트를 해봐야 겠네요..
고맙습니다.
미리보기에서 “닫기” 버튼 클릭으로 부모창까지 닫게 했다는 것이 어떻게 하셨는지 모르겠네요..
샘플 코드를 알려주시거나 테스트할 수 있는 URL을 알려주시면 확인해보겠습니다.
미리보기에서 “닫기” 버튼을 클릭해서 부모창을 닫는것은
IEPageSetupX.Preview();
window.close();
이렇게 처리를 했거든요
이렇게 처리하면 닫기버튼을 눌렀을때 부모창은 같이 닫히는데
위의 윈도우창 닫기(x)는 해결방법이 없네요…
이벤트 자체가 없는것 같기도 하구요..
테스트해보니 동일한 문제가 발생하네요..
IE의 특성이 그런가 봅니다.
아래와 같이 하는 건 어떤가요?
IEPageSetupX.Preview();
setTimeout(‘IEPageSetupX.CloseIE();’, 2000);
미리보기 창 띄운 후 2초 후에 강제로 자신을 닫습니다.
그렇게 처리할경우 문제가 발생을 합니다.
저도 우연히 발견했는데요
그럴경우에 미리보기창만 떠있는 상황이 발생이되는거쟎아요?
미리보기 창만 떠있는 상태에서 인쇄 버튼을 누르게되면 오류메세지가 나타나며 인쇄가 되지 않습니다.
흠…
예.. 테스트해보니 인쇄 버튼 누르면 에러가 나네요..
원하시는 것은 안될 것 같습니다.
안녕하세요, 공개해주신 ActiveX를 잘 사용하고 있습니다.
궁금한게 있는데요~ IE8에서는 바탕색 옵션을 True로 하여도 미리보기나 인쇄시에 나오질 않는데요~
제 컴퓨터만 그런건 아니고 IE8에서 전부 그런것 같습니다. 확인이 가능할까요?
수고하세요.
조만간에 IE8에서 테스트해보고 글 남기겠습니다.
고맙습니다.
안녕하세요, 위에 IE8버전에 대한 문의글 남긴 사랍니다.
IE8에 대한 테스트는 아직이신가요? 요즘 갑자기 IE8 사용자들이 많이 늘어나네요.
부탁드리겠습니다.
안녕하세요..
IE8에서 배경색 관련 사항이 변경되었네요..
15일까지 수정해서 올리겠습니다.
그 전에 수동 해결은 아래 URL을 참고바랍니다.
http://support.microsoft.com/kb/975455
IE8 지원 완료되었습니다.
네~ 감사합니다.
잘쓰고 있습니다.
궁금한점이 있어서 글올려요
제가 개발한 웹에서 아주 잘쓰고 있는데요.
아직 비스타에서는 호환이 안되는지요.
비스타 쓰는사람이 조금씩 늘어가네요..;
수고하세요.
비스타는 아직 지원 계획이 없습니다.
Win7이 나와서 그것 먼저 확인해봐야 될거 같습니다.
Win7은 비스타와 달리 많이 사용될 거 같네요..
오늘 확인해보니 비스타에서도 잘 동작되네요..
기존에 쓰던 데다 업데이트를 하려면 어떻게 해야 하는지요?
여태 업데이트는 않해봐서요, 기존에 여백이나 환경이 설정되어 있어 일일이 고치기가 힘들어서요..
웹서버에 존재하던 기존의 *.cab 파일과 수동설치프로그램을 새 버전으로 교체하고,
한가지 더 질문드려요, 먼저 한번 질문 드린건데요.
IE8에서 인쇄시 스크립트오류 나던부분도 같이 수정된건가요?
기존에 IE8에서 어떤 오류가 났는지 모르겠습니다.
네트워크 프린트가 설치되어있는 PC에서는 작동이 안되는건가요?
네트워크 프린터가 설치되어 있는 PC에서도 동작됩니다.
단순히 여백 등의 설정만 해주는 것입니다.
IE에서 수동으로 해서 되면 되는 것입니다.
윈도우랑 상관없이 네트워크 연결된 PC에서는 ” is not a vaild floating point value
이라고 메시지가 뜹니다. 버젼은 최근버젼입니다.
확인 결과 네트워크 프린터와 관계없이 여백을 설정하지 않은 경우 발생하는 문제였습니다.
해당 문제 해결한 버전을 다시 올렸습니다.
1.4.0.3입니다.
고맙습니다.
안녕하세요.^^
질문이 있습니다. Window7에서 제가 만든 페이지를 접속하니 “멕어드레스/호스트 인증을 설치할수 없습니다.”라는
에러메세지가 나오면서 로그인 창으로도 진행이 안되는데요…ㅠ.ㅠ
뭘해봐야 할까요? 보안등급도 낮추고 신뢰할 사이트로 등록도하고 진행했는데도 잘안됩니다.
ㅠ.ㅠ 도와주세요.ㅠ….ㅠ…
문제가 발생하는 프로그램이 어느 프로그램인지 확인하신 후 해당 프로그램의 게시글에 답글로 남겨주시기 바랍니다.
남기신 글은 IEPageSetupX와 관련된 글이 아닌 것 같습니다.
안녕하세요~
지금 웹상에서 영수증 출력을 하려고 하는데요. 혹시 페이지 사이즈에서 밀리미터로 제어가 가능할까요?
예를 들면 80*200mm 이렇게요.
예.. 안녕하세요..
용지 사이즈는 임의로 조절하지 못합니다.
사용자 정의로 사용자가 등록해 두고, 그것을 선택은 가능합니다만 임의의 사이즈를 등록할 수는 없습니다.
앗 그렇군요~ ;ㅅ; 아무튼 감사합니다요~
그리고 프로그램 정말정말 좋아요! ㅎㅎ
감사히 쓰겠습니다. 꾸벅
고맙습니다 ^_____^
제가 윈도우 7과 익스플 8인데요
IEPageSetupX.ShrinkToFit = true;
IEPageSetupX.CloseIE = true;
동시에 안먹네요…
특히나
IEPageSetupX.ShrinkToFit = true; 의 경우 실행 안될 경우가 있습니다. 창이 뜨는 딜레이 때문인지; 몰라도
그리고
IEPageSetupX.CloseIE = true;의 경우 IEPageSetupX.CloseIE; 이렇게도 써보고… 저렇게도 써보고 다 해봐도
창이 안닫히네요 ㅠㅠ
CloseIE는 속성이 아니라 메소드입니다.
아래와 같은 사용은 잘못되었습니다.
IEPageSetupX.CloseIE = true;
다음과 같이 사용해야 됩니다.
IEPageSetupX.CloseIE();
IEPageSetupX.ShrinkToFit은 ‘..CloseIE = true’를 하지 않고 해보아도 그런가요?
이슬님…
인증받을 파일을 네이트온으로 부탁 드려요…. 인증해 드릴께요 ^^
어떤 파일이 인증이 되어야 되는지 너무 많아서 ^^;;;;;
메일은….. 제 네이버로 위 아이디@네이버 하셔도 되구요… 아님 네이트온 보내시고 쪽지 한통 주셔도 되요 ^^
네이버 메일로 관련 파일 보냈습니다.
고맙습니다.
하늘님 즐거운 성탄절 보내세요 ^_______^
이슬님…
다름이 아니고 여러자을 프린트 할경우 1페이지만 보이면서 인쇄되고
나머지 페이지들은 보이지도 않고 인쇄도 안되는 왜 그런지 좀 알려주세요
IEPageSetupX 사용하지 말고 테스트 해보세요..
IEPageSetupX 사용하면서 발생한 문제라면 제가 테스트할 수 있는 링크를 비밀글로 남겨주시면 확인해보겠습니다.
너무너무 ㄳㄳ
기존 IE8에서 백그라운드이미지 처리 버그와 크기에 맞게 축소 문제가 된 부분을 오늘 확인해 보니깐..
모두 패치 해 놓으셨네요.. 테스트 하니깐.. 너무 잘되네요..
이거 때문에 비싼 돈주고 솔루션 사야하나 고민중이었는데… 공짜로 해결해 주셨는데..
역삼동 오시면 연락 한번 주세요. 술한잔 사드리겠습니다. 연락주세요.. wook2222@gmail.com (멜 주시구요.. ^^)
잘 된다니 다행이네요..
아직 기능 추가할 것도 많고 한데.. 요즘 또 한 동안 작업을 못하고 있습니다.
요즘엔 성남에서 활동하고 있어서 서울 나갈 일이 거의 없네요..
말씀만으로도 고맙습니다^^
오랜만에 들러서 질문만 여쭙네요..
혹시 크롬이나 사파리에서 비슷한 기능을 하는 프로그램(?)을 아시는지요,,
공개해주신 IEPageSetupX로 정말 많은 덕을 봤는데요, 염치도 없이 묻기만 하네요,
저희 거래처들중에 IE를 굉장히 싫어하는 분들이 계셔서(크롬 쓰더라구요..),,
혹시나 크롬이나 사파리 쪽으론 계획이 없으신지요,, 아님 비슷한 거라도 있는지 궁금하구요,,
요즘 한국이 많이 춥다는데 건강하시길~~
안녕하세요..
전 주로 Firefox 사용합니다.
크롬이나 사파리는 저도 사용하지 않아서 모르겠습니다.
비슷한 기능을 하는 프로그램도 모르겠네요..
요섭님도 건강하시길 바랍니다^^
안녕하세요.
저는 VB에서 웹브라으저 컨트롤을 이용하여 프린트 하고자 합니다.
헌데 웹브라우저 컨트롤의 용지방향설정등이 매우 어려워서 도움을 청합니다.
아래주소는 IEPageSetupX.ocx가지고 VB에서 사용해보려고 시도한 소스입니다.
http://wbsoft.co.kr/%5BIEPrintTest%5D.zip
웹브라우저객체에 직접 명령이 들어가는것이 아니라서
여백설정(레지스트리)만 적용되고 나머지는 먹통입니다. ㅎㅎ
어떻게 여백설정이 가능했는지 알고 싶습니다.
도움주시면 사례하겠습니다.
(IEPageSetup의 라이센스비용을 지원해드릴 생각입니다.)
woobang@nate.com
우병석 010-3154-6497
안녕하세요.
IEPageSetupX를 만든 프로그램에서 직접 제어하지 마시고,
일반 웹 페이지에서 하는 것처럼 HTML 코드 내에서 사용되도록 구성 하세요.
그리고, IEPageSetupX를 이용하는 특정 자바스크립트 함수를 만들고,
만드신 프로그램에서 WebBrowser1에 접근하여 그 함수를 호출하는 방법으로 사용하시면 될것 같습니다.
바로위에 글을 올렸던 사람입니다.
말씀하신대로 ocx를 html에서직접실행하는것은 문제가 없습니다.
헌데, 약간의 문제점이 html에서 용지방향설정변경후에 html상에서 미리보기 or 인쇄명령을 내린후에 적용된다는 점입니다.
단순히 페이지 로딩시에 용지방향설정만 바꾼상태에서 vb에서 브라우저컨트롤에 인쇄명령을 내리면 용지방향이 안바껴있다는거죠.
인쇄버튼이 HTML내에 있을수 없기 때문에 그렇습니다.
Html 페이지를 로딩하자마자 미리보기를 뛰우는것도 바람직하지 못한 상황이라 그렇습니다.
결론은, html이 아닌 VB에서 용지설정을 직접 바꾸는방법이 필요합니다.
그리고 그부분에 대해서 도움을 주실수 있는지요?
위의 답변에서 말씀드렸는데요..
다시 알려드릴게요..
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를 이용하면 일반 웹페이지 내에서 호출하는 것처럼 모든 것을 제어할 수 있습니다.
혹시 양면인쇄가 가능할까요?
프린터가 지원하고 기본설정이 양면이면 인쇄할때 양면인쇄가 가능하게 할 수있나요?
아니면 프린터가 지원하고 기본설정이 한면인쇄일때 양면인쇄가 가능하게 할 수있는지요?
좋은 프로그램 감사합니다.
버전은 IE7, OS는 XP 입니다.
양면 인쇄는 프린터에 따라서 설정이 모두 다릅니다.
그래서 지원할 수 없습니다.
안녕하십니까…
먼저 넘 잘 사용하고 있습니다. 감사드립니다.
질문드리고 싶은 것은 빈 페이지가 인쇄되는 문제 입니다.
ASP로개발해서 동일한 형식 여러페이지를 데이터만 바뀌면서 인쇄를 하고있습니다.
그런데 마지막 페이지에 도달하면 빈페이지가 생깁니다.
어떻게 처리를 해야하는지요…
안녕하세요..
확인할 수 있는 URL을 남겨주시면 확인해보겠습니다.
남겨주신 설명만으로는 원인을 찾기가 어렵습니다.
URL 전체를 남겨놓습니다.
http://btlsse.dyndns.org:8880/Sub_08/report_05_rpt-1.asp?RT_code=11&RT_name=일일업무일지&sel_code=02&sel_class=1&sel_name=일일보고서&ck_sch_code=00&sdate_yy=2010&sdate_mm=03&sdate_dd=02&edate_yy=2010&edate_mm=03&edate_dd=22
아이디/비번 : imsi/imsi
확인해봤습니다.
용지를 A3로 설정해서 테스트해보았습니다.
일일업무일지가 12장인데 인쇄할 때는 13장으로 마지막에 빈페이지가 하나 인쇄되네요..
정확히는 마지막 페이지가 빈페이지가 아니고, 내용이 있습니다.
아래와 같은 내용이 나옵니다.
L>
이는 HTML에서 오타가 들어간 것입니다.
HTML 문서의 제일 마지막이 아래와 같이 되어 있습니다.
L>
로 수정하면 해결될거 같습니다.
이상입니다.
제 메일 주소는 robocon@naver.com입니다.좋은 답변 부탁드립니다.
안녕하십니까..
보내주신 답변에 감사드립니다.
말씀하신것을 확인해보니 L>이 있어서 지우고 순수 HTML 파일로 저장해서 확인을 해도 동일한 결과가 나왔습니다.
뭔가 보이지 않는 부분이 있는 것 같은데 참 찾기가 어렵네요.
ASP 코드에서 L>되어 있는 오타가 없는데 나타나네요..
검색을 해보니 의 끝 부분만 걸리고요…
관심가져주셔서 감사합니다.
style에서 “page-break-after” 때문입니다.
.a4 { page: a4sheet; page-break-after: always }
마지막 페이지의 div는 제거하시거나 클래스로 a4를 저정하지 않으면 정상 출력됩니다.
마지막 페이지에도 a4로 지정되어 있으니 마지막 페이지를 인쇄하고, 다음 페이지로 넘기게 되어서 빈 페이지가 인쇄되는 것입니다.
그리고,
감사합니다. 덕분에 해결되었습니다.
너무 좋은프로그램 고맙습니다^^
문의 드립니다!
이미지버튼을 사용중인데요.. clear모드를 사용중인데, 이미지가 인쇄가 되버리네요..
원래 그런가요?
현재 페이지에서 “noPrint” 검색하신 후 적용해보세요..
이슬님~ 말씀하신 noprint 찾아서 적용해 보았는데, 작동은 잘 되는듯 하지만.. 테이블에서 정렬이 잘 안되는 군요..
어찌하오리까…
구성을 어떻게 했는지 알수가 없어서.. 정확한 답변을 드리기가 어렵네요.
혹시 버튼이 포함된 TD 전체를 숨긴 건 아닌가요?
어이구.. 두번이나 올라가버렸네요..
소스가 참.. 길죠.?
염치불구하고 질문좀 하겠습니다.
위소스중 뭐가 잘못되었는지 용지 방향 설정이 안먹습니다..
도통 모르겠어요..
그런데, IEPageSetupX.Print(true); 인쇄대화상자 띄우기를 활성화 하면 그때는 됩니다..
그러나 소스에서 숫자를 붉은색으로 표시하는 자바스크립트는 안되더군요.. 머리아픕니다..
도와주십시요~~
print()를 사용하지 말고, IEPageSetupX.Print(); 또는 IEPageSetupX.Preview();를 사용해야 적용됩니다.
용지방향, 용지 등 대부분의 설정은 IEPageSetupX.Print() 또는 IEPageSetupX.Preview()를 사용하는 순간 적용됩니다.
올려주신 소스는 너무 길어서 이 페이지가 로딩되는데 시간이 걸려서 일부 수정했습니다.
되도록이면 테스트할 수 있는 URL을 남겨주시면 고맙겠습니다.
function printMe()
{
if (Installed())
{
IEPageSetupX.Orientation = “0”;
//IEPageSetupX.Print(); // 인쇄하기
//IEPageSetupX.Print(true); // 인쇄대화상자 띄우기
//IEPageSetupX.SetupPage(); // 페이지설정창 띄우기
}
else{
alert(“컨트롤을 설치하지 않았네요.. 정상적으로 인쇄되지 않을 수 있습니다.”);}
}