设置报表主对象的“按设计页面打印”属性实现,在“行为”类别下。如果取消了按设计页面打印,则报表将按当前打印机的纸张设置进行打印页面生成。
在支票、快递单、发票、收据、销售单等各种印刷好的单据上进行精确定位打印,请参考帮助“开发指南->报表打印->票据套打”部分。
实现存折、病历与证书等需要多次继续打印功能请参考帮助“开发指南->报表打印->续打(存折与病历打印)”部分,帮助中会提供参考例子的信息。
请参考帮助“开发指南->报表打印->合同与公文打印”部分
报表设置说明:把报表主对象的“即打即停”属性设为“是”,在“行为”类别下。
应用场景:即打即停一般用于POS打印,打印完成不走纸而是自动切纸。
特别提示:
1、页面设置中的纸张高度可以尽量设大点,但不要超过A4纸的高度(即29.7厘米),不然很多打印机在打印时会出现奇怪的问题,如打印文字变得极大、打印输出一团黑等无法解释的问题。
2、如果数据较多,后面数据会分页打出来,如果把上下边距都设为接近0,即使分页了也看不太大的空白间隙,这样还是有近似的即打即停效果。 
3、多数打印机在纸张边界都存在不可打印的区域(通常为几个毫米宽度),如果报表的页面设置中的边距太小,可能会存在太靠边的内容没法打印出来,所以页面设置中的边距不要设置太小,更不能为0,这样换页时肯定会有空隙,只能是这样的效果,这是打印机能力决定的。
4、要真正的即打即停,应该是直接控制打印机输出,采用发打印机指令的方式打印,每种打印机的指令都是不同的(开看打印机用户手册可知道),Grid++完全没有提供这样的功能,也没法通用化做到。
请参考帮助“开发指南->报表打印->其它打印任务”部分。
请参考帮助“开发指南->报表打印->其它打印任务”部分。
请参考帮助“开发指南->报表打印->打印参数设置”中的说明 
请参考帮助“开发指南->报表打印->在客户端自动保存打印偏移”中的说明
1、在设计报表时设置,在页面设置对话框中可以设置,将影响此报表的所有打印。
2、在打印对话框中设置,在打印前弹出的打印对话框中设置,在此设置仅对本次打印有效。
3、用程序代码设置,如根据不同的用户登录信息设置不同的打印偏移量。代码如下:
   Report.Printer.PrintOffsetX = x;
   Report.Printer.PrintOffsetY = y;
