Diferencia entre revisiones de «Manipulación de PDFs e imagenes en linea de comandos»

De Recursos Educativos
Ir a la navegación Ir a la búsqueda
m
 
Línea 1: Línea 1:
Crear un jpg con la primera pagina:
+
=== Crear un jpg con la primera pagina ===
  
 
  gs -q -sDEVICE=jpeg -dBATCH -dNOPAUSE -dFirstPage=1 -dLastPage=1 -r300 -sOutputFile=test.jpg test.pdf
 
  gs -q -sDEVICE=jpeg -dBATCH -dNOPAUSE -dFirstPage=1 -dLastPage=1 -r300 -sOutputFile=test.jpg test.pdf
  
Extraer una imagen, de la primera pagina, (por ejemplo la portada):
+
=== Extraer una imagen, de la primera pagina, (por ejemplo la portada) ===
  
 
  pdfimages -f 1 -l 1 -j fichero.pdf pgs
 
  pdfimages -f 1 -l 1 -j fichero.pdf pgs
Línea 12: Línea 12:
  
 
  pdftoppm -r 300 -png pdf.pdf prefijo-paginas
 
  pdftoppm -r 300 -png pdf.pdf prefijo-paginas
 +
 +
=== Crear un PDF con un libro escaneado ===
  
 
Secuencia de comandos para partiendo de un libro que estaba escaneado, con una imagen por página, pero con 2 paginas reales por imagen y muchos bordes blancos, hacer un PDF mejor, con una página real por pagina PDF y sin bordes blancos:
 
Secuencia de comandos para partiendo de un libro que estaba escaneado, con una imagen por página, pero con 2 paginas reales por imagen y muchos bordes blancos, hacer un PDF mejor, con una página real por pagina PDF y sin bordes blancos:
Línea 37: Línea 39:
 
  convert pgs-???.ppm.?.ppm fichero.pdf
 
  convert pgs-???.ppm.?.ppm fichero.pdf
  
Crear un PDF a partir de imágenes convirtiendo el tamaño (como mucho de X de alto o de Y de ancho, respetando el aspecto)
+
=== Crear un PDF a partir de imágenes convirtiendo el tamaño (como mucho de X de alto o de Y de ancho, respetando el aspecto) ===
  
 
  convert * -resize XxY fichero.pdf
 
  convert * -resize XxY fichero.pdf
  
Ponerle metadata (XMP) para que el e-reader lo muestre:
+
=== Ponerle metadata (XMP) para que el e-reader lo muestre === 
  
 
  # extraer metadata a fichero
 
  # extraer metadata a fichero
Línea 51: Línea 53:
  
 
  exiftool -Title="This is my title" -Author="Cobarde Anonimo" my.pdf
 
  exiftool -Title="This is my title" -Author="Cobarde Anonimo" my.pdf
 +
 +
=== Eliminar las restricciones de un PDF ===
 +
 +
Para eliminar las restricciones de seguridad de un PDF sin password simplemente basta con hacer
 +
 +
qpdf --decrypt in.pdf out.pdf
  
 
[[Category:Tips]]
 
[[Category:Tips]]
 
[[Category:Linux]]
 
[[Category:Linux]]

Revisión actual del 15:50 10 dic 2020

Crear un jpg con la primera pagina

gs -q -sDEVICE=jpeg -dBATCH -dNOPAUSE -dFirstPage=1 -dLastPage=1 -r300 -sOutputFile=test.jpg test.pdf

Extraer una imagen, de la primera pagina, (por ejemplo la portada)

pdfimages -f 1 -l 1 -j fichero.pdf pgs

Un detalle: lo que hace pdfimages no es "generar" una imagen con el contenido de la página sino extraer los elementos de la página que sean imagenes. Es decir si el PDF lo que tiene en la pag 1 son 3 imágenes y un texto, el comando producirá 3 ficheros de imagen, y nada para el texto.

Si lo que queremos es realmente "renderizar" el PDF a PNG, podemos usar este comando:

pdftoppm -r 300 -png pdf.pdf prefijo-paginas

Crear un PDF con un libro escaneado

Secuencia de comandos para partiendo de un libro que estaba escaneado, con una imagen por página, pero con 2 paginas reales por imagen y muchos bordes blancos, hacer un PDF mejor, con una página real por pagina PDF y sin bordes blancos:

# Extraer todas las imágenes
pdfimages -j fichero.pdf pgs
# rotarlas 90 a la izq
for f in ???.jpg ; do echo "$f" ; convert "$f" -rotate 270 "${f%.jpg}_r.jpg" ; done
# Cortar las imágenes por la mitad, supongamos que la imagen es de 1200x500
for f in pgs-???.ppm ; do convert "$f"  -crop 600x500! "${f.%.ppm}.%d.ppm"; done
# Cortarlas en 2 veces
for f in ???_r.jpg ; do echo $f ; convert "$f" -crop 1330x2340+0+200\! "${f%.jpg}_r_c1.jpg"; convert "$f" -crop 1330x2340+1330+200\! "${f%.jpg}_r_c2.jpg" ; done
# Tipico caso de banda horizontal arriba y banda horizontal abajo. La de arriba tiene 282px y la imagen que quiero conservar 1490px. El ancho es 1200.
for f in ???.jpg ; do convert "$f" -crop 1200x1490+0+282\! "${f%.jpg}.c.jpg" ; done
# Quitar los bordes blancos
for f in pgs-???.pbm.[01].jpg ; do  convert "$f"  +repage -fuzz "99%" -trim "$f.trim.jpg"; done
# Recrear el PDF a partir de las imágenes nuevas:
convert pgs-???.ppm.?.ppm fichero.pdf

Crear un PDF a partir de imágenes convirtiendo el tamaño (como mucho de X de alto o de Y de ancho, respetando el aspecto)

convert * -resize XxY fichero.pdf

Ponerle metadata (XMP) para que el e-reader lo muestre

# extraer metadata a fichero
pdftk f1.pdf dump_data output metadata.txt
# Editar metadata.txt a gusto del consumidor (se pueden añadir campos nuevos)
pdftk f1.pdf update_info metadata.txt output f2.pdf

Un método mejor que no requiere archivo intermedio y edición manual:

exiftool -Title="This is my title" -Author="Cobarde Anonimo" my.pdf

Eliminar las restricciones de un PDF

Para eliminar las restricciones de seguridad de un PDF sin password simplemente basta con hacer

qpdf --decrypt in.pdf out.pdf