private void PrintPage(object sender, PrintPageEventArgs ev)
{
//Metafile对象用来保存EMF或WMF格式的图形,
//我们在前面将报表的内容输出为EMF图形格式的数据流。
m_streams[m_currentPageIndex].Position = 0;
Metafile pageImage = new Metafile(m_streams[m_currentPageIndex]);
ev.PageSettings.PaperSize.RawKind = 9;
//指定是否横向打印
ev.PageSettings.Landscape = true;
//这里的Graphics对象实际指向了打印机
ev.Graphics.DrawImage(pageImage, 0, 0);
m_streams[m_currentPageIndex].Close();
m_currentPageIndex++;
//设置是否需要继续打印
ev.HasMorePages = (m_currentPageIndex < m_streams.Count);
}
#endregion
是不是写了css,服务器事件就是这样的。
样式在调用的时候id发生了变化,写弹出定位一下。
研究了下,可能是在vs2010下DrawImage画图区别吧,具体原因不清。。。
将ev.Graphics.DrawImage(pageImage, 0, 0);
改成下面指定的大小缩放就可以了
ev.Graphics.DrawImage(pageImage, ev.PageBounds, 0, 0, ev.PageBounds.Width, ev.PageBounds.Height, System.Drawing.GraphicsUnit.Millimeter);