一般的打印是程序控制一个逻辑布局,在不同的打印纸张上打印出相应效果。
但有些打印业务需要固定纸张大小从而实现连续打印,此时可用如下控制函数:
SET_PRINT_PAGESIZE(intOrient,intPageWidth,intPageHeight,strPageName);
参数说明:
intOrient:打印方向及纸张类型
1---纵向打印,固定纸张;
2---横向打印,固定纸张;
3---纵向打印,宽度固定,高度按打印内容的高度自适应(见样例18);
0---方向不定,由操作者自行选择或按打印机缺省设置。
intPageWidth:
纸张宽,单位为0.1mm 譬如该参数值为45,则表示4.5mm,计量精度是0.1mm。
intPageHeight:
固定纸张时该参数是纸张高;高度自适应时该参数是纸张底边的空白高,计量单位与纸张宽一样。
strPageName:
纸张类型名,
intPageWidth等于零时本参数才有效,具体名称参见操作系统打印服务属性中的格式定义。
关键字“CreateCustomPage”会在系统内建立一个名称为“LodopCustomPage”自定义纸张类型。
演示自定义纸张:
1:用宽(138mm)高(88mm) 的动态纸张打印预览1一份交行受理书,打印方向不定。
2:选择如下打印机:默认打印机 指定打印机:
用上一步设置的动态纸张大小,打印方向是正(纵)向,见打印预览2。
3:选择上一步所指定打印机的如下纸张类型:不指定纸张 指定纸张:
打印方向不定,见打印预览3。
4:用宽(140mm)高(90mm)进行
打印预览4的同时并建立名称为LodopCustomPage的自定义类型。
这种方式可以适应某些不能动态设置纸张大小的打印机,新建的纸张可用SET_PRINT_MODE重命名。
说明:
由于有些打印机对自定义的纸张不一定完全支持,所以同样纸张在不同打印机上预览结果可能不一样。
Lodop的这种预览更接近实际打印输出,但在开发时要注意区分,建议安装一个虚拟打印机来辅助测试。
演示连续打印:
5:用以上动态设置纸张的方法,循环执行直接打印5,可以实现无间隔的连续打印输出。
控制位置基点:
6:为使内容不出轨,输出位置一般是以“可打区域”边缘为基点的,但由于各种打印机物理边距不一样,
这样就造成同一程序用不同打印机输出的位置有差异,这对通用套打是非常不利的,此时可用如下语句:
LODOP.SET_PRINT_MODE("POS_BASEON_PAPER",true);
该语句可使输出以纸张边缘为基点,进入打印预览6选不同物理边距打印机看看位置是否一致。
改变Windows默认打印设置:
系统默认设置对Lodop控制输出影响很小,不需要改变。提供如下额外功能是为了满足特殊需要: