Hiparco

Recetas y trucos de GNU/Linux e informática en general

Alojado en http://guimi.net

Trabajar con PDFs desde el prompt

Utilizamos principalmente el estupendo PDFTK (The PDF ToolKit), aunque para algunas cosas nos apoyamos en ImageMagick (para el comando convert), qpdf, gocr, gs:
# aptitude install pdftk imagemagick qpdf gocr

Trabajando solo en formato PDF

Extraer paginas de un pdf (como pdf)
$ pdftk file.pdf burst

Regenerar pdf completo (a veces si el archivo está corrupto lo arregla)
$ pdftk file.pdf output nuevo.pdf

Solo algunas páginas
$ pdftk file.pdf cat 3-5,8 output nuevo.pdf

Solo páginas (im)pares
$ pdftk file.pdf cat 1-5odd output nuevo.pdf

Invertir el orden de las páginas
$ pdftk file.pdf cat end-1 output nuevo.pdf

Unir diferentes archivos
$ pdftk file1.pdf file2.pdf cat output nuevo.pdf

Diferentes páginas de diferentes archivos
# Insertamos la página 2 del fichero B entre la página 2 y la página 3 del fichero A
$ pdftk A=file1.pdf B=file2.pdf cat A1-2 B2 A3-end output nuevo.pdf

Combinar páginas de dos archivos, uno de ellos de atrás adelante:
$ pdftk A=paginas_pares.pdf B=paginas_impares_al_reves.pdf shuffle A Bend-1 output escaneado_completo.pdf

Rotar PDFs
# S(outh) – 180% ; E(ast) 90%; W(est) 270%; N(orth) 0%
$ pdftk A=file1.pdf cat A1-endS output nuevo.pdf
En un pdf que contiene páginas giradas, será necesario rotar al Norte para que recuperen la orientación original.

Añadir marca de agua
$ pdftk fileIn.pdf background marca_agua.pdf output fileOut.pdf
Se recomienda que marca_agua.pdf sea del tamaño de las páginas del PDF (A4, letter…).
Si el pdf son imágenes, éstas taparán la marca de agua y no se verá. Por tanto solo es útil en pdfs con textos. La alternativa es el “sello”.

Añadir sello (stamp)
$ pdftk fileIn.pdf stamp sello.pdf output fileOut.pdf
Se recomienda que sello.pdf sea del tamaño de las páginas del PDF (A4, letter…).
El pdf se “estampará” como sello encima de las páginas del pdf. La alternativa es la marca de agua.

Modificar los datos de propiedades de un pdf (autor, fecha de modificación…)
$ pdftk fichero.pdf dump_data output propiedades.dat
$ vi propiedades.dat
$ pdftk fichero.pdf update_info propiedades.dat output fichero_mod.pdf

Desproteger PDF
$ qpdf –decrypt protected.pdf unprotected.pdf

Reducir tamaño de pdf
$ gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -sPDFSETTINGS=[setting] -sOutputFile=output.pdf input.pdf

Donde [setting] puede ser, de menor a mayor calidad: “/screen” “/ebook” “/printer” o “/prepress”

Trabajando con imágenes

Extraer paginas de un pdf (como imágenes)
$ convert -density 150 archivo.pdf img_%04d.tiff

Convertir imagenes en un pdf
$ convert *.tiff archivo.pdf

Extraer imágenes de un pdf
$ pdfimages -j file.pdf img

Trabajando con texto

Extraer texto de un pdf
$ pdftotext file.pdf

Convertir pdf en txt
$ pdftotext -layout fich.pdf fich.txt

Bonus: OCR desde imágenes
$ for x in $(ls img_*tiff); do gocr $x >> kk.txt; done

Trabajar con PDFs desde el prompt, edición de PDFs desde la línea de comandos

Categoría: GNU/Linux, Prompt