2011-06-29 12 views
9

Mam aplikację, która została wykonana przez kogoś innego, a teraz proszę o sprawdzenie jednego problemu.Błąd FPDF: nie można uwzględnić metryki fontów

Po wygenerowaniu raportu PDF, generuje błąd. Ta aplikacja wykorzystuje FPDF do generowania PDF

FPDF error: Could not include font metric file 

Wcześniej rzuca następujący błąd

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 

ten został rozwiązany poprzez uwzględnienie folder czcionek z helveticab.php i innych plików php związane z innymi czcionkami

Błąd błędu FPDF: nie można jeszcze uwzględnić metryki fontów. Na przeszukiwania sieci możliwe przyczyny były

  1. katalog czcionek brakuje

  2. Doesnt mieć uprawnienia dostępu do plików czcionek.

Nie jestem pewien, jakie pozwolenie należy nadać folderowi czcionki lub plikom w folderze. Każda pomoc w tym zakresie byłaby bardzo pomocna.

+1

samo dla mnie .. jakieś rozwiązanie? – enloz

Odpowiedz

10

Miałem ten sam problem. Problem polegał na tym, że ścieżka była niepoprawna dla folderu zawierającego wszystkie czcionki. Dodałem więc zaktualizowany następujący wiersz w pliku PHP, aby odzwierciedlić poprawną ścieżkę do folderu z wszystkimi czcionkami.

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

Zatem sprawdź dokładnie ścieżkę zdefiniowaną w tym wierszu i powinna ona działać poprawnie.

+1

W Ubuntu 10.4 wymagane było zdefiniowanie: define ('FPDF_FONTPATH', '/ usr/share/php/fpdf/font /'); –

+0

W Debianie jest to również/usr/share/php/fpdf/font. I pamiętaj, jeśli nie, to dlatego, że nie zainstalowałeś php-fpdf;) –

5

wierzę już ekstrakcji FPDF plik ZIP na swoim komputerze lokalnym lub systemu

Raz, zip plik jest pobierany widać strukturę katalogów jak w poniższym obrazie

enter image description here

i wstaw poniższy kod w test.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(); 
?> 

teraz cieszyć

0

W moim przypadku używam Linux (Debian), miałem ten sam problem i katalogi były poprawne. Rozwiązałem dodawanie 777 uprawnień do katalogu/font. A teraz działa jak charm =)))

1

Mój problem polegał na tym, że ze względu na pobranie biblioteki fpdf ze strony, niektóre ze skryptów, które tam mają, używają czcionki Arial, ale ta czcionka specjalnie nie została dołączona do czcionek informator. Właśnie dodałem define('FPDF_FONTPATH','fpdf/font/'); ze względną ścieżką do katalogu fpdf i zmieniłem czcionkę na Courier i gotowe!

0

jeśli używasz klasę zewnętrzną, która rozciąga FPDF

jak nazwa pliku Custom_pdf.php

w tym pliku napisałeś kody cutom

require_once('fpdf.php') 


class Custom_PDF extends FPDF{ 
    ... 
} 

następnie włączone do listy kodowania jak

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

to jest problemem ...

więc bezpośrednio umieszczać kod w pliku, którego potrzebujesz:

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

to będzie działa poprawnie ...

Dzięki

żal angielskiej błędów ...

Powiązane problemy