regulares regular reemplazar expresiones expresion ejemplos caracteres basicas regex pdf annotations comments ghostscript

regex - reemplazar - expresiones regulares ejemplos



Agregar comentarios a archivos PDF automágicamente con expresiones regulares (2)

He estado clasificando artículos académicos durante un par de años y he comenzado a ver numerosos patrones en los errores de ortografía y gramática. Además, me he dado cuenta de que los académicos menos experimentados tienden a usar ciertos constructos que inmediatamente elevan los "olores" a los investigadores más experimentados.

Me gustaría reconocer y anotar automágicamente estos en archivos PDF. ¿Alguien conoce un script que podría usar para anotar y comentar automáticamente archivos PDF? Quizás es muy simple, pero siento que soy uno de los primeros en hacer esta pregunta.

La programación no es un problema.


Para resolver esta tarea, necesitas 3 cosas:

  1. Una buena herramienta de extracción de texto para obtener los contenidos de los archivos PDF (básicamente, usted está solicitando esto).
  2. El conocimiento sobre qué palabras clave desea utilizar para crear notas / comentarios textuales apropiados y desencadenar un automatismo de anotación PDF (usted dice que tiene esto).
  3. Un método para insertar sus comentarios en el PDF, preferiblemente en las páginas correctas, o incluso en el lugar exacto correcto en la página (usted está pidiendo esto).

Extracción de texto

El TET de PDFlib (kit de herramientas de extracción de texto) le permite extraer texto de cualquier PDF. Es la herramienta de extracción de texto PDF más poderosa disponible que le permite acceder a través de línea de comandos y scripts. Puede manejar esas rarezas (desde el punto de vista de la extracción de texto) como ligaduras, así como también diferentes codificaciones de texto. Más importante aún, puede indicarle el número exacto de página y las coordenadas en la página PDF para cualquier cadena de caracteres o texto extraída.

Insertar anotaciones en PDF

Después de analizar el texto y su lógica decidió qué comentario agregar para qué página, puede usar PDFlib o Ghostscript para agregar comentarios ("anotaciones") al PDF original.

No estoy entregando un tutorial sobre cómo usar PDFlib para agregar anotaciones a archivos PDF existentes aquí. Pero perderé algún conocimiento interno sobre cómo Ghostscript puede hacerlo:

Usar Ghostscript para agregar anotaciones a archivos PDF

Para agregar una anotación con Ghostscript a un PDF existente, primero cree un archivo de texto llamado my-pdfmarks.txt (o el nombre que prefiera). Ahora escriba en ese archivo de texto el contenido de su anotación, usando la siguiente sintaxis:

[ /Title (Annotation experiments by -pipitas-) /Author (pipitas) /Subject (I''m trying to add annotations to existing PDFs with the help of Ghostscript...) /Keywords (comma, separated, keywords, spelling mistakes, grammar mistakes, raising "smells") /ModDate (D:20101219192842) /CreationDate (D:20101219092842) /Creator (pipitas'' brainz) /Producer (Ghostscript under the direction of pipitas) /DOCINFO pdfmark [ /Contents (Smell: This statement was bloody well rebutted by decades of academic research...) /Rect [10 10 50 50] /Subtype /Text /Name /Note /SrcPg 2 /Open true /ModDate (D:20101220193344) /Title (A Comment on Page 2) /Color [.5 .5 0] /ANN pdfmark

Luego, ejecute el comando Ghostscript de la siguiente manera. Supongo que ahora Windows: para Linux / Unix / MacOSX use gs lugar de gswin32c.exe para el ejecutable, y use / lugar de ^ para las marcas de continuación de línea:

gs ^ -o original-annotated.pdf ^ -sDEVICE=pdfwrite ^ -dPDFSETTINGS=/prepress ^ original.pdf ^ my-pdfmarks.txt

Voila! Su PDF de salida ahora tiene una anotación en la página 2.

Ahora probablemente no entendiste exactamente lo que estabas haciendo:

  • La primera parte del archivo my-pdfmarks.txt manipula los metadatos del PDF. Solo elimínalo si no quieres esto.
  • La segunda parte agrega una anotación ( ''/ Subtipo / Texto'' y ''/ Nombre / Nota'' ) en la página 2 ( ''/ SrcPg 2'' ) del PDF de salida en la esquina inferior izquierda, a 10 puntos del borde de cada página ( '' / Rect [10 10 50 50] '' ), utilizando un color DeviceRGB verdoso ( '' / Color [0.5 0.5 0] '' ) y abriéndolo de forma predeterminada ( '' / Open true '' ) al acceder a la página.

Los valores de parámetros modificables (después de cada palabra clave) en el archivo my-annotations.txt son todos PERO los siguientes:

  1. " /DOCINFO pdfmark "
  2. " /Subtype /Text "
  3. " /Name /Note "
  4. " /ANN pdfmark "

Por ejemplo, para hacer que la anotación aparezca en rojo puro, use /Color [1 0 0] .

Para comprender completamente la sintaxis de pdfmark (y agregar más ajustes al procedimiento), tendrá que buscar en Google el Manual de referencia de pdfmark de Adobe y leerlo.

Como dijiste "la programación no es un problema ", ahora tienes todos los componentes básicos para automatizar esto con cualquier lenguaje de scripts de tu elección.


Si yo fuera usted, comenzaría con el PDF Library SDK, que es compatible con las cosas que está buscando:

  • Extrae contenido
  • Agregar comentarios a documentos

Un inconveniente es que debe solicitarlo y Adobe puede rechazar su solicitud.

EDITAR:

PDFedit parece prometedor. Es una aplicación de GUI de código abierto que le permite modificar PDF manualmente o mediante secuencias de comandos .