2011-11-20 126 views
1

我正在開發一個銷售點系統,但我在這裏打印收據..我可以在不顯示CrystalReport窗口的情況下進行打印嗎?在C#中的默認打印機無聲打印

是這樣的..:d

private void btnPrint(object sender, EventArgs e) 
{ 
    string theStringIWantToPrint = "hello world, i am a receipt"; 
    Printer.print(theStringIWantToPrint); 
} 

默認打印機會自動打印字符串沒有任何提示.. :)這可能嗎?我可以要求一個示例代碼來完成這項任務嗎?

+0

我的印象是你想打印一個實際的水晶報告,而不是在第一次回答時顯示觀察者。但是再次閱讀你的問題,我想知道你是否意味着你只想打印純文本?這是什麼,你想要打印到普通的打印機或收據打印機? –

回答

3

打印報表不提示用戶:

ReportDocument rDoc = new ReportDocument(); 
rDoc.Load("SomeReport.rpt"); 

// Do whatever else you need to setup rDoc here 
// SetDatabaseLogon, VerifyDatabase, Set ParameterFields, etc. 

// Find out what the Default Printer Name is 
rDoc.PrintOptions.PrinterName = "Default Printer Name"; 
rdoc.PrintToPrinter(1, false, 0, 0) //copies, collated, startpage, endpage 

另外,如果你想提示用戶選擇打印機,然後只使用CrystalReportViewer.PrintReport()方法。

+0

這是使用VS 2008版本的CR版本。我希望2010會使用相同的API,但我知道在2008年之前,它們的API在版本和版本之間差異很大,因此您可能需要發佈哪一個版本如果這不適合你的話。 –

+0

我在這裏找到了一些替代方法.. http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.aspx –

+0

僅供參考,爲繪製字符串提供的方法並不總是完美中心。有一個很久以前我做過的報告,在那裏我繪製了自己的網格,該網格集中在頁面上方,並且在上方是標題。如果不是網格,它看起來很好,但在標題旁邊,它顯示了它是如何偏離中心的。我最終找到了能夠正確對準我的人的代碼。如果你覺得你需要它,我可能會爲你挖掘它。 –

相關問題