Шаблон сопоставления текста в теле PDF и добавление гиперссылок с помощью PHP

Ситуация следующая: у меня есть серия больших, жирных PDF-файлов, полных изображений и случайным образом распределенного текста - это разделы огромного рекламного прайс-листа на широкий спектр продуктов. Что мне нужно, это сопоставить по шаблону все коды каталогов в тексте каждого файла PDF и обернуть его гиперссылкой, которая будет указывать на соответствующую страницу в интернет-магазине.

Так что задача очень проста - отсканируйте PDF-файл на наличие всего текста 10 цифры последовательности и преобразовать их в ссылки, чья ссылка http://something?code=[match],

Я также предпочел бы соединить это вместе в сценарии PHP, если это возможно, но подойдет любой язык. У меня есть чувство, что, возможно, даже вспышка может быть вариантом.

Есть идеи? Заранее спасибо.

РЕДАКТИРОВАТЬ:

Некоторые ответы учат меня синтаксису. Проблема здесь в том, что мне нужно искать и заменять в файле PDF. Так что проблема двоякая. Скажем, мы сделаем это на PHP:

  • Как вы читаете / пишете в PDF на PHP?
  • Поскольку PDF-файлы не являются текстовыми файлами, я не могу просто использовать их как регулярное выражение, и я также считаю, что PDF-ссылки не связаны вместе с текстом, а разделяются как области. Это также означает, что я мог бы, возможно, наложить активный прямоугольник на координаты символов кода каталога, если бы я только знал, где находится соответствующий код на странице.

Как вы думаете? Другие языки также вариант.

Благодарю.

2 ответа

Решение

Заменить текст в 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 asdf текст

5000 asdf

Другие вопросы по тегам