Frage

Die Situation ist wie folgt: Ich habe eine Reihe von großen, fetten PDF-Dateien, voll von Bildern und zufällig verteilten Text - das sind die Abschnitte einer großen Werbe-Preisliste für eine breite Palette von Produkten. Was ich brauche, ist muster entspricht alle die Katalogcodes im Text der einzelnen PDF-Datei und mit einem Hyperlink zu wickeln, die auf die jeweilige Seite in einem Online-Shop verweisen.

So ist die Aufgabe ist sehr einfach -. Scannen eine PDF-Datei für alle Klartext 10 Ziffern Sequenzen, und diejenigen in Links umwandeln, dessen href ist http://something?code=[match]

Ich würde auch diese zusammen in einem PHP-Skript zu setzen vorziehen, wenn möglich, aber jede Sprache tun würde. Ich habe ein Bauchgefühl, dass vielleicht sogar Blitz könnte eine Option sein.

Irgendwelche Ideen? Vielen Dank im Voraus.

EDIT:

Kommen Einige Antworten in lehren mich PCRE-Syntax. Das Problem hier ist, dass ich in einer PDF-Datei suchen und ersetzen muß. Das Problem ist also zweifach. Sagen wir tun dies in PHP:

  • Wie lesen Sie / schreiben zu PDF in PHP?
  • Als PDF-Dateien nicht Klartext-Dateien sind, kann ich nicht nur gegen sich regex, und ich glaube auch, dass die PDF-Links nicht zusammen mit dem Text gebündelt sind, sondern komme getrennt als Regionen. Was auch bedeutet, dass ich vielleicht ein aktives Rechteck über die Koordinaten des Katalog-Code der Zeichen überlagern könnte, wenn ich nur auf einer Seite, wo ein angepaßtes Code befindet kannte.

Was denken Sie? Andere Sprachen sind auch eine Option.

Danke.

War es hilfreich?

Lösung

Ersetzen von Text in PDF schwierig ist und keine der Open-Source-PDF-Lösungen unterstützt diese Fähigkeit.

Apago (www.apago.com) hat eine entwickelte kommerzielle Lösung Text in PDF-Dateien zu ersetzen. Es wird verwendet, durch Kartenhersteller Gruß Preise, „MADE IN“ Text, Produktnummern zu ändern, etc.

Andere Tipps

<?
$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);
?>

Ausgang 3000 asdf Text

5000 asdf

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top