4

XPDFs pdftotext 将 pdf 转换为文本并在命令行级别输出。如果需要,它会在 TextOutputDev.cc 中指定的页面之间插入 PageBreaks:

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 字符作为分隔符?目前,page[$i] 似乎没有从 shell_exec() 中检索那些奇怪的 Unicode PageBreak 字符。我尝试了几个用于编码的标头(尤其是 UTF-8),但到目前为止还没有成功。

4

2 回答 2

7

0x0c是一个 ASCII 字符(即在 0-127 范围内),因此在 UTF-8 编码中它表示为自身而不是多字节序列。你应该能够explode(chr(0x0c), $wholePDF)

于 2012-09-02T09:42:07.923 回答
0

我猜你可以将它转换为另一种类型,然后使用符号来爆炸:

http://www.php.net/manual/en/ref.mbstring.php#74722

于 2012-09-02T09:39:22.697 回答