Вы можете использовать метод Control.DrawToBitmap()
для создания изображения для элемента управления, которое вы можете нарисовать на бумаге в обработчике событий PrintDocument.PrintPage
с помощью e.Graphics.DrawImage()
.
Это далеко не «лучшая практика». У принтеров разрешение намного выше, чем у мониторов. Как правило, 600 точек на дюйм по сравнению с 96. Чтобы избежать превращения элементов управления в почтовые марки, необходимо масштабировать растровые изображения в 6 раз. Класс PrintDocument
делает это по умолчанию. Результат зернистый, особенно текст выглядит плохо при просмотре на типичной длине руки. Вы получите только хорошо выглядящий текст с Graphics.DrawString()
. Другими словами, пишите код, а не копируйте растровые изображения. Существует множество генераторов отчетов, которые помогут вам избежать утомительного написания кода.