Pembuatan report umumnya secara default menyediakan halaman preview sebelum kita melaksanakan printing. Namun di beberapa kasus kita ingin mencetak (print) eksklusif tanpa harus preview menampilkan report apalagi dulu. Klo report nya pake SQL Reporting yang file rdl nya ditaro di sever, gimana cara nya? Hal ini juga sempet membuatpuyeng, karena waktu googling source nya minim banget. Alhamdulillah tetapi nya bisa dapet dan jalan. Berikut contoh dengan menggunakan code VB.NET. Report yang hendak dicetak: Buat UI mirip gambar di bawah ini, cuma form dengan button. Report Viewer akan kita buat secara runtime, dan tersembunyi. Kemudian kita buat isyarat berikut: Imports System.Drawing.Printing Imports System.Drawing.Imaging Imports System.IO Imports Microsoft.Reporting.WinForms Public Class frmPrintReport Dim pages As New List(Of Metafile) Dim pageIndex As Integer = 0 Dim doc As New Printing.PrintDocument() Dim ReportViewer1 As New ReportViewer Private Sub frmPrintReport_Load( ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase .Load Button1.Text = "Print" With ReportViewer1 .Visible = False .ProcessingMode = ProcessingMode.Remote .ServerReport.ReportPath = "/HRD/Attendance Report" .ServerReport.ReportServerUrl = New _ Uri( "http://localhost/ReportServer" ) End With Me .Controls.Add(ReportViewer1) End Sub Private Sub PrintPageHandler( ByVal sender As Object, _ ByVal e As PrintPageEventArgs) Dim page As Metafile = pages(pageIndex) pageIndex += 1 Dim pWidth As Integer = 827 Dim pHeight As Integer = 1100 e.Graphics.DrawImage(page, 0, 0, pWidth, pHeight) e.HasMorePages = pageIndex End Sub Private Sub Button1_Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim doc As New Printing.PrintDocument() doc = New Printing.PrintDocument() AddHandler doc.PrintPage, AddressOf PrintPageHandler Dim obrolan As New PrintDialog() obrolan.Document = doc Dim print As DialogResult print = dialog.ShowDialog() doc.PrinterSettings = obrolan.PrinterSettings Dim deviceInfo As String = _ " " & _ " emf " & _ " 8.5in " & _ " 11in " & _ " 0.25in " & _ " 0.25in " & _ " 0.25in " & _ " 0.25in " & _ " " Dim warnings() As Microsoft.Reporting.WinForms.Warning Dim streamids() As String Dim mimeType, encoding, filenameExtension, path As String mimeType = "" : encoding = "" : filenameExtension = "" 'Input parameter report Dim DateFrom As Date = CDate ( "4/15/2015" ) Dim DateTo As Date = CDate ( "4/15/2015" ) Dim parmDateFrom As New ReportParameter( "DateFrom" , DateFrom) Dim parmDateTo As New ReportParameter( "DateTo" , DateTo) Dim parmSO1(1) As ReportParameter parmSO1(0) = parmDateFrom parmSO1(1) = parmDateTo Dim data() As Byte ReportViewer1.ServerReport.SetParameters(parmSO1) data = ReportViewer1.ServerReport.Render( "Image" , _ deviceInfo, mimeType, encoding, filenameExtension, _ streamids, warnings) pages.Add( New Metafile( New MemoryStream(data))) For Each pageName As String In streamids data = ReportViewer1.ServerReport.RenderStream( "Image" , _ pageName, deviceInfo, mimeType, encoding) pages.Add(New Metafile(New MemoryStream(data))) Next doc.Print() Me .ReportViewer1.RefreshReport() End Sub End Class Markicob, mari kita coba.Panggil form kemudian klik tombol print, dan obrolan print eksklusif muncul. Kita tidak menyaksikan preview dahulu kan? Contoh di bawah ini Rani coba print nya pake PDF Printer. Referensi: http://blogs.msdn.com/b/bryanke/archive/2004/02/11/71491.aspx https://monirblog.wordpress.com/2012/10/16/print-ssrs-report-directly-to-a-printer-without-viewing-using-vb-net/ Click here if you like this article. Artikel Mengenai SSRS lainnya: Menginstall Business Intelligence SQL Server 2005 Membuat Report menggunakan SQL Server Reporting Service (dengan wizard) Membuat Report Tanpa Wizard (Part 1) Membuat Report Tanpa Wizard (Part 2) Design Layout Report Filter/Parameter Report Data source Report dari Stored Procedure Data Parameter dari Query Database Membuat Group Report Membuat Nomor Urut Cara Upload File Report (.rdl) Ke Report Server SQL Server Reporting Menghilangkan Page Break pada Email Subscription List Subscription dengan Query Mencetak Langsung ke Printer (Tanpa Preview)
Sumber http://rani-irsan.blogspot.com
pop
Jumat, 09 Oktober 2020
Ssrs: Mencetak Eksklusif Ke Printer
Diterbitkan Oktober 09, 2020
Artikel Terkait
Langganan:
Posting Komentar (Atom)
EmoticonEmoticon