我正在尝试使用纯 PHP 将 PDF 文件解析为纯文本(字符串),因为我无法访问我正在处理的服务器拒绝的 exec 或 system 或其他函数。
我在网上找到的功能无法解析那些PDF文件。
这是我从 echo file_get_contents("file.pdf"); 中得到的。
%PDF-1.4 5 0 obj << /Type /XObject /Subtype /Image /Filter /DCTDecode /Length 6536 /Width 200 /Height 125 /BitsPerComponent 8 /ColorSpace /DeviceRGB >> stream ÿØÿàJFIFÿÛC %# , #&')*)-0-(0%()(ÿÛC ((((
然后是所有内容。所以这是一个 PDF 1.4 5 0。
这是我用于 PDF 1.2-1.3 的功能(不适用于这些文件):
function decomprimiPDF($pdfdata) {
if (strlen ($pdfdata) < 1000 && file_exists ($pdfdata))
$pdfdata = file_get_contents ($pdfdata);
$result = '';
if (preg_match_all ('/<<[^>]*FlateDecode[^>]*>>\s*stream(.+)endstream/Uis', $pdfdata, $m))
foreach ($m[1] as $chunk) {
$chunk = gzuncompress(ltrim ($chunk));
$a = preg_match_all ('/\[([^\]]+)\]/', $chunk, $m2) ? $m2[1] : array ($chunk);
foreach ($a as $subchunk) {
if (preg_match_all ('/\(([^\)]+)\)/', $subchunk, $m3)) {
$result .= (join ('', $m3[1]) . '*');
}
}
}
这里的任何人都可以帮助我使用 PHP 中的函数(我重复一遍,我尝试了几乎所有已经在线的函数,还有一些类,但它们不适用于我正在谈论的 PDF 文件)。
谢谢你的支持 ;)