水晶报表,使用crystalReportViewer打印默认为letter问题解决。

在打印机设置中已经设置了自定义大小,并且默认也为自定义大小。

但在使用crystalReportViewer控件上的工具栏打印按钮时,弹出打印机设置框。在高级选项中,纸张规格每次默认是LETTER。
解决方法,自己写个打印Button。代码如下:

 1 private void button1_Click(object sender, EventArgs e)
 2         {
 3             if (DialogResult.OK == printDialog1.ShowDialog())
 4             {
 5                 
 6                 PrinterSettings ps=new PrinterSettings();
 7                 ps=printDialog1.PrinterSettings;
 8                 crystorage.PrintOptions.PrinterName =ps.PrinterName;    
 9                 int rawKind=1;
10                 System.Drawing.Printing.PrintDocument doc = new System.Drawing.Printing.PrintDocument();
11                 for (int i = 0; i < doc.PrinterSettings.PaperSizes.Count; i++)
12                 {
13                     //找到自定义的纸张
14                     if (doc.PrinterSettings.PaperSizes[i].PaperName == "21x9.5")
15                     {
16 
17                         rawKind = doc.PrinterSettings.PaperSizes[i].RawKind;
18 
19 
20                         //MessageBox.Show(doc.PrinterSettings.PaperSizes[i].PaperName);
21                     }
22                 }
23                 crystorage.PrintOptions.PaperSize =(CrystalDecisions.Shared.PaperSize)rawKind;
24                 crystorage.PrintToPrinter(1, true, 1, 1);
25                 
26                 
27             }

 

 

转载于:https://www.cnblogs.com/dreamspread/archive/2013/01/19/2867561.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值