6
我的表單在我的機器上正確打印,但是當我在另一臺機器上部署應用程序時,表單不適合頁面,桌面背景出現在打印文件。兩臺機器之間的主要區別在於其中一臺DPI設置爲150%。我多次改變了自動縮放,但沒有任何變化。窗體在屏幕上看起來不錯,但是打印不正確。以下是我正在使用的代碼。當DPI爲150%時,我的表單打印不正確
private void btnPrint_Click(object sender, EventArgs e)
{
CaptureScreen();
printPreviewDialog1.Document = printDocument1;
printPreviewDialog1.ShowDialog();
}
Bitmap memoryImage;
private void CaptureScreen()
{
Graphics myGraphics = this.CreateGraphics();
Size s = this.Size;
memoryImage = new Bitmap(s.Width, s.Height, myGraphics);
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s);
}
private void printDocument1_PrintPage(System.Object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(memoryImage, 0, 0);
}
你爲什麼要打印網頁表單?你確定這兩臺機器之間的打印設置不同嗎? –
用戶需要填寫,保存並打印Windows窗體。當DPI爲100%或125%但不是150%時,表格可以正確打印。我有一個用戶有視力問題,所以他運行的DPI設置最高。 – wsb
你有沒有打印輸出失敗的照片? – NineBerry