Saltar al contenido

Caracteres especiales en FPDF con PHP

Entiende el código bien previamente a usarlo a tu trabajo si tdeseas aportar algo puedes comentarlo.

Solución:

Resolví esto haciendo lo siguiente (pagesubtitle es el nombre del campo de texto en el formulario):

$reportSubtitle = stripslashes($_POST['pagesubtitle']);
$reportSubtitle = iconv('UTF-8', 'windows-1252', $reportSubtitle);

Luego imprímelo:

$pdf->Write (6, $reportSubtitle);

Esto eliminará las barras diagonales no deseadas que siguen a los apóstrofes, y también usará la función ‘iconv’ para imprimir caracteres especiales como ™

Todo lo anterior no funcionó para mí, pero conseguí que funcionara.

Me las arreglé para hacerlo “a la manera bárbara” simplemente traduciendo cada carácter extraño a su valor de URL. Luego, simplemente decodifique la URL y ¡listo!

function em($word) 

    $word = str_replace("@","%40",$word);
    $word = str_replace("`","%60",$word);
    $word = str_replace("¢","%A2",$word);
    $word = str_replace("£","%A3",$word);
    $word = str_replace("¥","%A5",$word);
    $word = str_replace("

Y por supuesto yo llamando a la función

$weirdword = "Días, Miércoles, Sábado,miércoles"; //Some spanish days
$weirdword = em($weirdword);
$weirdword = urldecode($weirdword);
echo $weirdword;

Dando salida:

Días Miércoles Sábado Miércoles

ninguna de las soluciones anteriores funcionó para mí, así que resolví el problema de esta manera:

$this->AddFont('Arial','','arial.php');
$this->SetFont('Arial','',12);
$this->Cell(0,5,iconv("UTF-8", "CP1250//TRANSLIT", $string),0,1,'L');

Antes de probar las líneas anteriores, haga lo siguiente:

Copie desde c:/Windows/Fonts/Arial.ttf a la carpeta /tutorial de FPDF.

Edita el contenido de makefont.php

require('../makefont/makefont.php');
MakeFont('arial.ttf','cp1250');

Ejecutar makefont.php

Copie los siguientes archivos a la carpeta /font de FPDF: arial.php arial.ttf arial.z

Finalmente, defina la “carpeta de fuentes”. Abra fpdf.php (archivo de la biblioteca principal) y agregue:

define('FPDF_FONTPATH','font');

El PDF funciona para mí con todos los caracteres especiales, creo que fue el problema en la fuente Arial en sí, que usa FPDF originalmente. También debería funcionar con otras fuentes, si son compatibles con sus caracteres. ¡Buena suerte!

Si te ha sido de ayuda nuestro artículo, sería de mucha ayuda si lo compartieras con otros programadores y nos ayudes a dar difusión a este contenido.

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



Utiliza Nuestro Buscador

Deja una respuesta

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