Saltar al contenido

TCPDF UTF-8. Los símbolos lituanos no aparecen

Luego de de esta prolongada compilación de información hemos podido resolver este rompecabezas que pueden tener muchos de nuestros lectores. Te regalamos la respuesta y deseamos que sea de gran ayuda.

Solución:

TCPDF es bastante complicado con utf8. La mejor manera de lograr lo que desea es incrustar la fuente en el archivo PDF generado. Puede usar la fuente freeserif del paquete TCPDF, contiene todos los símbolos utf8, muestra absolutamente cualquier carácter de cualquier idioma, pero agrega ~ 700 kb al archivo de salida. Esa es probablemente la forma más fácil de obtener los símbolos que necesita si el tamaño del archivo no importa.

También puede crear su propia fuente para incrustar, que contenga los caracteres que necesita. Esa es probablemente la mejor solución, mantenerlo universal y de tamaño pequeño, pero es más complejo.

Alternativamente, puede confiar en las fuentes principales, que se toman del sistema y, si no se encuentran, se reemplazan por un sustituto. Esto hace que el archivo de salida sea extremadamente liviano, pero agrega la necesidad de subconjuntos de fuentes para obtener caracteres exóticos. Personalmente, no he tenido éxito con esto, así que sigo pensando que incrustar fuentes es la mejor solución, que también resulta ser más universal.

Selecciona el $unicode parámetro en el constructor TCPDF para false y el $encoding parámetro a 'ISO-8859-1' o algún otro mapa de caracteres.

Esto te ayudara:

Predeterminado para Unicode UTF-8:

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

Ejemplo de constructor para juego de caracteres europeo:

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, false, 'ISO-8859-1', false);

hay una fuente incluida en las fuentes principales de CPDF: dejavusans, muestra todos los caracteres lituanos. Solo agrega lo siguiente:

$pdf->setHeaderFont(Array('dejavusans', '', 10, '', false));
$pdf->setFooterFont(Array('dejavusans', '', 8, '', false));
$pdf->SetFont('dejavusans', '', 10, '', false);

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *