Caracteres extraños en la Ñ y tildes PDF

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(); } } } ?>

Hola

No tendrás algun problema de encoding con lo que le estás pasando al ezpdf?

Que le estés pasando un string iso-8859-1 y esté esperando un UTF-8?

Emilio

Hola Jhon,

te hago una consulta, para que estaria esta linea?


$formato = htmlentities(' Pág. {PAGENUM} de {TOTALPAGENUM}');

PDF no tiene un render HTML, esa funcion te va a estar convirtiendo los caracteres especiales a entidades por ejemplo:


Pág =  P&Atilde;g

Fijate, no se si sera la fuente del problema… pero es un ruido extra que no deberia estar ahi me parece.

Saludos

Richard, gracias por responder

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 ??

Saludos

Hola Jhon,

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.

Saludos

Richar, gracias por responder

Efectivamente, se soluciona quitando las líneas que reinician el pdf

//$pdf->Cezpdf(‘a4’,‘portrait’); //Con esta llamada al constructor estas reinicializando todo y cambiando algo que toba haya

Pero necesito cambiar el tipo de página que está por defecto, por donde lo podría hacer sin que me dañe la solución ??

Mil gracias

Hola Jhon,

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

Saludos