Я пытаюсь разрешить моим пользователям распечатывать текущую страницу, в которой они находятся, в нашей программе WinForm. Сначала я делаю скриншот приложения и сохраняю его на диск. Затем я запускаю PrintPreviewDialog
и загружаю его туда.
Это все работает, за исключением того, что оно уходит со страницы! Я не могу понять, как изменить или разрешить пользователю изменять макет страницы для печати на ландшафт и / или на " автоподгонка " на снимке экрана до 1 страницы. *
private void printDetailsToolStripMenuItem_Click(object sender, EventArgs e)
{
HUD.ShellForm.SaveAsImage("CaseNoteDetails.jpg", ImageFormat.Jpeg);
printPreviewDialog1.PrintPreviewControl.AutoZoom = true;
printPreviewDialog1.Document = printDocument1;
printPreviewDialog1.AutoSize = true;
printPreviewDialog1.ShowDialog();
}
void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
float x = e.MarginBounds.Left;
float y = e.MarginBounds.Top;
e.Graphics.DrawImage(Image.FromFile("c:\\CaseNoteDetails.jpg"), x, y);
}
Я изменил одну строку на это ->
e.Graphics.DrawImage(Image.FromFile("c:\\CaseNoteDetails.jpg"), x, y,1000,750);
и это работает, за исключением того, что у меня есть почти 1/3 напечатанной страницы в виде пробела. Как минимизировать отступы / поля, чтобы я мог использовать всю страницу?