最近在做项目时,使用ActiveReport(以下简称AR)做报表输出,具体的场景与问题如下:
场景:
纸张尺寸:8.5in*5.5in
边距:上下左右全设为0.1in
在打印某些单据资料时,遇到以下问题:
打印机是EPSON LQ-300K+ /II ESC/P 2,在打印某个单据(其它单据可以正常,Detail备注栏内容比较多且密,预览只有一页,且没有红边)时,使用AR本身的自定纸张尺寸(即直接设置报表的尺寸),总是会多出一张空白页。尝试使用Windows的自定纸张格式(新建了一个A8纸(8.5*5.5),应用这个纸张打印可以正常输出。
问题思考:
根据与现场顾问确认,相同的单据与报表,使用其它型号的打印机输出是OK的。
初步分析,可能与以下3点有关:
1.打印机的分辨率设置
2.AR.PrintWith设置不对
3.AR的边距设得太小
尝试:
1.在AR.Run()之前,把设置其PrintWidth属性:
AR.PrintWidth = AR.PageSettings.PaperWidth - AR.PageSettings.Margins.Left - AR.PageSettings.Margins.Right - 0.1f;
2.把AR的边距加大。
AR.PageSettings.Margins.Left=0.39in;
AR.PageSettings.Margins.Right=0.39in;
AR.PageSettings.Margins.Top=0.3in;
AR.PageSettings.Margins.Bottom=0.3in;
经过以上设置,问题得以解决。 目前测试了一些单据,还未发现问题。