haberla, claro que la hay.
Lo primero que tienes que hacer es decirle que no quieres visualizar el report. Usa la propiedad visible.
Después tienes que mandar el report a la impresora (elegir una de la sque tengas) e imprimirlo.
Te pongo un ejemplo de como lo hago yo. El ejemplo en concreto lo que hace es coger un objeto imagen, (porque lo que hago es capturar la imagen de pantalla), y luego imprimo dicho objeto usando la impresora de PDF.
Supongo que tu tendras que hacer lo mismo, solo que pasandole el report, y elgiendo la impresoa normal para que te imprima el documento.
Espero que te sirva, ya nos dices
No hay que importar ninguna libreria (bueno, para usar mi emplo exactamente si, porque uso una libreria de imagenes: Imports System.Drawing.Printing)
Cita:
Private Sub btt_impresora_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btt_impresora.Click
Dim gr As Graphics = Me.CreateGraphics
' Tamaño de lo que queremos copiar
Dim fSize As Size = Me.Size
Dim gr2 As Graphics
' Copiar el área de la pantalla que ocupa el formulario
Dim picCaptura As New PictureBox
Me.BackColor = Color.White
Me.btt_ayuda.Visible = False
Me.btt_salir.Visible = False
bm = New Bitmap(fSize.Width, fSize.Height, gr)
gr2 = Graphics.FromImage(bm)
gr2.CopyFromScreen(Me.Location.X + 4, Me.Location.Y + 30, 0, 0, fSize - New Size(8, 40))
gr2.RotateTransform(180)
picCaptura.Image = bm
'picCaptura.Image.Save("prueba.pdf")
pd = New PrintDocument
'seleccionar_impr()
pd.PrinterSettings.PrinterName = "Adobe PDF"
pd.DefaultPageSettings.Landscape = True
pd.DefaultPageSettings.Margins.Left = 230
pd.DefaultPageSettings.Margins.Top = 100
pd.PrinterSettings.PrintFileName = "prueba.pdf"
pd.Print()
Me.BackColor = Color.WhiteSmoke
Me.btt_ayuda.Visible = True
Me.btt_salir.Visible = True
End Sub
Sub pd_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs) Handles pd.PrintPage
Dim x As Integer = e.MarginBounds.X
Dim y As Integer = e.MarginBounds.Y
e.PageSettings.PrinterSettings.DefaultPageSettings .Landscape = True
e.Graphics.DrawImage(bm, x - 100, y - 15)
e.HasMorePages = False
End Sub