2

我正在尝试使用纯 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 文件)。

谢谢你的支持 ;)

4

0 回答 0