Чистое PHP-решение: PDF в обычный текст без exec()/system()

Я пытаюсь преобразовать PDF-файлы в обычный текст (строки) с помощью чистого PHP, потому что у меня нет доступа к exec, системе или другой функции, запрещенной сервером, над которым я работаю.

Эти файлы PDF не могут быть проанализированы функциями, которые я нашел в Интернете.

Это то, что я получаю от эха 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-файлами, о которых я говорю).

Спасибо за вашу поддержку ;)


person Community    schedule 14.07.2012    source источник