2012-09-02 51 views
1

XPDFs pdftotext將pdf轉換爲文本並在命令行級輸出。如果需要它插入頁之間PageBreaks在TextOutputDev.cc規定:PHP以Unicode字符作爲分隔符爆炸

eopLen = uMap->mapUnicode(0x0c, eop, sizeof(eop)); 

這Unicode的符號編碼獨立,-enc ASCII7不會改變它。我目前願意使用PHP將PDF文件轉換和分割爲多個用於數據庫存儲的TXT頁面。但是,以下功能確實有效,但一次轉換整個PDF需要兩倍的時間。

for($i = 1; $i <= $pages[0]; $i++) 
    $page[$i] = shell_exec('/usr/bin/pdftotext sample.pdf -f '.$i.' -l '.$i.' -'); 

我該如何將explode(0x0c, $wholePDF)與一個Unicode字符作爲分隔符?目前,頁面[$ i]似乎沒有從shell_exec()中檢索那些奇怪的Unicode PageBreak字符。我嘗試了幾種編碼頭(特別是UTF-8),但到目前爲止還沒有成功。

回答

4

0x0c是ASCII字符(即範圍0-127),因此在UTF -8編碼它被表示爲它自己,而不是一個多字節序列。你應該能夠explode(chr(0x0c), $wholePDF)

+0

工程就像一個魅力。基準測試的速度比我的第一種方法快1.8倍。謝謝。 – Roger