Esta receta es un compendio de pequeños trucos y utilidades para manipular ficheros PDF con los programas libres habituales en un sistema GNU
En realidad pienso ir apuntando aquí las soluciones que voy encontrando a problemas que me surgen cuando tengo que hacer ciertas «operaciones imprevistas» con ficheros PDF. Se admiten sugerencias para ir incorporando a la receta.
Con pdfjoin del paquete pdfjam (visto en Linuca).
$ pdfjoin --fitpaper true fichero1.pdf fichero2.pdf fichero3.pdf --outfile final.pdf
Con GNU/GhostScript (por Gufete):
$ gs -dColorImageFilter=/LZWEncode -dAutoFilterColorImages=false -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=pre_final.pdf fichero1.pdf fichero2.pdf fichero3.pdf
$ pdfopt pre_final.pdf final.pdf
Con pdfjam
$ pdfjam --no-landscape original.pdf 3,7,12-23,34 --outfile resultado.pdf
Con pdftk
$ pdftk original.pdf cat 1-8 output resultado.pdf
Con pdfjam
$ pdf90 original.pdf
También hay comandos pdf180 y pdf270.
Con pdftk:
$ pdftk original.pdf cat 1-endX output resultado.pdf
Donde ‘X’ puede ser:
Utilizando el programa pdfnup del paquete pdfjam:
$ pdfnup --nup 2x1 --outfile salida.pdf original.pdf
Por ejemplo, para pasar transparencias apaisadas a página completa a formato de 3 páginas por hoja alineadas a la izquierda y con márgenes usa:
$ pdfnup --nup 1x3 --offset "-3cm 0" --trim "-2cm -2cm -2cm -2cm" original.pdf
En realidad se trata de aumentar los márgenes reduciendo el tamaño del área impresa. También con pdfnup:
$ pdfnup --nup 1x1 --scale 0.9 original.pdf
Si tienes que imprimir un .pdf cuyo formato de página no es A4 probablemente acabarás desperdiciando gran parte de la hoja porque por aquí todas las impresoras domesticas son A4. Con los siguientes comandos puedes convertir el formato de página:
$ pdftk original.pdf cat output sin_xrefs.pdf
$ gs -r600 -dDITHERPPI=120 -dNOCIE -dFIXEDMEDIA -sPAPERSIZE=a4 -sDEVICE=pdfwrite -q -dNOPAUSE -dSAFER -dBATCH -dPDFFitPage -sOutputFile=resultado.pdf pdfopt.ps sin_xrefs.pdf
pdftkPara leer los metadatos de un PDF:
$ pdftk original.pdf dump_data output data.txt $ cat data.txt InfoKey: Creator InfoValue: Writer� InfoKey: Producer InfoValue: OpenOffice.org 3.1� InfoKey: CreationDate InfoValue: D:20090923135542+02'00' PdfID0: e5d831c33f77ac694b32456732f2c86 PdfID1: e5d831c33f77ac694b32456732f2c86 NumberOfPages: 1
Si se omite el output data.txt, imprime los datos a la salida estándar (la consola) en lugar de en el fichero.
Para modificar los metadatos se debe escribir un fichero con el mismo formato que el data.txt anterior (o modificar uno generado así) y ejecutar:
$ pdftk original.pdf update_info data.txt output resultado.pdf
exiftoolPara mostrar los metadatos escribe una cadena con variables tipo-shell (atento a las comillas simples):
$ exiftool fichero.pdf -p '$Title $Author'
Para modificarlos utiliza esos mismas claves como opciones:
$ exiftool fichero.pdf -Title="Algún cuento chino"
[visto en http://handyfloss.net/2008.09/making-a-pdf-grayscale-with-ghostscript/]
$ gs -sOutputFile=grayscale.pdf -sDEVICE=pdfwrite \
-sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray \
-dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH color.pdf < /dev/null[visto en commandlinefu.com]
$ gs -dNOPAUSE -sDEVICE=jpeg -r144 -sOutputFile=p%03d.jpg file.pdf
[visto en linuxquestions]
$ convert -density 300×300 file.pdf salida.png
Si has hecho un .pdf con pdflatex lo más probable es que no incluya las fuentes, de modo que el programa pueda renderizar el documento con las fuentes del sistema. Sin embargo, a veces se requiere disponer de un .pdf auto-contenido para garantizar que se verá del mismo modo en cualquier parte. Para lograrlo ejecuta lo sisguiente:
$ pdf2ps original.pdf
$ ps2pdf14 -dPDFSETTINGS=/prepress -dEmbedAllFonts=true original.ps resultado.pdf
Como es lógico, el fichero resultante ocupará mucho más que el original (de 5 a 10 veces).
Comments
Modificar el título de un fichero PDF
http://diariolinux.com/2008/12/03/modificar-el-titulo-de-un-fichero-pdf/
No soy portavoz de ningún colectivo, grupo o facción. Mi opinión es personal e intransferible.
¡¡¡Anda!!!
¿Por qué no modificamos un PDF y lo mandamos a cuarto milenio a ver qué dice Guillermo Leon? (Con las fotos les funciona
)
The cause of the problem is:
The vendor put the bug there.
-- Meta amigo informático --