Buen día,
La generación del pdf directamente del cuadro, salia correctamente con el ícono superior del mismo, pero dada la necesidad de personalizar los reportes, con encabezados, extendí el mismo y a partir de esto, los contenidos del cuadro que salían bien, ya me salen con caracteres extraños donde corresponde a las ñ y tildes,
Gracias por ayuda de lo que puede estar pasando ?
Este es el código extendido del cuadro:
<?php
class extension_cuadro extends toba_ei_cuadro {
function vista_pdf(toba_vista_pdf $salida) {
$pdf = $salida->get_pdf();
$pdf->Cezpdf('a4','portrait'); //Cezpdf($paper='a4',$orientation='portrait') landscape
$pdf->ezSetMargins(90, 40, 30, 30); //top, bottom, left, right
$salida->titulo($this->get_nombre());
$formato = htmlentities(' Pág. {PAGENUM} de {TOTALPAGENUM}');
$pdf->ezStartPageNumbers(500, 20, 8, 'right', $formato, 1); //x, y, size, pos, texto, pagina inicio
//Invoco la salida pdf original del cuadro
parent::vista_pdf($salida);
//Encabezado
foreach ($pdf->ezPages as $pageNum=>$id){
$pdf->reopenObject($id);
$imagen = toba::proyecto()->get_path().'/www/img/logo_reportes.png';
$pdf->addPngFromFile($imagen, 30, 780, 141, 45); //imagen, x, y, ancho, alto
$pdf->ezSetY(780);
//$cabecera = htmlspecialchars ('Impresión: ').date('Y-m-d H:m:s');
$cabecera = ('Impresión: ').date('Y-m-d H:m:s');
$pdf->ezText($cabecera);
$pdf->ezSetY(770);
$datos = toba::memoria()->get_dato_instancia ('datos_filtro');
$cabecera = 'Desde: '.$datos['fecha_desde'].' a '.$datos['fecha_hasta'];
$pdf->ezText($cabecera);
$pdf->closeObject();
}
}
}
?>
htmlentities es para tratar de que muestre los caracteres con tilde, en este caso Pág., que son líneas independientes.
Igual se quitaron, pero la preocupación es por que el contenido del cuadro al mostrar el PDF y pasando por la extensión que estamos personalisando daña el formato.
Si NO lo extendemos el PDF sale bien; de que otra forma podría personalizar los PDF para agregar los encabezados ??
segun veo… parece que reinicializas el objeto de salida y luego vas alternando entre accesos via la API de toba y la de Ezpdf, estaria bueno si podes unificar eso asi va a ser mas sencillo de debuggear.
lo que podrias hacer, es setearle el tamaño a toba_vista_pdf y luego llamar al metodo “inicializar” de dicha clase, de ese modo se mantendrian las acciones basicas que realiza toba.
Fijate la documentacion del metodo set_papel_tamanio