0

ダウンロードせずにPHPで解析するために、pdf拡張子を持つURLのコンテンツをテキストに変換するにはどうすればよいですか?

私がこれを行う唯一の方法 (ジャンク文字なし) は、ファイルをサーバー フォルダーにダウンロードし、バイナリをテキストに変換する実行可能ファイルをシェル化することです。

私が見つけた実行可能ライブラリのいくつかを次に示します。 TET、テキスト抽出ツールキット xpdf

最初にpdfをダウンロードせずにURL pdfを変換することをお勧めします(バイナリを開いてから変換するなど)。

PHPでPDFをダウンロードせずにこれを行う方法はありますか?

実行時間を最短にするために推奨される方法は何ですか?

簡単なメモとして、pdf 拡張子を持つ約 64 の URL を実行しますが、これらのすべての URL が実際に pdf を指すわけではありません。実際、これらの URL の一部は、必ずしも pdf ファイルではなく、エイリアスの html ページを指している可能性があるため、変換ツールを使用する前に違いを識別する必要があります。

4

2 に答える 2

0

file_get_contents('url.pdf') の内容を取り、大まかな変換を行ったソース コードをいくつか見つけました (つまり、非常に大雑把です)。

これはメモリ内でこの変換を行うのに最適なように思われるので、最初に 'url.pdf' をダウンロードするしかないと思います。

このコードでファイルをダウンロードできますか?

//set to the URL of the file you want to download:
$inPath = "http://somepage.com/hello.jpg";
//set to the local path where the file should be saved:
$outPath = "/usr/local/htdocs/hello.jpg";

$in = fopen($inPath, "rb");
$out = fopen($outPath, "wb");

while ($chunk = fread($in,8192) ) {
fwrite($out, $chunk, 8192);
}

fclose($in);
fclose($out);
于 2012-04-14T17:48:42.513 に答える
0

a から直接変換することURLは実用的ではなく、very slow.. ほとんどの変換はcommand line、直接ではなく経由で行われPHP、高速でより良い結果が得られます。

を使用したサンプル変換xpdf pdftotext

インストール (Linux)apt-get install xpdf

サンプルコード

$file = $directory . '/' . $filename;
$fileinfo = pathinfo ( $filename );
$content = "";

// pdt to text
if ($fileinfo ['extension'] == 'pdf') {
    $outpath = preg_replace ( "/\.pdf$/", "", $file ) . ".txt";
    system ( "pdftotext -enc UTF-8 " . escapeshellcmd ( $file ), $ret );
    if ($ret == 0) {
        $content = file_get_contents ( $outpath );
        unlink ( $outpath );
    }
}
于 2012-04-14T08:02:27.407 に答える