2016-08-09 32 views
0

我使用PDFLib創建PDF文件,但不幸的是,我似乎無法讓它能夠使用格魯吉亞文件。除了那個之外,我幾乎可以使用任何其他字體。在Mac上使用PDFLib格魯吉亞字體(El Capitan)

我已經嘗試加載文件,以及更改搜索路徑,它似乎仍然不工作。我到目前爲止所嘗試的:

$searchPath = "/Library/Fonts"; 
$p->set_option("searchpath= {" . $searchPath . "}"); 
$scoreFont = $p->load_font("Georgia", "unicode", ""); 
if ($scoreFont == 0){ 
    die("Error: " . $p->get_errmsg()); 
} 

每當我包括這個,它給了我一個「頁面無法正常工作」的錯誤。

我不確定它是否相關,但我看到Library/Font目錄中的Georgia.ttf文件,但沒有看到System/Library/Font目錄中的Georgia.ttf文件。任何人有任何這個問題的經驗?任何幫助將不勝感激。

預先感謝您!

編輯

我檢查了我的Apache日誌,我看到有一個錯誤,列爲:

Tue Aug 09 11:23:48 2016] [notice] child pid 11501 exit signal Segmentation fault (11) 

另外,我查了PDFLib來的日誌文件,我看到:

PDF_load_font[---------------------------------------------------------------- --------------] 
[ PDFlib 9.0.5 PHP5 binding on Mac OS X-10.6 64 (le) 2016-08-09 11:23:48  ] 
[ Classes: api=1 warning=1              ] 
[ Enter in vi to compile it:             ] 
[ %s/)$/);/g and %s/"(NULL)"/NULL/g and %s/\[[^]]*\]//g    ] 
[ Program should run on a little-endian platform        ] 
[------------------------------------------------------------------------------] 

PDF_set_option(p_0x1097619a8, "searchpath= {/Library/Fonts}") 
[New category:resource "SearchPath:/usr/local/PDFlib"] 
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib"] 
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0"] 
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/cmap"] 
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/codelist"] 
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/fonts"] 
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/glyphlst"] 
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/icc"] 
[New category:resource "SearchPath:/Users/{username}/PDFlib"] 
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib"] 
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0"] 
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/cmap"] 
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/codelist"] 
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/fonts"] 
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/glyphlst"] 
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/icc"] 
[New category:resource "SearchPath:/Library/Fonts"] 

我不確定這些條目究竟是什麼意思。在PDFLib日誌中,最後一個實際存在的唯一目錄是/ Library/Fonts。並且在該目錄中是Georgia.ttf文件。

任何想法?

謝謝!

回答

1

使用上面的代碼和OSX上的當前PDFlib 9.0.7進行快速測試可以正常工作。因此,檢查Web服務器/ PHP的錯誤日誌文件可能是個好主意。也許你的web服務器不會正確地給出die()的消息。

當你沒有看到在Web服務器日誌文件的任何錯誤的原因,則可能啓用的PDFlib記錄,

$p->set_option("logging {filename {/tmp/PDFlib.log}}"); 

作爲第一個電話的PDFlib。那麼你應該看到,那裏,如果load_font()失敗(0)和可能的錯誤信息。

編輯:感謝您分享您日誌文件中的更多細節。條目

Tue Aug 09 11:23:48 2016] [notice] child pid 11501 exit signal Segmentation fault (11) 

可能是與Mac和PHP和Web服務器結合的HostFont問題的指示。你能禁用hostfont支持嗎?在PDFlib PHP樣本中,此通話被註釋掉,所以可以簡單地啓用通話:

/* Enable the following line if you experience crashes on OS X 
    * (see PDFlib-in-PHP-HowTo.pdf for details): 
    */ 
    $p->set_option("usehostfonts=false"); 
+0

感謝您的幫助。我編輯了我的上述問題,以便在再次運行錯誤後添加這些日誌的內容。他們可能告訴我的任何想法? – jldavis76

+0

你,先生,是個天才!十分感謝你的幫助! – jldavis76