居中打印一个较简单的办法,在打印事件里取页面大小,根据要打印内容的宽和高来计算正确的起始x和y,一般都能实现较居中的打印了。
void pd_PrintPage(object sender, PrintPageEventArgs e)
{
Graphics g = e.Graphics;
g.PageUnit = GraphicsUnit.Millimeter;
float pw = (float)m_doc.DefaultPageSettings.PaperSize.Width * 25.4f / 100;
float ph = (float)m_doc.DefaultPageSettings.PaperSize.Height * 25.4f / 100; //这里转成mm单位
}