none
Itextsharp como descargar el pdf? RRS feed

  • Pregunta

    • Este es mi código, no entiendo donde se supone que se descarga el archivo, en la parte final. la página no da ninguna respuesta.

    Dim documentoPDF As New Document(PageSize.A4, 10, 10, 10, 10)
            Dim memStream As MemoryStream = New MemoryStream()
    
            Try
    
                PdfWriter.GetInstance(documentoPDF, memStream)
                documentoPDF.Open()
    
    'ACA HAGO LOS DOCUMENTOPDF.ADD()
    
    'DESPUES
    
    DOCUMENTOPDF.CLOSE()
    
          Dim bytesInStream As Byte() = memStream.ToArray()
            Response.Clear()
            Dim memorystreaam As MemoryStream = New MemoryStream(bytesInStream)
    
            Response.ClearContent()
            Response.ClearHeaders()
    
    'tambien probe con "application/pdf"
            Response.ContentType = "application/force-download"
            Response.AddHeader("Content-Disposition", "attachment; filename=" & txtnombre.Text & ".pdf")
            Response.Buffer = True
            memorystreaam.WriteTo(Response.OutputStream)
    
    'NO entiendo en que momento se me deberia descargar el pdf
    
            Try
    
    'despues probe esta funcion pero tampoco funciono:
                Return New FileStreamResult(memorystreaam, "application/force-download")
            Catch ex As Exception
    
            End Try
            Response.End()



    miércoles, 28 de septiembre de 2016 19:15

Todas las respuestas

  •   Dim documentoPDF As New Document(PageSize.A4, 10, 10, 10, 10)
            Dim memStream As MemoryStream = New MemoryStream()
    
            Try
    
                PdfWriter.GetInstance(documentoPDF, memStream)
                documentoPDF.Open()
    
    'ACA HAGO LOS DOCUMENTOPDF.ADD()
    
    'DESPUES
    
    DOCUMENTOPDF.CLOSE()
    
          Dim bytesInStream As Byte() = memStream.ToArray()
            Response.Clear()
            Dim memorystreaam As MemoryStream = New MemoryStream(bytesInStream)
    
            Response.ClearContent()
            Response.ClearHeaders()
    
    'tambien probe con "application/pdf"
            Response.ContentType = "application/force-download"
            Response.AddHeader("Content-Disposition", "attachment; filename=" & txtnombre.Text & ".pdf")
            Response.Buffer = True
            memorystreaam.WriteTo(Response.OutputStream)
    
    'NO entiendo en que momento se me deberia descargar el pdf
    
            Try
    
    'despues probe esta funcion pero tampoco funciono:
                Return New FileStreamResult(memorystreaam, "application/force-download")
            Catch ex As Exception
    
            End Try
            Response.End()
    Todo esta dentro de una function as actionresult

    miércoles, 28 de septiembre de 2016 15:55
  • hola

    cual seria el problema?

    veo el codigo pero no entiendo que problema tienes

    recuerda

    AYUDANOS A AYUDARTE, guía básica de consejos para formular preguntas


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 28 de septiembre de 2016 16:47
  • Quiero que la página descargue un pdf, falta modificar algo? o hay errores?
    miércoles, 28 de septiembre de 2016 17:01
  • hola

    la descarga del archivo la realizas en esta linea

    memorystreaam.WriteTo(Response.OutputStream)

    cuando escribes en el response el output del archivo

    -----

    El problema seguro es que tienes un error pero nunca te enteras porque defines un

    Catch ex As Exception
    
    End Try

    sin siquiera mostrar nada, quita ese try.. catch vacio

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 28 de septiembre de 2016 21:24
  • Es que a esos bloques try, los uso en el debug.
    reemplace el response.end() por HttpContext.Current.ApplicationInstance.CompleteRequest()
    no da error en ninguna parte. Puede que sea por algo externo, por ejemplo panel updates?
    miércoles, 28 de septiembre de 2016 22:05