Проблема шрифта TCPDF dejavusans - невозможно открыть файл с текстом - PullRequest
0 голосов
/ 13 марта 2019

Я работаю в своем CakePHP 3 проекте и использую библиотеку TCPDF (https://github.com/tecnickcom/tc-lib-pdf), которая работает нормально. Однако, когда я использую шрифт ниже, оноткрывает файл PDF, но тексты вообще не отображаются. Вот шрифт, который я использую.

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

А вот как открывается мой файл.

enter image description here

Но если я прокомментирую приведенную выше строку, она работает абсолютно нормально.

enter image description here

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

$pdf->addFont('dejavusans', 'B', 'dejavusansb.php');
$pdf->addFont('dejavusans', 'I', 'dejavusansi.php');
$pdf->addFont('dejavusans', '',  'dejavusans.php');
$pdf->setFont('dejavusans', '', 9);
$pdf->SetFont('dejavusans', '', 9,'', true);

Но ни один из вышеперечисленных вариантов не работает для меня. Я также проверил, существуют ли мои шрифты или нет, и кажется, что он есть, но, возможно, он поврежден. Я неконечно. Вот мои шрифты находятся в каталоге моего проекта.

enter image description here

Я также проверил мой файл error.log, и он выдает следующие ошибки:.

Предупреждение: Предупреждение (2): gzuncompress () [http://php.net/function.gzuncompress'>function.gzuncompress]: ошибка данных в [/ var / www / html / ouvar-web-app / vendor / tecnickcom / tcpdf / tcpdf.php, строка 8799]

Предупреждение: Предупреждение (2): unpack () [http://php.net/function.unpack'>function.unpack]: Тип N: недостаточно ввода, необходимо 4, иметь 0 в [/ var / www /html / ouvar-web-app / vendor / tecnickcom / tcpdf / include / tcpdf_static.php, строка 1974]

Предупреждение: предупреждение (2): gzuncompress () [http://php.net/function.gzuncompress'>function.gzuncompress]: ошибка данных в [/ var /www / html / ouvar-web-app / vendor / tecnickcom / tcpdf / tcpdf.php, строка 8799]

Предупреждение: предупреждение (2): unpack () [http://php.net/function.unpack'>function.unpack]: Тип N: недостаточно ввода,нужно 4, иметь 0 в [/var/www/html/ouvar-web-app/vendor/tecnickcom/tcpdf/include/tcpdf_static.php, строка 1974]

Я уже установил отладкурежим ложный.Тем не менее, это дает мне вышеуказанные ошибки.

'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN),

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

Может кто-нибудь подсказать мне, как я могу решить эту ошибку.

Обновление : у меня есть динамические данные, но даже если я укажу одну строку кода, чтобы открыть свой файл PDF, но это не работает.

$get_data = '<h1>test</h1>';

Если я прокомментирую шрифт dejavusans, то он работает нормально.

Обновление : Я также скачал библиотеку TDPDF, скопировал и заменил целую папку fonts в своем проекте.Но это не работает.

Я также изменил код SetFont с $pdf->SetFont('dejavusans', '', 8, '', true); на $pdf->SetFont('dejavusans', '', 14, '', true);.Но это не работает.

Обновление : Теперь я даже скопировал и заменил всю папку библиотеки tcpdf, в которую входят файлы и папки, такие как config, examples, include и т. Д.не работает.Выдает мне те же ошибки, что и раньше.

...