Microsoft MVP성태의 닷넷 이야기
인쇄 시 , 출력화면을 이미지 파일로 저장하고 싶습니다. [링크 복사], [링크+제목 복사],
조회: 16862
글쓴 사람
김솔지
홈페이지
첨부 파일
[Print.cpp]    

첨부된 파일소스는 인쇄하는 소스 입니다.

제가 하고 싶은건, 출력되는 페이지 화면을 이미지 파일로 저장하고 싶습니다.

만약 인쇄 페이지가 2페이지라면, 특정폴더에 1page.jpg / 2page.jpg 이런식으로 저장하고 싶습니다.

아래와 같이 테스트 코드로 테스트를 먼저 진행하였습니다.
HWND win = GetDesktopWindow();
HDC dc = GetDC(win);
HDCToFile("C:\\sol.png", dc);

위 결과는 현재 바탕화면의 이미지를 이미지 파일로 정상적으로 잘 저장하고 있습니다.


따라서, 위의 테스트를 참고하여
HDCToFile("C:\\sol.png", hPrtdc); ---> hPrtdc는 인쇄하는 페이지 dc임.

이렇게 인쇄하는 페이지를 이미지 저장하도록 하였습니다. 결과는 이미지로 저장은 되는데, 그 이미지가 그냥 검은 화면만 나오고 있는 상태입니다.


위와 다른게 dc넘겨준게 다른거 밖에 없는데, 계속 검은화면만 저장되고 있습니다.

소스 위치도 이곳 저곳 변경도 해보구, 다른 방법으로 시도해보았지만, 계속 검은화면만 나와서 이렇게 문의드립니다.


ps. 소스 전체를 zip으로 묶어서 올렸는데, 계속 실패 404가 납니다.. 그래서 cpp만 첨부합니다.ㅠ








[최초 등록일: ]
[최종 수정일: 3/13/2017]


비밀번호

댓글 작성자
 



2017-03-15 12시44분
그러고 보니, 제가 지금까지 업무를 하면서 한번도 인쇄 관련해서 해본 적이 없군요. ^^; 일단 결과가 그렇게 나온다고 하니, 저보다는 이 분야에 경험을 갖고 있는 분들에게 질문하시는 것이 더 나을 것 같습니다.
정성태

NoWriterDateCnt.TitleFile(s)