原創(chuàng)|使用教程|編輯:鄭恭琳|2015-12-17 10:35:56.000|閱讀 3695 次
概述:本片文章主要介紹Stimulsoft Reports.Net開發(fā)者在打印報(bào)表時(shí)遇到的常見問題及解決方案。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
< Stimulsoft Reports.Net v2015.3最新版本下載>
按照下面的方法先加載報(bào)表:
C#
StiReport report = new StiReport(); report.Load("report.mrt"); report.Print();
VB
Dim Report As StiReport = New StiReport() Report.Load("report.mrt") Report.Print()
重載StiReport類里的Print方法:
C#
StiReport report = new StiReport(); report.Load("report.mrt"); report.Render(); PrinterSettings printerSettings = new PrinterSettings(); printerSettings.Copies = 2; Report.Print(printerSettings);
VB
Dim Report As StiReport = New StiReport() Report.Load("report.mrt") Report.Render() Dim PrinterSettings As PrinterSettings = New PrinterSettings() PrinterSettings.Copies = 2 Report.Print(PrinterSettings)
你可以使用Print方法。示例:
C#
StiReport report = new StiReport(); report.Load("MyReport.mrt"); report.RegData(myDataSet); report.Render(); //創(chuàng)建打印機(jī)設(shè)置 PrinterSettings printerSettings = new PrinterSettings(); printerSettings.Copies = 1; printerSettings.FromPage = 1; printerSettings.ToPage = report.RenderedPages.Count; //直接打印,不顯示打印對(duì)話框 report.Print(false, printerSettings);
VB
Dim Report As New StiReport Report.Load("MyReport.mrt") Report.RegData(MyDataSet) Report.Render() '創(chuàng)建打印機(jī)設(shè)置 Dim PrinterSettings As New PrinterSettings PrinterSettings.Copies = 1 PrinterSettings.FromPage = 1 PrinterSettings.ToPage = Report.RenderedPages.Count '直接打印,不顯示打印對(duì)話框 Report.Print(False, PrinterSettings)
你可以在PrinterSettings類的PrinterName屬性指定打印機(jī)的名稱。示例:
C#
StiReport report = new StiReport(); report.Load("MyReport.mrt"); report.RegData(myDataSet); report.Render(); //創(chuàng)建打印機(jī)設(shè)置 PrinterSettings printerSettings = new PrinterSettings(); //設(shè)置用于打印的打印機(jī) printerSettings.PrinterName = "MyPrinterName"; //直接打印,不顯示打印對(duì)話框 report.Print(false, printerSettings);
VB
Dim Report As New StiReport Report.Load("MyReport.mrt") Report.RegData(MyDataSet) Report.Render() '創(chuàng)建打印機(jī)設(shè)置 Dim PrinterSettings As New PrinterSettings '設(shè)置用于打印的打印機(jī) PrinterSettings.PrinterName = "MyPrinterName" '直接打印,不顯示打印對(duì)話框 Report.Print(False, PrinterSettings)
使用PrinterSettings類:
C#
StiReport report = new StiReport(); report.Load("MyReport.mrt"); report.RegData(myDataSet); report.Render(); //創(chuàng)建打印機(jī)設(shè)置 PrinterSettings printerSettings = new PrinterSettings((); //指定紙張來源 printerSettings.DefaultPageSettings.PaperSource = printerSettings.PaperSources[1]; //直接打印,不顯示打印對(duì)話框 report.Print(false, printerSettings);
VB
Dim Report As New StiReport Report.Load("MyReport.mrt") Report.RegData(MyDataSet) Report.Render() '創(chuàng)建打印設(shè)置 Dim PrinterSettings As New PrinterSettings '指定紙張來源 PrinterSettings.DefaultPageSettings.PaperSource = PrinterSettings.PaperSources.Item(1) '直接打印,不顯示打印對(duì)話框 Report.Print(False, PrinterSettings)
默認(rèn)情況下,所有邊的頁(yè)邊距都設(shè)置為1厘米,但是有的打印機(jī)的底部邊距大于1厘米(例如DeskJet打印機(jī)),這種情況設(shè)置下邊距為2厘米就行了。
通常情況下你需要輸出版權(quán)、系統(tǒng)信息、銘文、水印、項(xiàng)目名稱以及其它一些無法在設(shè)計(jì)器中刪除的編輯信息。Stimulsoft Reports.Net提供了這樣的專用輸出功能即頁(yè)面的兩個(gè)靜態(tài)事件:PagePainting和PagePainted。當(dāng)頁(yè)面被繪制時(shí)這兩個(gè)事件都被調(diào)用。
如此假設(shè)需要在報(bào)表的每一頁(yè)上輸出公司的著作權(quán)。為此,你應(yīng)該為事件服務(wù)創(chuàng)建一個(gè)靜態(tài)方法:
C#
private static void OnPagePainting(StiPage sender, StiPagePaintEventArgs e) { }
VB
Private Shared Sub OnPagePainting(ByVal sender As StiPage, ByVal e As StiPagePaintEventArgs) End Sub
然后處理程序分配頁(yè)面的靜態(tài)事件。
C#
StiPage.PagePainting += new StiPagePaintEventHandler(OnPagePainting);
VB
AddHandler StiPage.PagePainting, New StiPagePaintEventHandler(AddressOf Form1.OnPagePainting)
假若現(xiàn)在需要輸出銘文,所有需要輸出的信息包含在處理程序的StiPagePaintEventArgs參數(shù)中。
下面是出版權(quán)字符串的輸出代碼:
C#
private static void OnPagePainting(StiPage sender, StiPagePaintEventArgs e) { Font font = new Font("Arial", 20 * (float)sender.Zoom)); e.Graphics.DrawString("(C) 2005 MyCompany", font, Brushes.Red, e.FullRectangle); font.Dispose(); }
VB
Private Shared Sub OnPagePainting(ByVal sender As StiPage, ByVal e As StiPagePaintEventArgs) Dim Font As Font = New Font("Arial", (20.0! * CType(page.Zoom, Single)) e.Graphics.DrawString("(C) 2005 MyCompany", Font, Brushes.Red, e.FullRectangle, Format) Font.Dispose() End Sub
使用這種頁(yè)面打印的靜態(tài)事件,你可以輸出幾乎任何形式的信息-圖像、文本等。
將TextQuality屬性設(shè)置為WYSIWYG或Typographic。
購(gòu)買最新正版授權(quán)!""
慧都年終盛典火爆開啟,一年僅一次的最強(qiáng)促銷,破冰鉅惠不容錯(cuò)過!!優(yōu)惠詳情點(diǎn)擊查看>>
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn