ASP.NET - problema al imprimir un documento

 
Vista:

problema al imprimir un documento

Publicado por Luis (24 intervenciones) el 04/07/2007 17:13:40
hola,
tengo que imprimir un texto (que es combinacion de varios label.text) y lo hago con el siguiente codigo, el problema , es que me imprime bien en local, pero luego cuando lo cuelgo , la barra de estado se queda "pensando" todo el tiempo y no imprime...
El codigo es:

Private Sub VistaPrevia(ByVal TipoFuente As String, ByVal TamañoFuente As Byte, _
ByVal TextoImpresion As String, ByVal e As System.Drawing.Printing.PrintPageEventArgs)

Dim Fuente As New Drawing.Font(TipoFuente, TamañoFuente)
Dim AreaImpresion_Alto, AreaImpresion_Ancho, MargenIzquierdo, MargenSuperior As Integer

With Me.PrintDocument1.DefaultPageSettings
'Area Neta de Impresion (se descuenta los margenes)
AreaImpresion_Alto = .PaperSize.Height - .Margins.Top - .Margins.Bottom
AreaImpresion_Ancho = .PaperSize.Width - .Margins.Left - .Margins.Right
MargenIzquierdo = .Margins.Left
MargenSuperior = .Margins.Top

'Verificar si se ha elegido el modo horizontal
If .Landscape Then
Dim NroTemp As Integer
NroTemp = AreaImpresion_Alto
AreaImpresion_Alto = AreaImpresion_Ancho
AreaImpresion_Ancho = NroTemp
End If
Dim Formato As New Drawing.StringFormat(Drawing.StringFormatFlags.LineLimit)
Dim Rectangulo As New Drawing.RectangleF(MargenIzquierdo, MargenSuperior, _
AreaImpresion_Ancho, AreaImpresion_Alto)
Dim NroLineasImpresion As Integer = CInt(AreaImpresion_Alto / Fuente.Height)
Dim NroLineasRelleno, NroLetrasLinea As Integer
Static CaracterActual As Integer

e.Graphics.MeasureString(Mid(texto, +1), Fuente, _
New Drawing.SizeF(AreaImpresion_Ancho, AreaImpresion_Alto), Formato, NroLetrasLinea, _
NroLineasRelleno)
e.Graphics.DrawString(Mid(TextoImpresion, CaracterActual + 1), Fuente, _
Drawing.Brushes.Black, Rectangulo, Formato)
CaracterActual += NroLetrasLinea
If CaracterActual < TextoImpresion.Length Then
e.HasMorePages = True
Else
e.HasMorePages = False
CaracterActual = 0
End If
End With

End Sub

'PrintDocument.PrintPage (Evento): Se produce cuando se necesita el
'resultado que se va a imprimir para la página actual.

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, _
ByVal e As System.Drawing.Printing.PrintPageEventArgs) _
Handles PrintDocument1.PrintPage
texto = "TEXTO DE HOY DIA: " & Calendar1.SelectedDate.ToShortDateString & vbCrLf & vbCrLf & Label3.Text & vbCrLf & vbCrLf & Label1.Text & vbCrLf & vbCrLf & "COMENTARIO DEL TEXTO:" & vbCrLf & vbCrLf & Label2.Text & vbCrLf & vbCrLf & Label4.Text
VistaPrevia("Tahoma", 11, texto, e)

End Sub

'Es aquí donde se pone en marcha la impresión del documento.
Protected Sub ibPrint_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ibPrint.Click

Dim PrintDocument1 As New PrintDocument
' Dim PrintDialog1 As PrintDialog
'PrintDialog1.Document = PrintDocument1
'Dim result As DialogResult = PrintDialog1.ShowDialog()
'If PrintDialog1.ShowDialog = DialogResult.OK Then
PrintDocument1.Print()
'End If
Label4.Visible = True
Label2.Visible = True
End Sub

P.D: he comentado los printdialog porque no me los reconoce al ser de windowsforms y ya digo, me imprime como yo quiero en local, pero al colgarlo nada... ¿Alguien sabe que puede pasar?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:problema al imprimir un documento

Publicado por Agustin (196 intervenciones) el 04/07/2007 17:30:04
Mira yo creo q tu codigo esta bien porque dices q te funciona de manera local. Pero si tu aplicacion es WEB no podras hacerlo funcionar en las compues cliente, simplemente porque tu codigo se ejecuta del lado del servidor, por eso cuando lo tienes local no da problema porque eres el cliente y el servidor.

Espero me haya explicado.

Podrias usar codigo JavaScript ese si se ejecuta por el lado del cliente.

Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema al imprimir un documento

Publicado por Luis (24 intervenciones) el 04/07/2007 17:43:49
jeje, muchas gracias, pero nunca he tocado javascript, ¿alguna idea? es que lo que no quiero es un window.print porque las labels estan muy comprimidas, por eso hago una cadena con todo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema al imprimir un documento

Publicado por x (445 intervenciones) el 04/07/2007 23:03:32
No puedes mostrar dialogos en una Aplicacion Web, puedes imprimir directamente con el metodo Print del objeto PrintDocument
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar