Некорректно распечатывается PictureBox.Image

198
25 апреля 2018, 04:14
private void печатьToolStripMenuItem_Click(object sender, EventArgs e)
    {
        System.Drawing.Printing.PrintDocument document = new System.Drawing.Printing.PrintDocument();
        PrintDialog printDialog = new PrintDialog();
        document.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(Print);
        printDialog.Document = document;
        if (printDialog.ShowDialog() == DialogResult.OK)
        {
            document.Print();
        }
    }
    private void Print(System.Object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
        Bitmap bitmap = new Bitmap(PB_Plan.Image.Width, PB_Plan.Image.Height);
        PB_Plan.DrawToBitmap(bitmap, new Rectangle(0, 0, PB_Plan.Image.Width, PB_Plan.Image.Height));
        e.Graphics.DrawImage(bitmap, 0, 0);
        bitmap.Dispose();
    }

Помогите исправить код, чтобы документ распечатывался на весь лист. PB_Plan.SizeMode = StretchImage.

Answer 1

Решение найдено. Вдруг кому понадобится. Всё идеально работает.

private void печатьToolStripMenuItem_Click(object sender, EventArgs e)
    {
            // показываем окно настройки печати
            PrintDocument printDoc = new PrintDocument();
            PrintDialog dlg = new PrintDialog();
            dlg.Document = printDoc;
            if (dlg.ShowDialog() != DialogResult.Cancel)
            {
                printDoc.PrintPage += new PrintPageEventHandler(printDoc_PrintPage);
                printDoc.Print();
            }
    }
    private void printDoc_PrintPage(object sender, PrintPageEventArgs e)
    {
        e.Graphics.DrawImage(PB_Plan.Image, Point.Empty);
    }
Answer 2

Свойство PageSettings.PaperSize

READ ALSO
UWP Не могу зашифровать в AES CBC

UWP Не могу зашифровать в AES CBC

Пытаюсь зашифровать byte[] в AES CBCКонечный буфер (bufferEncrypt) имеет значение NULL

232
Как подключить dll(c++) к с#?

Как подключить dll(c++) к с#?

Знаю, что популярная проблемаНо нужно срочно, а я вообще не бум-бум

221
Передача DateTime в URL методу

Передача DateTime в URL методу

Есть метод контроллера сервера Refresh(DateTime? Date) Есть метод jQuery который отправляет ajax-запрос по URL наподобие http://localhost:1234/Home/Refresh?Date=2304

204
Выгрузить привязанные данные в word

Выгрузить привязанные данные в word

Подскажите пожалуйста, как (c# winforms vs2010) обратиться (чтобы выгрузить в word) к привязанным данным "Value_1 и Value_2"? Те

215