Ошибка FPDF: не может содержать метрический файл шрифта

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

Когда создается отчет в формате 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. Не имеет прав доступа для файлов шрифтов.

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

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

определить ( 'FPDF_FONTPATH', 'класс / fpdf_font /');

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

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

Как только zip-файл будет извлечен, вы увидите структуру каталогов, как показано ниже.

введите описание изображения здесь

и вставьте приведенный ниже код в файл 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(); ?> 

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

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

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

если вы используете внешний класс, который расширяет 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(); 

он будет отлично работать …

благодаря

извините за ошибки на английском языке …