Sv Community El Salvador
Soporte y Tecnología => Programación => Scripts => Mensaje iniciado por: zyuk en junio 10, 2014, 01:35:17 pm
-
Hola a todos!
Tengo una aplicacion hecha en php, y utilizo la clase ezpdf para exportar reportes a pdf. El problema que tengo es que una de las columnas del reporte contiene textos un poco largos, y esto hace que el ancho de la columna en el pdf se agrande y se adapte al largo del texto, y muchas veces esto genera que la tabla sea mas ancha que el ancho de la hoja.
Supuestamente la clase ezpdf te permite establecer un ancho fijo para la tabla y atambien para cada columna, pero no me funciona. Le pongo un ancho fijo a cada columna, y es como si no pusiera nada, me sigue adaptando el ancho al texto que contiene.
Basicamente lo tengo hecho asi:
$titles = array(
'fecha_factura'=>'Fecha',
'nombre_factura'=>'Nombre Factura',
'numero_factura'=>'Nro. Factura',
'cuit'=>'CUIT',
'monto'=>'Monto',
'cuenta'=>'Cuenta Contable',
'cuenta2'=>'Cuenta 2',
'observaciones'=>'Observaciones'
);
$options = array(
'shadeCol'=>array(0.9,0.9,0.9),
'xOrientation'=>'center',
'width' => 952,
'maxWidth'=> 1008,
'fontSize' => 6,
'titleFontSize' => 10,
'cols'=>array(
"fecha_factura" => array('justification'=>'left', 'width' => 119),
"nombre_factura" => array('justification'=>'left', 'width' => 119),
"numero_factura" => array('justification'=>'left', 'width' => 119),
"cuit" => array('justification'=>'left', 'width' => 119),
"monto" => array('justification'=>'left', 'width' => 119),
"cuenta" => array('justification'=>'left', 'width' => 119),
"cuenta2" => array('justification'=>'left', 'width' => 119),
"observaciones" => array('justification'=>'left', 'width' => 119)
)
);
Por favor, alguien me puede ayudar? Hay algo que me falte o que este haciendo mal?
-
No es por nada pero no saldria mas facil hacerlo con otra libreria ?? digo yo cambie de ezpdf a DOMPDF porq es muchooo mas facil hacer los reportes, ademas quedan mejor los reportes. :thumbsup:
-
Es extraño porque la unica diferencia entre lo tuyo y esto http://www.webestilo.com/foros/mensaje.phtml?foro=3&msg=63409 (http://www.webestilo.com/foros/mensaje.phtml?foro=3&msg=63409) es que el ancho de columnas lo ponen ellos como String y tu como Integer (comillas vs sin comillas).
Y si pones width => 5 tampoco te cambia nada?, no será que 119 ya es mas de la cuenta?
Y lo mas importante, mira el prototipo de la función ezTable: ezTable($data, $titles, '', $options) - no será que estas poniendo $options como 3er parámetro en lugar de 4to?.
Este es el prototipo de esa función:
http://pubsvn.ez.no/doxygen/4.0/html/classeZPDFTable.html#a73e5e4628cdb9ec9a700b518bbf6c9ad (http://pubsvn.ez.no/doxygen/4.0/html/classeZPDFTable.html#a73e5e4628cdb9ec9a700b518bbf6c9ad)
eZPDFTable::ezTable (& $data, $cols = '', $title = '', $options = '' )
-
Gracias por las respuestas! Lamentablemente aun no logro solucionarlo. El parametro de $options lo estoy poniendo en cuarto lugar como corresponde, y he probado poniendo el ancho con y sin comillas, y tambien probe valores bien chicos, pero no pasa nada... Si se les ocurre algo mas, por favor avisen.
-
Yo tuve el mismo problema, al final me cambie de libreria a http://www.tcpdf.org/
-
Gracias por las respuestas! Lamentablemente aun no logro solucionarlo. El parametro de $options lo estoy poniendo en cuarto lugar como corresponde, y he probado poniendo el ancho con y sin comillas, y tambien probe valores bien chicos, pero no pasa nada... Si se les ocurre algo mas, por favor avisen.
siii.... se me ocurre que podrías considerar oportuna y muy importante la primer respuesta, la propuesta de ELITE en usar otra libreria
-
siii.... se me ocurre que podrías considerar oportuna y muy importante la primer respuesta, la propuesta de ELITE en usar otra libreria
Mas aun el hecho que con otras librerias es mas facil :phew:
Creeme yo igual la pense mucho al cambiar ezpdf pero cuando vi lo facil que es DOMPDF bueno pues :wub:
-
Bueno, voy a seguir sus consejos y cambiar a otra libreria. Voy a investigar DOMPDF... Muchas gracias a todos!!!
-
Gente, tal como me recomendaron, estoy implementando DOMPDF. Con esta libreria pude solucionar el problema que tenia antes, pero ahora tengo un nuevo problema. Mi html basicamente es un reporte, una tabla con varias filas. El problema es que cuando hay muchas filas, el pdf se genera con varias paginas, pero los titulos de las columnas no se repiten en cada pagina. Alguien sabe como puedo lograr eso?
-
pone una condicion que cada x numero de filas se repita la cabecera.
-
Pense en esa opcion, pero no me convence, ya que dependiendo del alto que tomen algunas filas (por la cantidad de texto), me podrian quedar 2 veces los titulos en una misma pagina.
La libreria no tiene alguna opcion de configuracion o algun parametro para que lo haga automaticamente?
-
no hace falta que tengas dos temas, borra el otro.
-
Puse el otro porque este hace referencia a la libreria ezpdf en el titulo, pero ahora necesito ayuda con DOMPDF... Me parecio que crear un nuevo tema era lo mejor. Lo borro igual?
-
Puse el otro porque este hace referencia a la libreria ezpdf en el titulo, pero ahora necesito ayuda con DOMPDF... Me parecio que crear un nuevo tema era lo mejor. Lo borro igual?
Tu no lo puedes borrar, asi dejalo que luego le daran matacan !!!!