Foros del Web » Programación para mayores de 30 ;) » .NET »

Imprimir lotes con Crystal Reports

Estas en el tema de Imprimir lotes con Crystal Reports en el foro de .NET en Foros del Web. Buenas, mi pregunta es la siguiente: Tengo una serie de facturas a imprimir y deseo poder imprimirlas todas con crystal reports. Ya tengo el reporte ...
  #1 (permalink)  
Antiguo 17/06/2009, 15:08
Avatar de anyulled  
Fecha de Ingreso: diciembre-2005
Ubicación: Los Teques, Venezuela
Mensajes: 16
Antigüedad: 18 años, 11 meses
Puntos: 0
Pregunta Imprimir lotes con Crystal Reports

Buenas, mi pregunta es la siguiente:

Tengo una serie de facturas a imprimir y deseo poder imprimirlas todas con crystal reports.

Ya tengo el reporte hecho, junto con las variables de entrada y los datasets correspondientes

¿Hay alguna instrucción para imprimir una cantidad de reportes sin tener que visualizarlos?
  #2 (permalink)  
Antiguo 18/06/2009, 03:15
 
Fecha de Ingreso: enero-2008
Mensajes: 268
Antigüedad: 16 años, 10 meses
Puntos: 11
Respuesta: Imprimir lotes con Crystal Reports

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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:02.