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