none
Problema con reporte RRS feed

  • Pregunta

  • utilizo itextsharp para generar reportes en formato pdf, todo genera correctamente, pero cuando el sistema lo subo al IIS (Windows 7) y hago click en el boton de generar reporte no pasa nada, no genera nada ni laza error ni nada de nada, es solo como si presionara en un boton que no tiene código en su evento, alguien sabe porque es eso?

    Roy Sillerico

    martes, 3 de junio de 2014 19:27

Respuestas

  • Ahora si me muestra en el servidor

    como en el servidor si estas enviando el pdf al cliente

    el problema me parece es la integracion de la aplicacion Acrobar con el Browser

    deberias descargar el pdf y no integrarlo con el browser

    ademas estas usando IE, porque este se deberia integrar correctamente, con otros como ser FireFox o Chrome no creo que puedas verlo integrado

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 3 de junio de 2014 21:32
  • al final lo solucione googleando un poco con la siguiente función

            public void descargarReporte(string nombreArchivo)
            {
                try
                {       
                    Response.Clear();
                    Response.ContentType = "application/pdf";
                    Response.AddHeader("Content-Disposition", "attachment; filename=reporte");
                    Response.WriteFile(nombreArchivo);
                    Response.End();
                }
                catch (Exception ex)
                {
                    Response.Write("<script>alert('Ocurrio un error inesperado al generar su reporte. " + ex.Message + "');window.location.href = 'reposicionGarrafas.aspx';</script>");
                }
            }

    De todas maneras muchas gracias por la ayuda Leandro.


    Roy Sillerico

    miércoles, 4 de junio de 2014 13:45

Todas las respuestas

  • Básicamente este es el código que genera el reporte:

                    string nombreArchivo = Path.GetTempPath() + Guid.NewGuid().ToString() + ".pdf";
                    Document documento = new Document(PageSize.LETTER.Rotate(), 50, 50, 30, 30);
                    PdfWriter.GetInstance(documento, new FileStream(nombreArchivo, FileMode.Create));
                    documento.Open();
    
    documento.Add(new Paragraph("TODO EL CONTENIDO EN TEXTO", FontFactory.GetFont("Arial", 1)));
    
                    documento.Close();
                    Process proceso = new Process();
                    proceso.StartInfo.FileName = nombreArchivo;
                    proceso.Start();

    Alguien que pueda hecharme una mano por fa


    Roy Sillerico

    martes, 3 de junio de 2014 19:46
  • hola

    no puedes usar el Process en un ambiente web porque este se ejecutara en el servidor

    tienes que enviar el pdf en el Response al cliente para que sea descargado

    Como abrir un archivo pdf desde el servidor?(c#)

    como veras usas el Response.WriteFile() para enviar el archivo al cliente

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 3 de junio de 2014 20:06
  • Leandro muchas gracias, cambie las ultimas tres lineas de código por este

    Response.WriteFile(nombreArchivo);

    Ahora si me muestra en el servidor, pero ya tengo otro problemilla al momento de visualizar el pdf, me sale un mensaje  del SO asi

    Una ayuda con eso  mas por fa, como dije genera el archivo, y en el instante que se visualiza aparece el primer cuadro y al dar aceptar aparece el segundo cuadro


    Roy Sillerico

    martes, 3 de junio de 2014 20:35
  • Ahora si me muestra en el servidor

    como en el servidor si estas enviando el pdf al cliente

    el problema me parece es la integracion de la aplicacion Acrobar con el Browser

    deberias descargar el pdf y no integrarlo con el browser

    ademas estas usando IE, porque este se deberia integrar correctamente, con otros como ser FireFox o Chrome no creo que puedas verlo integrado

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 3 de junio de 2014 21:32
  • Por fa me podrías facilitar el código para que el pdf se descargue como dices.

    Roy Sillerico

    martes, 3 de junio de 2014 23:03
  • y si estoy utilizando IE, porque con chrome por ejemplo me da pura basura como esta:



    Roy Sillerico

    martes, 3 de junio de 2014 23:09
  • al final lo solucione googleando un poco con la siguiente función

            public void descargarReporte(string nombreArchivo)
            {
                try
                {       
                    Response.Clear();
                    Response.ContentType = "application/pdf";
                    Response.AddHeader("Content-Disposition", "attachment; filename=reporte");
                    Response.WriteFile(nombreArchivo);
                    Response.End();
                }
                catch (Exception ex)
                {
                    Response.Write("<script>alert('Ocurrio un error inesperado al generar su reporte. " + ex.Message + "');window.location.href = 'reposicionGarrafas.aspx';</script>");
                }
            }

    De todas maneras muchas gracias por la ayuda Leandro.


    Roy Sillerico

    miércoles, 4 de junio de 2014 13:45