안녕하세요.
제가 증명서 출력 프로그램을 작성하는 중에, 출력부분에서 막히게 되어서
이렇게 문의드립니다. (이미지 확장명은 jpg 입니다.)
원래, 이미지를 TImage 로 띄워서,
printer.Canvas.Draw(0,0,Image1.Picture.Graphic);
이런 식으로 출력하거나, 퀵레포트내의 QRImage 에 이미지를 올려서 출력하는 식으로
처리했었는데,
2.2MB 를 출력하는데, 프린터 스풀링되는 용량은 32MB 로 너무나 느리게 출력이 되어서
그 방법들은 포기했습니다.
그래서, ShellExecute 를 사용하여,
ShellExecute(GetDesktopWindow,'print',PChar('c:\imsi.jpg'),nil,nil,SW_SHOWNORMAL);
이런 식으로 처리하려고 하는데, 이미지가 "Windows Picture and Fax Viewer" 로 오픈되기만 하고
자동출력은 되지 않습니다.
이미지를 (확장자 jpg) 바로 출력할 수 있는 방법이 없을까요..
해결할 수 있도록 부탁드립니다.
읽어주셔서 감사합니다. 수고하셔요.
printer.Canvas.Draw(0,0,Image1.Picture.Graphic);
이걸 쓰셨다고 하는데, 출력부분의 코딩을 전체로 올려주셔야 문제점을 알 수 있을 듯 합니다.
기본적으로 비트맵을 프린트 할 경우, 스풀 사이즈는 비트맵의 파일 사이즈와 일치해야 합니다.
2.2메가 짜리 비트맵이면 스풀도 2.2메가라는 것이죠.
코딩 상의 오류일 가능성이 아주 높다고 생각됩니다.
또한 Draw보다는 CopyRect등의 방식을 쓰셔야 원하는 대로 출력하실 수 있을 겁니다.