Realman's World

[C#] PrintDocument 클래스를 이용하여 Multi Page 출력하기 본문

Language/C#

[C#] PrintDocument 클래스를 이용하여 Multi Page 출력하기

리얼맨 2008. 10. 2. 10:12

PrintDocument에서 실제로 Print를 실행시키는 부분은 PrintPage 이벤트 핸들러이다.

PrintPage 이벤트 핸들러는 Page 단위로 Print할 정보를 만든다.

때문에 여러 페이지를 출력하기 위해서는 한번의 Page를 출력시키고 다음 페이지가 존재하는지 하지 않는지를 설정한다.

그 뒤에 다시 PrintPage 이벤트 핸들러가 호출되면 다음 Page를 출력시키고 다시 위의 작업을 반복하게 된다.


        private int g_iPage =10;

        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            Count--;
            if (Count < 0)
            {
                e.HasMorePages = false;
            }
            else
            {
                e.HasMorePages = true;
            }
        }

위와 같이 전역 변수로 전체 페이지의 수를 저장한 후 각 페이지를 출력시킬 때마다 비교하여 남은 페이지가 있는지의 여부를 판단해 주면
실행이 된다.
Comments