水晶報表,使用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             }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM