Как из консольного приложения или приложения 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
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как использовать CosturaFody(NuGET) для объединения DLL ?
Дайте мне совет пожалуйстаУ меня есть поля значение, тип которого целое число
Подключаюсь как root к mysql, к localhost подключается нормально, а к 1270