在实际应用中,票据是多种多样的,用针式打印机进行打印,要自定义纸张的格式;只有精确定义好纸张的高度,打印机在索引送纸时才不会出现误差。

每一种纸张格式都有唯一一个ID,在代码中设置要打印的水晶报表的纸张格式时,就是通过指定此ID来实现的。所以,接下来的关键问题是在代码中如果获得自定义的纸张ID,下面的代码(以C#为例)就实现些功能:

System.Drawing.Printing.PrintDocument doc = new System.Drawing.Printing.PrintDocument();

int rawKind = 1; //记录标识自定义纸张的ID

//枚举出所有的打印纸尺寸

while (!(int i == doc.PrinterSettings.PaperSizes.Count))

{

if (doc.PrinterSettings.PaperSizes[i].PaperName == "自定义的纸张的名称")

{

rawKind = doc.PrinterSettings.PaperSizes[i].RawKind;

}

i++;

}

//指定纸张,下面代码的crystalReport是用所设计的报表定义的对象

汇总表 crystalReport = new 汇总表();

crystalReport.PrintOptions.PaperSize = (CrystalDecisions.Shared.PaperSize)rawKind;

附 自定义纸张的设置方法:

点开始—→点“设置”中的“控制面板”—→选择“打印机和传真”—→点主菜单中的“文件” —→选择“服务器属性”。

在“服务器属性”屏幕,选中“创建新格式”,在“表格名”处给自定义的纸张起一名字(不要与系统自有的名字重复),再在下面格式描述(尺寸)中输入宽度与长度,最后点“保存格式”即可。

最后再到打印首选项中去修改:右击默认打印机出来“打印首选项”,选“高级”,在纸张规格边选中你设置的规格,最后按确定确定就可以啦。

附 指定水晶报表纸张规格方法:

水晶报表中的纸张规格是根据windows操作系统中打印机设置的纸张规格获得的。

设置完后,右键点击你设计的“水晶报表”,选择【设计】-》【打印机设置】,再选择已经定义了该打印“首选项”的打印机,设置纸张大小即可。

posted on 2012-07-27 15:03  账号难注册  阅读(372)  评论(0编辑  收藏  举报