2011-06-29 26 views
9

Tengo una aplicación que fue hecha por otra persona y ahora se me pide que investigue un problema.Error de FPDF: no se pudo incluir el archivo de métrica de fuente

Cuando se genera un informe en PDF arroja un error. Esta aplicación utiliza FPDF para generar el PDF

FPDF error: Could not include font metric file 

Anteriormente se lanzaba el siguiente error

Warning: FPDF::include(helveticab.php) [function.FPDF-include]: failed to open stream: No such file or directory 
Warning: FPDF::include() [function.include]: Failed opening 'helveticab.php' for inclusion 
FPDF error: Could not include font metric file 

Esto se resolvió mediante la inclusión de una carpeta de fuentes con helveticab.php y otros archivos php en relación con otras fuentes

Pero el error Error FPDF: no se pudo incluir el archivo de métrica de fuente todavía está allí. En buscando en la red las posibles razones eran

  1. directorio fuente que falta

  2. imposible tener permisos de acceso para los archivos de fuentes.

No estoy seguro de qué permiso se debe dar a la carpeta de fuentes o a los archivos de la carpeta. Cualquier ayuda en este sentido sería de gran ayuda.

+1

mismo por mí .. alguna solución? – enloz

Respuesta

10

Tuve el mismo problema. El problema era que la ruta era incorrecta para la carpeta con todas las fuentes. Por lo tanto, agregué actualizado la siguiente línea en el archivo PHP para reflejar la ruta correcta a la carpeta con todas las fuentes.

define ('FPDF_FONTPATH', 'clase/fpdf_font /');

Por lo tanto, compruebe dos veces la ruta que define esta línea, y debería funcionar bien.

+1

En Ubuntu 10.4 la definición requerida era: define ('FPDF_FONTPATH', '/ usr/share/php/fpdf/font /'); –

+0

En Debian también es/usr/share/php/fpdf/font. Y recuerde, si no es así, es porque no instaló php-fpdf;) –

5

Me creer que ya haya extraído el archivo zip FPDF en su servidor local o un sistema

vez, archivo zip se extrae ves estructura de directorios como en la imagen abajo

enter image description here

e insertar el código de abajo en prueba.php

<?php 
define('FPDF_FONTPATH','font/'); 
//above line is import to define, otherwise it gives an error : Could not include font metric file 
require('fpdf.php'); 



$pdf = new FPDF(); 
$pdf->AddPage(); 
$pdf->SetFont('Arial','B',16); 
$pdf->Cell(40,10,'Hello World!'); 
$pdf->Output(); 
?> 

Ahora disfrutar de

0

En mi caso utilizo Linux (Debian), tuve el mismo problema y los directorios estaban correctos. Resolví agregar 777 permisos al directorio/font. Y ahora funciona como charm =)))

1

Mi problema era que, debido a la descarga de la biblioteca fpdf desde la página, algunas de las secuencias de comandos que tienen allí usan fuente Arial pero, esa fuente especialmente, no estaba incluida en las fuentes directorio. Acabo de agregar define('FPDF_FONTPATH','fpdf/font/'); con una ruta relativa al directorio fpdf y cambié la fuente a Courier y listo!

0

si está utilizando una clase externa que se extiende FPDF

como nombre de archivo Custom_pdf.php

en ese archivo que escribió sus códigos cutom

require_once('fpdf.php') 


class Custom_PDF extends FPDF{ 
    ... 
} 

entonces se incluyó en su codificación como

require_once('custom_pdf.php'); 
$pdf = new Custom_pdf(); 
$pdf->Write(); 
.... 
$pdf->output(); 

esto es un problema ...

Así se coloca directamente el código en el archivo que necesita

require_once('fpdf.php') 
class Custom_PDF extends FPDF{ 
.... 
} 
$pdf = new Custom_pdf(); 
$pdf->Write(); 
... 
$pdf->output(); 

lo hará funciona bien ...

Gracias

lo siento por los errores inglés ...

Cuestiones relacionadas