2012-01-14 522 views
6

¿Alguien puede decirme qué estoy haciendo mal? Necesito fuente Arial en mi pdf generado por TCPDF. Primero traté de usar eso: 1) Obtuve Arial de las fuentes de Windows caltalog y las puse en el directorio TCPDF. 2) A continuación me escribió en la escritura:Fuentes específicas en TCPDF pdf

$fontname = $pdf->addTTFfont('../lib/tcpdf/arial.ttf', '', '', 32); 

Después de que en TCPDF/fuentes aparece 3 archivos (arial.ctg.z, arial.php y arial.z). Pensé que todo estaba bien, pero si en TCPDF i utilizar esta fuente por:

$pdf->SetFont('arial', '', 16); 

fuente en el documento es de hecho Arial pero sin esmalte específica canta (ąęłżńź)

He intentado también preparar por sí mismo la fuente : he descargado ttf2afm y el guión makefontuni.php continuación, en la línea de comandos que escribí esto:

ttf2ufm -a arial.ttf 
php -q makefontuni.php arial.ttf arial.ufm 

que mandarme dio también 3 archivos (arial.ctg.z, arial.php y arial.z) pero situación final es lo mismo que antes

He admiten que todos los datos de escritura a PDF es en UTF-8 y construcción TCPDF es así:

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

No sé lo que estoy haciendo mal. :(

Respuesta

3

No hay necesidad de añadir cualquier tipo de letra, utilice el Dejavu sin fuente que tiene todos los caracteres UTF-8 incorporado y el TCPDF tiene ya ..

$pdf->SetFont('dejavusans', '', 14, '', true); 

http://www.tcpdf.org/examples/example_001.phps

+2

Sí, tienes razón, pero necesito la fuente Arial no dejavusans y aquí está el problema – Karol85

+0

@Miro Markaravanes: Funciona con caracteres especiales pero no muestra el efecto negrita. –

0

Hm , ¿está seguro de que su Arial tiene todos los caracteres UTF-8? Seguí las instrucciones aquí http://www.tcpdf.org/fonts.php y funcionó. Lo que tuve problemas fue que solo pude agregar la Fuente Regular, tan pronto como agregué negrita o cursiva y luego cambié el uno del otro, todos los personajes convertidos en puntos.

Por el momento solo estoy usando mi fuente Regular y para Bold uso 'dejavusans' (gracias a Miro). Mi código:

$fontname = $pdf->addTTFfont('/lib/tcpdf/fonts/myfont-Regular.ttf','TrueTypeUnicode',''); 
$pdf->SetFont($fontname, '', 8, '', true); 
13

Si desea utilizar una fuente personalizada utilice esta herramienta

http://www.xml-convert.com/en/convert-tff-font-to-afm-pfa-fpdf-tcpdf

cuando llegue a los archivos generados simplemente moverlos al directorio/fuentes y con el mismo nombre tienen, establezca el atributo de nombre de fuente.

+0

¡Gracias por esto! – Mati

+0

Solo quiero agregar que se deben agregar 2 archivos en la biblioteca .php y .z – mujaffars

+0

Wow. Funciona mejor que 'TCPDF_FONTS :: addTTFfont'. Traté de usar addTTFfont, pero la fuente no funcionó. Cuando sustituí los archivos .z y .php de mi fuente, funciona. –

0

que tenían el mismo error que yo era capaz de fijo que poner el siguiente, después de la línea:

$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); $fontname = $pdf->addTTFfont('tcpdf/fonts/arial.ttf', '', '', 32); $pdf->SetFont('arial', '', 16);

0

Creo que le ayudará a solucionar el problema del carácter.

$pdf->SetFont('freeserif', '', 12); 

Above font-family que admite los caracteres UTF-8.

1
$fontname = TCPDF_FONTS::addTTFfont(FCPATH.'/assets/css/fonts/arial-unicode-ms.ttf'); 

Esto es lo que uso para incluir una fuente personalizada a TCPDF. Solo necesita el archivo .ttf de la fuente. Agréguelo en la carpeta que elija en el servidor y ejecute este código una vez. (Lo ejecuto por primera vez en la exportación) Entonces puede comentar esta fila y la fuente estaría allí.

Con el fin de agregarlo al exportador debe añadirlo como fuente con:

$pdf->addFont('your-font-name', '', 10, '', false); 

Y si usted quiere que sea por defecto:

$pdf->setFont('your-font-name', '', 10, '', false); 

Si usted no sabe lo es el nombre real de la fuente a utilizar en PDF:

echo $fontname; 

Esto le daría el nombre específico de la fuente a utilizar en el archivo exportado

Después de ejecutar ese comando una vez que TCPDF crea todo el archivo necesario en su carpeta de fuentes y está listo para usar a partir de ahora.

Si desea volver a agregar la misma fuente (modificada), debe eliminar los archivos de fuente en tcpdf/fonts/your-font-name. y ejecute este comando nuevamente para volver a agregarlos.

Cuestiones relacionadas