Ошибка FPDF: не удалось включить файл метрики шрифта - PullRequest
9 голосов
/ 29 июня 2011

У меня есть приложение, которое было сделано кем-то другим, и теперь меня просят рассмотреть одну проблему.

Когда генерируется отчет в формате PDF, выдается ошибка. Это приложение использует FPDF для создания PDF

FPDF error: Could not include font metric file

Раньше выкидывал следующую ошибку

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

Эта проблема была решена путем включения папки шрифтов с helveticab.php и других файлов php, связанных с другими шрифтами

Но ошибка Ошибка FPDF: Не удалось включить файл метрики шрифта, все еще там. При поиске в сети возможные причины были

  1. отсутствует каталог шрифтов

  2. Нет прав доступа к файлам шрифтов.

Я не уверен, какое разрешение необходимо дать папке со шрифтами или файлам в папке. Любая помощь в этом отношении будет очень полезна.

Ответы [ 5 ]

10 голосов
/ 01 ноября 2011

У меня была такая же проблема.Проблема заключалась в том, что путь к папке со всеми шрифтами был неверным.Поэтому я добавил обновленную следующую строку в файл PHP, чтобы отобразить правильный путь к папке со всеми шрифтами.

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

Итак, дважды проверьте путь, который определяет эта строка, и он должен работать нормально.

5 голосов
/ 01 июня 2012

Я полагаю, что вы уже распаковали zip-файл fpdf на свой локальный хост или систему

После распаковки zip-файла вы увидите структуру каталогов, как показано на изображении ниже1007 * и вставьте следующий код в 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();
?>

Теперь наслаждайтесь

1 голос
/ 14 июня 2013

Моя проблема заключалась в том, что из-за загрузки библиотеки fpdf со страницы некоторые из имеющихся там скриптов используют шрифт Arial, но этот шрифт специально не был включен в каталог шрифтов.Я только добавил define('FPDF_FONTPATH','fpdf/font/'); с относительным путем к директории fpdf и изменил шрифт на Courier и готов!

0 голосов
/ 05 мая 2016

, если вы используете внешний класс, расширяющий FPDF

как имя файла Custom_pdf.php

в этом файле вы написали свои коды катом

require_once('fpdf.php')


class Custom_PDF extends FPDF{
   ...
}

тогда вы включили в свою кодировку как

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

это проблема ...

Таким образом, вы непосредственно помещаете код в нужный вам файл

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

все будет работать нормально ...

Спасибо

извините за английские ошибки ...

0 голосов
/ 03 июня 2013

В моем случае я использую Linux (Debian), у меня была та же проблема, и каталоги были правильными.Я решил добавить 777 разрешений в каталог / font.А теперь работает как шарм =)))

...