2

私が取り組んでいるサーバーによって拒否された exec またはシステムまたはその他の機能にアクセスできないため、純粋な PHP で PDF ファイルをプレーンテキスト (文字列) に解析しようとしています。

これらの 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