Buscar texto en archivos PDF con pdfgrep

por | 10 marzo, 2017

A la hora de buscar texto dentro de documentos PDF, pdfgrep es una completa herramienta en linea de comandos que nos permite realizar dicha función.

Presenta una manera de trabajar muy similar a la de grep, con la que mantiene muchas similitudes en su forma de ejecución.

La manera sencilla de empezar con el programa, es situarnos en el directorio –donde está nuestro objeto de búsqueda– con la terminal y ejecutar: pdfgrep seguido del termino a buscar y el archivo pdf en cuestión.

En este ejemplo buscamos la palabra «status» en un archivo llamado manual.pdf:

pdfgrep status manual.pdf

Podemos hacer la cosa algo más interesante, incluyendo un par de opciones haciéndolo «insensible» (-i) al tema de las mayúsculas y minúsculas, así como activando el paginador (-n) para que nos muestre en donde diablos está la palabra que buscamos:

pdfgrep -ni status manual.pdf

La herramienta es compatible con expresiones regulares,pudiendo utilizar todo tipo de comodines como el que nos permite buscar una cadena de texto en varios archivos PDF a la vez:

pdfgrep -ni status *.pdf

Quizás tan solo nos apetezca contar cuantas veces aparece un determinado termino:

pdfgrep -c status *.pdf

Además tenemos la opción de hacer una búsqueda recursiva, para ello hacemos uso del parámetro -r, en este caso con la opción include que delimita el tipo de archivos que van a ser sometidos a dicha búsqueda (por ahora todos los PDF):

pdfgrep -ni -r --include "*.pdf" status

Quizás tan solo nos interese examinar los PDF’s que empiecen por una determinada palabra (por ej. «Python»). Sería algo así:

pdfgrep -ni -r --include "Python*.pdf" status

O puede que todo lo contrario, para eso tenemos el parámetro exclude:

pdfgrep -ni -r --exclude "Python*.pdf" status

Tenéis más opciones, las cuales podéis consultar en el manual o bien en la ayuda del programa con:

pdfgrep --help

Instalación de pdfgrep en Linux

La aplicación se distribuye bajo licencia libre (GPL v2), estando disponible en los repositorios de varias distribuciones GNU/LINUX.

  • Los usuarios de Arch Linux o alguna de sus derivadas (Antergos, Manjaro, Apricity) nos lo encontramos en los repositorios oficiales:
sudo pacman -S pdfgrep
  • En openSUSE Leap y Tumbleweed se puede instalar desde 1 click install.
  • Debian, derivadas como Ubuntu e hijas (Linux Mint, Elementary OS) lo pueden instalar desde la terminal con:
sudo apt install pdfgrep
  • Y por último en Fedora:
su -c

dnf install pdfgrep

Tenéis mas información sobre pdfgrep en la web del proyecto.

13 pensamientos en “Buscar texto en archivos PDF con pdfgrep

    1. tannhausser Autor

      Bueno, impecable, impecable…son muchos comandos y aunque he ejecutado todos antes de hacer el post, tampoco descartemos que se haya colado algún gazapo :-).

      En todo caso muchas gracias a ti por comentar!

      Responder
      1. Marcelo

        Esta (como tantas otras) entrada fue a parar al rigido, son material 911 (consulta emergencia {salvedad -> } infalible), ni siquiera conocia la existencia de un software con esta caracteristica. La optimizacion de tiempo a la hora de buscar respuestas a TP’s en los biblioratos de Andy Tanenbaum, estimo, puede llegar a ser notoria.

        Si bien la salida de pdfgrep – – help no es tan extensa, las indicaciones que das, son referencia para el uso de lo que pueda ofrecer – – help. Ud. Mi Estimado, hace rato que ta’ pa’ presidente.

        Como siempre, un placer visitar la casa.

        Responder
    1. tannhausser Autor

      No puede ser…lectores huyendo del paraíso replicante.

      Querido Líder estar muy decepcionado, construir muro que pagará Victorhck in the Free World.

      Muy buenos tutoriales por cierto.

      Un abrazo colega!

      Responder
  1. Marcelo

    Viajan dos agradecimentos. Uno para Jose y otro para Victor. Muy gentil de parte Vuestra.

    Responder
    1. tannhausser Autor

      Entre Linux y *BSD esa caja ya debe estar a tope 🙂

      Un saludo y gracias a ti por pasarte!

      Responder

Responder a victorhckCancelar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.