首页 > 解决方案 > TCPDF dejavusans 字体问题 - 无法打开带有文本的文件

问题描述

我在我的CakePHP 3项目中工作,我正在使用运行良好的TCPDF ( https://github.com/tecnickcom/tc-lib-pdf ) 库。但是,当我使用下面的字体时,它正在打开 PDF 文件,但根本没有显示文本。这是我正在使用的字体。

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

这是我的文件的打开方式。

在此处输入图像描述

但如果我评论上面的行,它的工作绝对没问题。

在此处输入图像描述

我也尝试使用下面的代码来使其工作。

$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);

但以上选项都不适合我。我还检查了我的字体是否存在,它似乎在那里,但我不确定它是否已损坏。这是我的字体位于我的项目目录中。

在此处输入图像描述

我还检查了我的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,在[/var/www/html/中有0 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,在[/var/www/html/中有0 ouvar-web-app/vendor/tecnickcom/tcpdf/include/tcpdf_static.php,第 1974 行]

我已经将调试模式设置为 false。然而它给了我以上错误。

'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,examplesinclude。但它不起作用。给我和以前一样的错误。

标签: phpfontscakephp-3.0tcpdf

解决方案


推荐阅读