PrintDocument 를 이용했는데 미리보기 화면과 실제 출력물이 조금 달라요..^^;;
민아
※ .net 질문글을 올리시기 전에...
1.글쓰기 화면 하단에 있는 기능설정 란에서 오른쪽 마우스버튼 옵션을 허용합니다.
(허용하지 않으면 답변자는질문자의 질문 내용 및 소스 코드를 복사할 수 없게 되고, 질문자는 답변자의 덧글을 복사할 수 없게 됩니다.)
2. 이q&a게시판은 .net 2.0(visual studio 2005) c# 언어를 기본으로 합니다. 만일 타 언어 혹은 다른 버전에서의 질문이라면 반드시 제목이나 게시물에 이를 언급하셔야 답변자에게 있어 착오가 없을 것입니다.
3. 이 규칙은 2009년 4월 21일 오전 0시부터 권고되므로, 이를 숙지하시고 질문하시기 바랍니다.
안녕하세요...
하다하다 되지 않아서 이렇게 질문을 올립니다.
데이터가 프린트에 출력이 되는 것을 제작중인데요... 몇 주간의 우여곡절끝에 프린트 미리보기까지 구현을 하였습니다.
그런데 이상한건 타이틀바가 일부는 나오고 일부는 나오지 않는겁니다. 아니 정확히 이야기하면 한 개만 나오고 나머지는
출력이 되지 않습니다. 물론 미리보기를 했을때는 잘 나옵니다.
첫번째가 프린트로 출력한 종이를 찍은 사진이구요... 아래쪽이 printdocument 를 이용하여 미리보기 화면에서 보이는 화면입니다. 보시다시피 미리보기 화면에서는 정확히 나오고 있는데요....도대체 안 나오는 이유가 뭘까요? 코딩 구문은 안에 들어가는 글자 내용만 틀리고 나머지는 모두 같습니다.
cell = new rectangle(print_x, print_y, 160, 30)
print.graphics.fillrectangle(new solidbrush(system.drawing.color.fromargb(255, 255, 250, 202)), cell)
print.graphics.drawrectangle(pens.black, cell)
print_y += cell.height + 10
print.graphics.drawstring(학부수다님 말씀, reportfont2, brushes.black, print_x + 5, print_y - 35)
타이틀바를 출력하는 구문이구요... 종이의 여백때문이라고 생각하기에는 여백이 너무 많이 남았고 printdocument의 미리보기 창에 있는 프린트 툴바를 이용해서 직접 printdocument.print() 구문을 이용해도 결과는 같더라구요...
도대체 어느 부분이 문제인가요?
고수님들의 답변 진심어린 마음으로 기다립니다.
감사합니다.
-
BlackCat
문제를 해결했습니다. 이게 하나씩 디버깅을 하다보니 결국 프린트 프리뷰 다이얼로그가 되면서 한번 타이틀바가 출력이 되고 제가 코딩창에 혹시 페이지가 또 넘어가 출력이 되면 타이틀바가 한번만 출력이 되야해서 불린변수로 각각을 설정해두었는데 이게 프리뷰로 만들어진 프린터 버튼을 누르니 다시 프린트 페이지 이벤트가 다시 또 호출이 되는 형태더라구요.. 그래서 다시 변수로 설정을 바꾸어 주어서 해결하였습니다. 도움주신 분들 감사합니다.