Как выводить на печать нескольких страниц?

Создаю многостраничный документ, при вызове окна предпросмотра документа у меня отображаются все страницы. Но когда я отправляю документ на печать, то выходит только первая страница. Подскажите, как сделать так, чтобы печатались все страницы документа?
private void button1_Click(object sender, EventArgs e)
        {
            printDocument.DocumentName = "Документ";
            PaperSize pkCustomSize1 = new PaperSize("8.5x13", 550, 707);
            this.printDocument.DefaultPageSettings.PaperSize = pkCustomSize1;
            printDocument.PrinterSettings.DefaultPageSettings.PaperSize = GetPaperSize(5);
            printDocument.PrintPage += PrintPageHandler;
            PrintPreviewDialog printPreviewDialog = new PrintPreviewDialog();
            printPreviewDialog.Document = printDocument;
            printPreviewDialog.ShowDialog();
            PrintDialog printDialog1 = new PrintDialog();
            printDialog1.Document = printDocument;
            printDocument.PrinterSettings.PrintRange = PrintRange.AllPages;
            if (printDialog1.ShowDialog()==DialogResult.OK)
            printDocument.Print();
        }
        int PageNumber = 1;
        void PrintPageHandler(object sender, PrintPageEventArgs e)
        {
            e.Graphics.DrawString(result, new Font("Arial", 14), Brushes.Black, 0, 0);
            e.Graphics.DrawImage(DownloadImageFromUrl("http://localhost/barcode.php?text=N233454E"), new Rectangle(new Point(20,5),new Size(200,39)));
            e.Graphics.DrawImage(DownloadImageFromUrl("http://localhost/barcode.php?text=N233454E"), new Rectangle(new Point(280, 5), new Size(200, 39)));
            e.Graphics.DrawImage(DownloadImageFromUrl("http://localhost/enterprise/naryadimg.php?idDoor=53590"), new Rectangle(new Point(10, 55), new Size(200, 200)));
            if(PageNumber==2)
                e.Graphics.DrawRectangle(new Pen(Color.Black), 10, 55, 200, 200);

            if (PageNumber++ < 3)
                e.HasMorePages = true;
        }
  • Вопрос задан
  • 36 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
МВС Телеком Москва
от 100 000 руб.
СМАРТ-СОФТ Волгоград
от 60 000 до 90 000 руб.
AgroStream Нур-Султан (Астана)
от 300 000 до 500 000 тнг.
21 окт. 2019, в 21:06
600 руб./в час
21 окт. 2019, в 19:51
50000 руб./за проект
21 окт. 2019, в 19:38
4000 руб./за проект