Tengo un montón de archivos/formularios pdf que están todos en un formato estandarizado. Contienen información como el historial de versiones, el autor, quién firmó el documento y a qué documentos hace referencia. Necesito extraer esa información para alimentar una base de datos que contenga información sobre los documentos. Estoy bastante seguro de que podría hacer esto usando expresiones regulares, pero no estoy completamente seguro de cómo hacerlo. También me gustaría automatizar el proceso, de modo que cuando se creen nuevos documentos, se agreguen al sistema, y también el sistema vea todos los documentos en una página web y extraiga la información.
Es posible convertir el .pdf
documento a un archivo de texto. Después de hacer eso, debería ser posible extraer un fragmento de texto dependiendo de qué tan regular sea usando expresiones regulares. No especificó qué sistema operativo está usando, pero *nix
es posible automatizar esto usando pdftotext
la herramienta de línea de comandos y una combinación de grep/sed/cut/awk/perl
.
Para descargar/cargar documentos desde/hacia un servidor web, puede usar scp
si el SSH
acceso está habilitado o lftp
extraer metadatos localmente y enviarlos a un servidor web. Deberá tener una lista de los documentos que ya procesó. Alternativamente, ni siquiera necesita descargar .pdf
desde el servidor web porque puede procesarlo directamente en el servidor web o montar un directorio remoto con sshfs
. Puede activar la operación de extracción de metadatos cada vez .pdf
que se agrega un nuevo inotify
mecanismo o algún tipo de devolución de llamada del servidor web o ejecutarlo regularmente mediante un crontab
trabajo.
Todavía no estoy seguro de si prefieres *nix
o Windows
. Si prefieres esto último, no puedo ayudarte porque no lo uso.
Arkadiusz Drabczyk
exiftool
para extraer.pdf
metadatos y analizar su salida usando expresiones regulares. Por ejemplo, para encontrarCreator
de un dado.pdf
:exiftool doc.pdf | grep "^Creator" | perl -pe 's,^Creator.+: (.*)$,\1,'
. Para encontrar un autor:exiftool doc.pdf | grep "^Author" | perl -pe 's,^Author.+: (.*)$,\1,'
pista
Arkadiusz Drabczyk
.pdf
documento a un archivo de texto. Después de hacer eso, debería ser posible extraer un fragmento de texto dependiendo de qué tan regular sea usando excesiones regulares. No especificó qué sistema operativo está usando, pero*nix
es posible automatizar esto usandopdftotext
la herramienta de línea de comandos y una combinación degrep/sed/cut/awk/perl
pista
Arkadiusz Drabczyk
man pdftotext
:pdftotext [options] [PDF-file [text-file]]
. También dice esoPdftotext reads the PDF file, PDF-file, and writes a text file, text-file. If text-file is not specified, pdftotext converts file.pdf to file.txt. If text-file is ´-', the text is sent to stdout.
. Entonces, por ejemplo:pdftotext <doc>.pdf
producirá<doc>.txt
en el mismo directorio.pista
Arkadiusz Drabczyk
pdftotext
manual y aprenderlo mucho más rápido. Para descargar/cargar documentos desde/hacia un servidor web, puede usarscp
si elSSH
acceso está habilitado olftp
extraer metadatos localmente y enviarlos a un servidor web. Deberá tener una lista de los documentos que ya procesó. Alternativamente, ni siquiera necesita descargar.pdf
desde el servidor web porque puede procesarlo directamente en el servidor web o montar un directorio remoto consshfs
.Arkadiusz Drabczyk
.pdf
que se agrega un nuevoinotify
mecanismo o algún tipo de devolución de llamada del servidor web o ejecutarlo regularmente mediante uncrontab
trabajo. Todavía no estoy seguro de si prefiere*nix
o Windows. Si prefieres esto último, no puedo ayudarte porque no lo uso. Por cierto : ya es demasiado para un comentario, así que si te gusta, lo convertiré en una respuesta y puedes aceptarlo.pista
pista