Crystal Report由指定印表機直接列印
將Crystal Report報表直接由指定印表機輸出
事前:引用Crystal Report DLL(Visual Studio 2010 後沒有內建Crystal Report,需自行到SAP網站下載)
using CrystalDecisions.CrystalReports.Engine;
Step1:顯示Print Dialog讓User挑選印表機
PrinterSettings printerSettings = new PrinterSettings();
PrintDialog printDialog = new PrintDialog();
printDialog.PrinterSettings = printerSettings;
printDialog.AllowPrintToFile = false;
printDialog.AllowSomePages = true;
printDialog.UseEXDialog = true;
Step2:指定Crystal Report輸出印表機
DataTable DT = new DataTable();//資料來源
ReportDocument rpDoc = new ReportDocument();
Rec.Load(string.Concat(System.Environment.CurrentDirectory, @"\RPT_FORM\檔名.rpt"));
Rec.SetDataSource(DT);
rpDoc.PrintOptions.PrinterName = printerSettings.PrinterName;
rpDoc.PrintToPrinter(printerSettings.Copies, false, 0, 0);
※ReportDocument.PrintToPrinter 方法※
public virtual void PrintToPrinter (int nCopies , bool collated , int startPageN , int endPageN );
參數:
nCopies //指出列印份數。
collated //指出是否自動分頁。
startPageN //指出要列印的第一頁。參數設定為 0 即可列印所有頁面
endPageN //指出要列印的最後一頁。參數設定為 0 即可列印所有頁面