0

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

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

また、可能であればこれをPHPスクリプトにまとめたいと思いますが、どの言語でもかまいません。フラッシュでさえも選択肢になるのではないかと直感しています。

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

編集:

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

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

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

ありがとう。

4

2 に答える 2

1

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

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

于 2010-09-13T15:36:27.720 に答える
0
<?
$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);
?>

3000asdfテキストを出力

5000 asdf

于 2010-09-01T15:23:19.327 に答える