【打印机纸张设置】
Z-Desinger 888 TT 默认设置的纸张格式是Portrait
【报表纸张设置】
RDLC纸张设置是横向
【打印结果】
出现纵向多页错乱问题,方向和设置的不一样,原因是本身打印机的问题,报表设置的方向没有办法修改,如果修改方西后宽度和高度会发生改变,系统默认当宽度大于高度时会自动横向打印,那么可以通过以下方式解决
private static void PrintSetting(short copies)
{
if (m_streams == null || m_streams.Count == 0)
{
//MessageBox.Show("错误:没有检测到打印数据流");
_falg = false;
//return;
throw new PrintException("没有检测到打印数据流");
}
//声明PrintDocument对象用于数据的打印
PrintDocument printDoc = new PrintDocument();
//获取配置文件的清单打印机名称
System.Configuration.AppSettingsReader appSettings = new System.Configuration.AppSettingsReader();
printDoc.PrinterSettings.PrinterName = (new System.Drawing.Printing.PrintDocument()).PrinterSettings.PrinterName;
//printDoc.PrinterSettings.PrinterName = "1";
printDoc.PrintController = new System.Drawing.Printing.StandardPrintController();//指定打印机不显示页码
//判断指定的打印机是否可用
if (!printDoc.PrinterSettings.IsValid)
{
//throw new Exception("错误:找不到打印机");
//MessageBox.Show("错误:找不到打印机");
throw new PrintException("没有检测到打印数据流");
_falg = false;
return;
}
else
{
//ZDesinger 888 TT默认的打印方向是 Portrait 因此不需要设置Landscape属性值
//printDoc.DefaultPageSettings.Landscape = isLandSapces;
//声明PrintDocument对象的PrintPage事件,具体的打印操作需要在这个事件中处理。
printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
m_currentPageIndex = 0;
//设置打印机打印份数
/*if (paperSize != null)
{
printDoc.DefaultPageSettings.PaperSize = paperSize;
}*/
printDoc.PrinterSettings.Copies = copies;
//printDoc.PrinterSettings.
//执行打印操作,Print方法将触发PrintPage事件。
printDoc.Print();
}
}