FPDF 错误:无法包含字体度量文件

Posted

技术标签:

【中文标题】FPDF 错误:无法包含字体度量文件【英文标题】:FPDF error: Could not include font metric file 【发布时间】:2011-09-25 03:31:48 【问题描述】:

我有一个由其他人完成的应用程序,现在我被要求调查一个问题。

生成 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 文件的字体文件夹来解决的

但错误 仍然存在。 在网上搜索可能的原因是

    字体目录丢失

    没有字体文件的访问权限。

我不确定需要对字体文件夹或文件夹中的文件授予什么权限。 在这方面的任何帮助都会有很大帮助。

【问题讨论】:

【参考方案1】:

我有同样的问题。问题是包含所有字体的文件夹的路径不正确。因此,我在 PHP 文件中添加了更新的以下行,以反映包含所有字体的文件夹的正确路径。

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

所以,仔细检查这条线定义的路径,它应该可以正常工作。

【讨论】:

在 Ubuntu 10.4 上,需要的定义是:define('FPDF_FONTPATH','/usr/share/php/fpdf/font/'); 在 Debian 上也是 /usr/share/php/fpdf/font。请记住,如果不是,那是因为您没有安装 php-fpdf ;)【参考方案2】:

我相信您已经将 fpdf zip 文件解压到您的本地主机或系统中

解压 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();
?>

现在享受

【讨论】:

【参考方案3】:

我的问题是,由于从页面下载 fpdf 库,他们那里的一些脚本使用 Arial 字体,但是,特别是该字体,不包含在字体目录中。我刚刚添加了 define('FPDF_FONTPATH','fpdf/font/'); 和 fpdf 目录的相对路径,并将字体更改为 Courier 并准备好了!

【讨论】:

【参考方案4】:

在我使用 Linux (Debian) 的情况下,我遇到了同样的问题,并且目录是正确的。我解决了向 /font 目录添加 777 权限的问题。现在它就像魅力一样工作 =)))

【讨论】:

【参考方案5】:

如果您使用的是扩展 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();

它会正常工作...

谢谢

抱歉英文错误...

【讨论】:

以上是关于FPDF 错误:无法包含字体度量文件的主要内容,如果未能解决你的问题,请参考以下文章

FPDF 错误:一些数据已经输出,无法发送 PDF 文件。尝试了一切,但没有任何帮助

如何消除 FPDF 中的这个错误?

FPDF 错误:一些数据已经输出,无法发送 PDF

我的 FPDF 在在线服务器上显示错误,但在 localhost 上一切正常

FPDF FPDM - 由于 PDFTK 导致的合并错误

python使用fpdf生成pdf文件:配置多种语言字体写入多种文字