il testo pattern matching nel corpo di un PDF e aggiunta di collegamenti ipertestuali con PHP

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

Domanda

La situazione è la seguente: ho una serie di grandi, file PDF di grassi, ricchi di immagini e testo distribuito in modo casuale - queste sono le sezioni di un listino promozionale enorme per una vasta gamma di prodotti. Che cosa ho bisogno è quello di modello-abbinare tutti i codici del catalogo nel testo di ogni file PDF e di avvolgerla con un collegamento ipertestuale che punterà alla rispettiva pagina in un negozio online.

Quindi, il compito è molto semplice -. La scansione di un file PDF per tutti i puro testo cifre 10 sequenze, e convertire quelli in link href cui è http://something?code=[match]

Vorrei anche preferire di mettere questo insieme in uno script PHP, se possibile, ma qualsiasi lingua farebbe. Ho una sensazione viscerale che forse anche il flash potrebbe essere un'opzione.

Tutte le idee? Grazie in anticipo.

EDIT:

Alcune risposte arrivano stanno insegnando me pcre sintassi. Il problema qui è che ho bisogno di cercare e sostituire in un file PDF. Quindi il problema è duplice. Dire lo faremo in PHP:

  • Come si fa a leggere / scrivere un PDF in PHP?
  • in formato PDF non sono file di testo in chiaro, non posso semplicemente regex contro di loro, e credo anche che i collegamenti PDF non sono in bundle insieme al testo, ma vengono separati come regioni. Il che significa anche che avrei potuto forse sovrapporre un rettangolo attivi negli coordinate dei personaggi del codice di catalogo, se solo sapessi dove un codice risiede abbinati in una pagina.

Cosa ne pensi? Altre lingue sono anche un'opzione.

Grazie.

È stato utile?

Soluzione

Sostituzione di testo in un file PDF è difficile e nessuna delle soluzioni PDF open source supporta questa funzionalità.

Apago (www.apago.com) ha una soluzione commerciale sviluppato per la sostituzione di testo in file PDF. E 'utilizzato dal saluto produttore della scheda di modificare i prezzi, "MADE IN" del testo, numeri di prodotto, ecc.

Altri suggerimenti

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

uscita 3000 testo asdf

5000 asdf

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top