4、在客户端自动保存打印偏移参数:请参考帮助“开发指南->报表打印->在客户端自动保存打印偏移”中的说明
应该在名称值中包含IP或电脑主机名称,而不是直接在控制面板中看到的打印机名称。为了获取到打印机的精确名称值,可以先用打印机设置对话框选择要设置的打印机,然后再读取 PrinterName 属性获取打印机的名称值作为后续所用。
Grid++Report对打印输出有多种自适应策略,如缩放列宽度、横向分页、自动换行等,主要是设置明细网格的“打印策略”及相关属性来实现。
C/S参考例子:4.PrintAdapt
WEB报表插件参考例子:plugins\Misc\PrintAdapt.htm
1、首先在报表模板设计时,将不要打印的报表元素(如部件框、内容格等)的“打印类别”属性设为“表单”,这些数据在预览时可见,但在打印时不会输出。
2、如果是用Grid++Report本身的打印预览窗口,应该调用 IGridppReport.PrintPreviewEx 方法进行预览,GenerateStyle 参数用 grpgsPreviewAll。
3、如果是用 GRPrintViewer 控件预览展现报表,应该将其 GenerateStyle 属性设为 grpgsPreviewAll。
4、用背景图进行套打设计更方便 ,请参考帮助“开发指南->报表打印->票据套打”部分。
WEB报表插件参考例子:WebSamples\html\plugins\PreviewAll
设置报表主对象的“报表信息::标题(Title)”属性即可。 
如果成功执行了打印任务,即已经将打印数据成功发送到打印机数据缓冲池,此时报表的 PrintEnd 事件会被触发到,在此事件中可以记录打印操作过程。至于数据是否确实被打印机输出,通过软件的方式是无法判断的,如打印机未开机、打印机数据缓冲池数据被取消、打印机故障等很多因素都会造成打印没有真正输出。
在一次打印任务过程中,开始时会触发 PrintBegin 事件,在打印数据全部传输给打印机缓冲池之后触发 PrintEnd 事件;如果中途取消打印或发生了各种异常导致打印任务没有完成,PrintAborted 事件会触发,而PrintEnd 事件就不会执行到。 
WEB报表插件参考例子:WebSamples\html\plugins\PrintEvent。 
C/S报表组件与WEB报表插件直接调用报表接口 IGridppReport 的 Print 与 PrintEx 方法,报表生成并直接输出到打印机,可以控制在打印之前是否显示打印设置对话框。
参考例子:
C/S报表组件:1.Tutorial\PrintReport
WEB报表插件:plugins\02.PrintDirect 
WEB报表客户端:02.PrintDirect.htm
很可能是报表节的高度设置过大,其下部根本没有任何内容,缩小报表节的高度就可以消除问题。给各个报表节分别设置不同的非白色背景色可以方便看到问题产生的原因。 
通常是因为报表每页要重复打印的报表节的总高度太大,从而导致报表的普通内容根本无法输出造成的。报表的普通内容的可输出高度 = 页面高度 - (上边距 + 下边距 + 每页重复打印的报表头、报表尾、标题行、分组头的总高度),一定要为报表的普通内容留出必要的输出页面高度区域。解决办法:减少页面的上边距与下边距定义,调整每页重复打印节的高度。
1、用Word进行类似的打印测试,纸张设置必须保持与报表一样;如果Word的打印也不正常,说明应该在打印机方面找原因;反之可能是报表设置方面的问题。
2、如果水平方向不能完整输出,左右调整下打印机的进纸位置。
3、更新打印机的驱动程序。
4、更换一个其它打印机进行打印输出看看。
有时按测量的纸张尺寸精确设置报表的纸张页面大小后,用打印机进行实际输出多页时会发生位置偏移,一般都是因为打印机走纸不准造成的。要修正这样的走纸误差,可以一次性连续多打印几页(如3-5页),量出最后一页的位置误差值,据此求出每页的平均误差,然后根据这个平均误差值调整报表中的页面高度值。
其它解决办法: 
1、考虑更新打印机的驱动程序看看,一般要用打印机自身对应的驱动程序。
2、更换具有黑标检测功能的打印机看看,黑标检测功能的打印机在使用黑标纸打印时,打印机以黑标为检测对象,以此为参照物设定打印的开始和切纸位置。就是每次走纸的长度通过对纸上一个黑条块进行扫描确认走纸的长度,一个黑块到下一个黑块之间的距离被判定为一张纸。更多相关信息可以网络搜索一下。
通常都是因为彩色打印机缺少彩色墨水的原因,可以在打印时选用灰度打印并仅使用黑色墨盒。 
这种类型的打印机支持的最大打印宽度通常为A4纸宽度(21CM),如果票据宽度超过了21CM,就会出现右边超范围的内容打印不出。解决办法:调整页面设置中的纸张方向为“横向”,纸张的宽度与高度保持不变,打印时送纸方向也要90度旋转过来。
这种类型的打印机支持的最大打印宽度通常为A4纸宽度(21CM),如果票据宽度(即报表中页面设置中的纸张宽度)超过了21CM,就会出现各种不正常的现象。要解决此问题,应该缩小报表中的纸张宽度小于等于A4纸宽度(21CM),如果是用背景图做套打,在扫描票据背景图时,应该将左右两边不用打印的区域排除掉,这样就可以将纸张宽度缩小到需要的范围。打印的水平位置可以调整进纸挡板的位置,也可以设置报表的打印偏移量。
多数打印机在纸张边界都存在不可打印的区域(通常为几个毫米宽度),如果报表的页面设置中的边距太小,可能会存在太靠边的内容没法打印出来,所以页面设置中的边距不要设置太小 
Report.Printer.Copies = n;
如上代码可以设置多份打印,但测试时无效,是因为当前打印机不支持多份打印。通常Windows系统中的虚拟打印机(如生成 .PDF 与 .WPS 文档的虚拟打印机)都是不支持多份打印。改为用真实的打印机进行测试就会有多份效果。
Grid++是通过打印机驱动来发送打印数据,而不是直接发送打印机的指令。如果设置太高的纸张高度,很多打印机不能正常打印输出,会出现字体变小等各种不正常现象。一般要求纸张的高度不要超过A4纸张的高度,即29.7厘米。

FAQ中没有解决问题,请查看其它技术支持方式。这里常见问题解答(FAQ)内容也全部包含在Grid++Report的帮助文档中,开发者一定要善于查看软件安装后的产品帮助文档。