PDF 本文内のテキストのパターン マッチングと PHP によるハイパーリンクの追加

StackOverflow https://stackoverflow.com/questions/3619462

質問

状況は次のとおりです。私は、画像とランダムに配布されたテキストでいっぱいの、大きくて分厚い一連の PDF ファイルを持っています。これらは、膨大な数の製品の巨大なプロモーション価格表のセクションです。必要なのは、各 PDF ファイルのテキスト内のすべてのカタログ コードをパターン マッチングし、オンライン ストアのそれぞれのページを指すハイパーリンクでファイルを囲むことです。

したがって、タスクは非常に簡単です。PDF ファイルをスキャンして、すべてのプレーンテキストを探します。 10 数字のシーケンスを取得し、それらを href が次のリンクに変換します。 http://something?code=[match].

また、可能であればこれを PHP スクリプトにまとめたいと思っていますが、どの言語でも構いません。おそらくフラッシュさえもオプションになる可能性があると直感しています。

何か案は?前もって感謝します。

編集:

入ってくるいくつかの回答は、pcre 構文を教えてくれます。ここでの問題は、PDF ファイル内で検索と置換を行う必要があることです。したがって、問題は 2 つあります。これを PHP で行うとします。

  • PHP で PDF を読み書きするにはどうすればよいですか?
  • PDF はプレーンテキスト ファイルではないため、正規表現を使用することはできません。また、PDF リンクはテキストと一緒にバンドルされておらず、領域として分離されていると考えています。これは、一致するコードがページ上のどこにあるかさえわかれば、カタログ コードの文字の座標上にアクティブな四角形をオーバーレイできる可能性があることも意味します。

どう思いますか?他の言語もオプションです。

ありがとう。

役に立ちましたか?

解決

PDF内のテキストを交換することは困難であり、オープンソースのPDFソリューションのどれもこの機能をサポートしていません。

Apago(www.apago.com)は、PDFファイル内のテキストを置き換えるために開発された商用ソリューションを持っています。 「MADE IN」、テキスト、製品番号など、価格を変更するには、カードの製造元のあいさつで使用されます。

他のヒント

<?
$s="
http://something.com?code=3000 asdf text
http://something.com?code=5000 asdf
";
echo preg_replace('/(http:\/\/something\.com\?code=(\d+))/s', '<a href="$1">$2</a>',$s);
?>

出力 3000 の空自テキスト

5000 の空自

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top