2008-10-21 8 views
16

¿Cómo podría buscar y reemplazar programáticamente algún texto en una gran cantidad de archivos PDF? Me gustaría eliminar una URL que se ha agregado a un conjunto de archivos. Pude eliminar el enlace mediante javascript en Procesamiento por lotes en Adobe Pro, pero el texto del enlace permanece. He visto recomendaciones para utilizar el retoque de texto, que funciona de forma manual, pero no quiero modificar 1300 archivos manualmente.Cómo programar una búsqueda de texto y reemplazarlo en archivos PDF

+0

Sé que es muy viejo, pero llegué a este problema y usted es el primero resultado en google. ¿Qué usaste al final? – Elric

+0

Utilicé Perl, el módulo CAM :: PDF y el ejemplo del programa changepagestring.pl como se sugiere en la respuesta de Chris Dolan. Eso fue algo de una sola vez, así que no me pregunten cómo hacerlo ahora ;-) – rpilkey

Respuesta

14

Encontrar texto en un PDF puede ser intrínsecamente difícil debido a la naturaleza gráfica del formato del documento; las letras que está buscando pueden no estar contiguas en el archivo. Dicho esto, CAM::PDF tiene algunas capacidades de búsqueda y reemplazo y heurística. Prueba changepagestring.pl y comprueba si funciona en tus archivos PDF.

+1

Muchas gracias Chris, por la respuesta, y por el módulo de CPAN. Eso funcionó bien para mí. Con suerte, Google recoge esta página, no vi el módulo CAM :: PDF en mis búsquedas. Roger – rpilkey

+2

Hilo muy viejo, pero increíble encontrar: D – Shane

+0

para cualquier otra persona que busca, probé la versión de prueba de http://www.verypdf.com/app/pdf-text-replacer/pdf-find-and-replace -assistant.html y funcionó muy bien. – RozzA

4

También me he vuelto desesperado. Después de 10 PDF instalaciones del editor, que cuestan dinero, y sin éxito:

pdftk + editor de un botón:

reemplazar texto en archivos PDF

  • Uso pdftk para descomprimir página PDF corrientes

    pdftk original.pdf salida original.clear.pdf descomprimir

  • Reemplazar el texto (a veces esto funciona, a veces no lo hace).

  • reparación del modificado (y ahora roto) PDF

    pdftk original.clear.pdf original.clear.fixed.pdf salida

(de Joel Dare)

2

No sé si quiero hacer todo el trabajo para escribir el código para modificar sus 1300 archivos cuando hay un programa que puede hacer por usted. El otro día, utilicé la versión Professional de Infix para modificar por lotes casi 100 archivos mediante su función "Buscar y reemplazar archivos". Funciona muy bien. He evaluado otros programas con la esperanza de encontrar una funcionalidad de búsqueda y reemplazo similar a Microsoft Word. Infix fue el único que encontré que puede hacerlo. Check out: http://www.iceni.com/infix-pro.htm

1

Acabo de probar infijo para un texto que está compuesto por texto cargado con diacríticos con la esperanza de generar otro texto donde los caracteres con signos diacríticos dobles y compuestos son reemplazados por signos diacríticos alternativos. Infix es definitivamente una buena solución para alguien a quien no le importa el problema de entender el funcionamiento de soluciones programáticas. Todos los cambios de solicitud fueron efectuados. Todavía es necesario comprender cómo efectuar el reflujo de las palabras que cambian el diseño del texto.

1

Esto es solo la mitad de una solución, pero utilicé Retoque combinado con el soporte de AppleScript para enviar pulsaciones de teclas para reemplazar una cadena en miles de celdas de tabla.Dependiendo de cómo se diseñen sus páginas, podría funcionar para usted. En mi caso, tuve que insertar manualmente el cursor al comienzo de cada tabla (decenas de tablas, bastante manejables para un proceso manual) pero después de eso reemplacé miles de celdas automáticamente.

1

La pregunta es para una solución de programación, pero aún así voy a compartir esta herramienta en línea gratuita que me ayudó a masa reemplazar texto en algunos archivos PDF:

http://www.pdfdu.com/pdf-replace-text.aspx

que no vi ningún anuncio u otras modificaciones en los archivos PDF resultantes después de reemplazar el texto.

No pude realizar los cambios localmente con el software que probé. Creo que el principal problema fue que me faltaba la fuente utilizada en el PDF y no funcionó correctamente, incluso con Acrobat Pro. La herramienta en línea no se quejó y produjo un gran resultado.

+1

El OP solicitó una solución ** programática **, no una manual. – mkl

+0

@mkl Tienes razón, gracias por señalar esto. Edité mi respuesta para dejarlo más claro. Me encontré con esta pregunta en mi búsqueda de una solución única de reemplazo masivo de texto en PDF. Estaba bien con una solución programática, pero nada de lo que probé funcionó. Esa herramienta en línea funcionó, howerver, así que decidí compartirla de todos modos. – Dimitar

0

me sugieren que usted puede utilizar el software VeryPDF PDF Text Sustituto de línea de comandos por lotes a reemplazar texto en las páginas en PDF, puede ejecutar pdftr.exe para sustituir el texto en páginas PDF fácilmente, por ejemplo,

pdftr.exe -contentreplace "Mi nombre => Su nombre" D: \ in.pdf D: \ out.pdf

pdftr.exe -searchandoverlaytext "Mi nombre => Su nombre" D: \ in.pdf D: \ out.pdf

pdftr.exe -searchandoverlaytext "My Name => D: \ temp \ myname.png * 20 * 20" D: \ .pdf D: \ out.pdf

pdftr.exe -pagerange 1-3 -contentreplace "Texto antiguo => Nuevo texto || VeryPDF => VeryDOC || Mi nombre => Su nombre" D: \ in.pdf D: \ out.pdf

pdftr .exe -searchtext "cadena" C: \ .pdf

pdftr.exe -pagerange 1 -searchtext "cadena" C: \ .pdf

pdftr.exe -pagerange 1 -searchandoverlaytext "viejo texto = > Nuevo texto || VeryPDF => VeryDOC || Mi nombre => Su nombre "D: \ in.pdf D: \ out.pdf

pdftr.exe -overlaytextfontname" Arial "-overlaytextcolor FF0000 -overlaybgcolor 00FF00 -searchandoverlaytext "Texto antiguo => Texto nuevo || VeryPDF => VeryDOC || Mi nombre => Y nuestro nombre "D: \ in.pdf D: \ out.pdf

pdftr.exe -opw 123 -upw 456 -contentreplace" Texto antiguo => Nuevo texto || VeryPDF => VeryDOC || Mi nombre => Su nombre" D: \ .pdf D: \ out.pdf

pdftr.exe -searchandoverlaytext "PDFcamp impresora => VeryPDF impresora" -overlaytextfontsize 8 D: \ .pdf D: \ out.pdf

pdftr.exe -searchandoverlaytext "PDFcamp Printer => VeryPDF Printer" -overlaytextfontsize 80% D: \ in.pdf D: \ out.pdf

Cuestiones relacionadas