C#打印,打不全问题(100分,不够可以再加)
jtlyr 2010-05-04 11:15:45 我用C#的打印控件进行全纸打印(无边距),在打印事件中我取得打印纸张的大小,然后把图片打印出来,在预览状态下没有问题,但打印出来后右边少了大约1CM(A4纸)。
我分析了一下,大概有两种情况:
1.由于打印机不能实现无边距打印(打印出来后周围又一圈白边),实际打印区域比取得的区域要小所导致。
2.由于显示屏和打印机的打印DPI不同导致的差异。但我取得的打印尺寸时就是1/100英寸,而不是像素。
所以我觉得问题可能是第一种情况。
麻烦各位高手指点,分数不够我可以再加。
下面是我的代码:(打印事件)
private void printMyDocument(PrintPageEventArgs e)
{
Rectangle paperRect = e.MarginBounds;//单位是1/100英寸(1169*827),我算了一下,就是A4纸的尺寸(29.7*21cm)
...//一些check处理
Image image = getImage();//取得图片Image
if (image != null)
{
Graphics g = e.Graphics;
g.DrawImage(image, paperRect);
}
}