Hola a todos/as, el motivo de mi consulta es saber si se puede generar un PDF usando una clase que sea distinta a la que viene por defecto con Toba (ezpdf), yo lo que quería hacer es usar la clase Html2Pdf la cual genera un PDF a travez de código html.
Yo tengo un componente ei_cuadro, el cual selecciono los items con un evento “seleccion”, si elijo en “vista_pdf”, genero una clase en el CI y ahi pongo el código para generarlo, pero me lo genera vacio por lo que pienso que no me esta tomando la clase html2pdf y si la ezpdf, por el contrario si elijo “generar_html” y pongo el código en la clase del CI directamente no me deja entrar a la aplicación ya que me tira un error de header… la pregunta es si es posible generar pdfs con otra clase que no sea la ezpdf, y en el caso de que si, que es lo que estoy haciendo mal??
El codigo que estoy usando para generar el PDF es el siguiente (y deberia generar todo lo que sale por pantalla desde el ob_start() hasta el ob_get_contents(), en este caso un PDF con la palabra “prueba”):
en principio la salida_pdf esta pensada para ser usada como una libreria y no como un conversor, asi que la exportacion de los distintos componentes esta pensada alrededor de llamadas a una API que va generando el pdf, dicho de otra manera, los metodos vista_pdf no generan html.
En tu caso creo que lo que te convendria es declarar un servicio para el CI y luego dispararlo mediante un boton.
De dicha manera vas a poder recuperar la salida html del componente que quieras y pasarselo al conversor, tene en cuenta que los headers se envian muy temprano en el pedido de pagina, asi que vas a tener que configurar la operacion para que retrase su envio.
Richard: gracias por la respuesta, por lo que entendi creo que eso es lo que hice en un momento excepto que no retrase el envio de los headers, este es el evento:
para retrasar el envio de headers activas una casilla en el editor del item (Imagen1).
Con respecto al evento, pareciera que lo estas definiendo dentro de un cuadro, yo lo definiria a nivel del Ci, de manera que abarque todos los componentes que quieras en la pantalla. (Imagen2)
Richard, perdon por la tardanza de la respuesta… te cuento que al final lo pude resolver este tema de la forma que me explicaste y con un poco de la ayuda de los chicos del curso… la solución es crear un servicio como lo indicaste y invocarlo desde el CI de la siguiente forma: servicio__[NOMBRE_SERVICIO] (ahi estaba mi error, no le ponía el prefijo “servicio__” y por lo tanto no me lo encontraba). De esta forma me genera un popup limpio (sin enviar ningún encabezado) y en el cual puedo enviar los headers de la clase PDF sin problemas. Aparentemente el tildar la opción de retrazar el envio de encabezado no influye al momento de la generación.