PDF字体 - .afm文件“bad / BBox”错误

时间:2011-12-12 06:18:05

标签: pdf fonts pdf-generation

我正在使用R& OS PDF类(http://www.ros.co.nz/pdf)在PHP中创建PDF文件,试图在输出中添加更多字体。它需要一个TTF文件和一个AFM文件作为指标,但我无法解决这篇文章中提到的“bad / BBox”错误:Generating .afm from .ttf

起初我以为我没有使用正确制作的ttf文件,但我尝试转换一些我知道合法的字体(Arial)并且我仍然得到错误,所以现在我认为它必须是AFM转换。

上面的Stack帖子引用http://fpdf.fruit-lab.de/作为一个很好的转换工具 - 也许我只是使用了错误的映射? PDF是否有特定的地图格式?

1 个答案:

答案 0 :(得分:3)

我使用dompdf http://code.google.com/p/dompdf/遇到了同样的问题,它使用R& OS PDF Class进行渲染,所以这可能对你有帮助。

如果您有.ttf字体,请跳至第2步。

  1. 将您的字体上传到http://www.files-conversion.com/font-converter.php(注意:此网站确实有.afm作为选项但输出文件为3mb而不是水果实验室的39kb)选择.ttf并保存。
  2. 将.ttf上传到http://fpdf.fruit-lab.de/并下载.afm文件。
  3. 将.ttf和.afm文件复制到您的字体目录,并确保它们的名称和大小写完全相同!
  4. 我遇到空格问题,所以我使用CamelCase,我的.ttf扩展名为大写,而我的.afm扩展名为小写。一旦我确定我在CamelCase中命名的.afm和.ttf没有空格和小写扩展它就可以了!

    这可能是dompdf特定的,然后我不得不更新dompdf_font_family_cache.dist.php并在数组中包含我的字体,如下所示:

    'testscript' => array (
        'normal' => DOMPDF_FONT_DIR . 'TestScript',
        'bold' => DOMPDF_FONT_DIR . 'TestScript',
        'italic' => DOMPDF_FONT_DIR . 'TestScript',
        'bold_italic' => DOMPDF_FONT_DIR . 'TestScript',
    )
    

    注意:我只想要一个版本的字体 - 不是粗体,斜体等所以我只是让它们都指向同一个字体文件。