2011-12-12 77 views
0

我正在使用R & OS PDF類(http://www.ros.co.nz/pdf)在PHP中創建PDF文件,嘗試向輸出中添加更多字體。它需要一個TTF文件和一個AFM文件作爲指標,但我無法避開本文提到的「bad/BBox」錯誤:Generating .afm from .ttfPDF字體 - .afm文件「bad/BBox」錯誤

起初我以爲是我不是使用正確的ttf文件,但我試過轉換一些字體,我知道是合法的(宋體),我仍然得到錯誤,所以現在我認爲它必須是AFM轉換。

上面的堆棧帖子是指http://fpdf.fruit-lab.de/作爲一個很好的轉換工具 - 也許我只是使用錯誤的映射? PDF是否有特定的地圖格式?

回答

2

我遇到了同樣的問題,使用dompdf http://code.google.com/p/dompdf/,它使用R & OS PDF類來渲染,所以這可能會幫助你。

如果你有一個名爲.ttf字體跳到步驟2

  1. 上傳字體http://www.files-conversion.com/font-converter.php(注:該網站確實有.afm作爲一個選項,但輸出的文件是3MB VS從水果 - 39KB實驗室)選擇.ttf並保存。
  2. 將您的.ttf上傳至http://fpdf.fruit-lab.de/並下載.afm文件。
  3. 將.ttf和.afm文件複製到您的字體目錄並確保它們完全相同的名稱和大小寫!

我對空格有問題,所以我使用了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', 
) 

注:我只是想字體的一個版本 - 不大膽,斜體等,所以我只是讓他們都指向相同的字體文件。

+0

謝謝,這聽起來像一個很好的工具 –