la coincidencia de patrones de texto en el cuerpo de un PDF y añadir hipervínculos con PHP

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

Pregunta

La situación es la siguiente: Tengo una serie de grandes archivos PDF, grasa, llenos de imágenes y texto distribuidos al azar - estas son las secciones de una enorme lista de precios de promoción para una amplia gama de productos. Lo que necesito es que el patrón-emparejar todos los códigos de catálogo en el texto de cada archivo PDF y envolverlo con un hipervínculo que apunte a la página respectiva en una tienda en línea.

Así que la tarea es muy sencilla -. Escanear un archivo PDF para todos los dígitos 10 secuencias de texto sin formato, y convertir aquellos en los enlaces cuyo href es http://something?code=[match]

También preferiría poner esto juntos en un script PHP, si es posible, pero cualquier idioma haría. Tengo un presentimiento de que tal vez incluso el flash podría ser una opción.

Algunas ideas? Gracias de antemano.

EDIT:

Algunas de las respuestas que llegan están enseñando a mí pcre sintaxis. El problema aquí es que necesito para buscar y reemplazar en un archivo PDF. Así que el problema es doble. Dicen que vamos a hacer esto en PHP:

  • ¿Cómo leer / escribir en un archivo PDF en PHP?
  • Como archivos PDF no son archivos de texto, que puede no sólo regex en contra de ellos, y también creo que los enlaces de PDF no se juntan con el texto, pero vienen por separado como regiones. Lo que también significa que tal vez podría superponer un rectángulo activos en las coordenadas de caracteres del código de catálogo, si supiera donde un código reside emparejados en una página.

¿Qué opinas? Otras lenguas son también una opción.

Gracias.

¿Fue útil?

Solución

Sustitución de texto en un archivo PDF es difícil y ninguna de las soluciones de código abierto PDF compatible con esta capacidad.

Apago (www.apago.com) tiene una solución comercial desarrollado para reemplazar texto en archivos PDF. Es usado por saludo fabricante de la tarjeta de modificar los precios, "made in" de texto, números de producto, etc.

Otros consejos

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

salida 3000 texto asdf

5000 asdf

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top