Страницы

Поиск по вопросам

вторник, 23 апреля 2019 г.

Как из приложения отправить что-либо на принтер?

Как из консольного приложения или приложения WinForms отправить что-либо на принтер?


Ответ

Минимально необходимо для печати:
using System.Drawing.Printing; using System.Drawing;
void Print() { PrintDocument printDoc = new PrintDocument(); printDoc.PrintPage += PrintPageHandler; printDoc.Print(); }
void PrintPageHandler(object sender, PrintPageEventArgs e) { //Замените на e.Graphics.DrawImage или любую другую логику e.Graphics.DrawString("Привет", new Font("Arial", 14), Brushes.Black, 0, 0); }
при этом печать будет на дефолтном принтере. PrintDialog позволяет выбрать принтер и настроить некоторые параметры PrintDocument через диалоговое окно, но за печать отвечает именно PrintDocument
Расширим пример для использования PrintDialog
PrintDocument printDoc = new PrintDocument(); printDoc.PrintPage += PrintPageHandler; PrintDialog printDialog = new PrintDialog(); printDialog.Document = printDoc; if (printDialog.ShowDialog() == DialogResult.OK) printDialog.Document.Print();
Убираем всплывающие окошки, если в них нет необходимости:
printDoc.PrintController = new StandardPrintController();
По аналогии с добавлением PrintDialog, можно добавить PageSetupDialog и PrintPreviewDialog последовательно передавая им объект PrintDocument

Комментариев нет:

Отправить комментарий