jueves, 14 de diciembre de 2017

Reducir el tamaño de imagenes JPG de los móviles a 250K sin perder casi información en Ubuntu


0. Instrucciones Generales

NOTA a Noviembre de 2019: Si se convierten las imágenes desde PDF a jpg, puede haber problemas ya que algunas no se coinvierten bien con este método.
Para tratamiento de PDF se pueden obtener buenos resultados en I Love PDF


1. Para instalar en Ubuntu:

sudo apt-get install jpegoptim

2. Descargar las fotos del movil u otro sitio y realizar una copia de seguridad de los ficheros que se van a tratar, por si no sale bien la cosa. Ir a la carpeta donde estan las imágenes y para convertirlas a 256 K que da resultados aceptables si son documentos (No da buenos resutados en fotografías), teclear

jpegoptim --size=256 *.jpg  para todos los ficheros de la carpeta o

jpegoptim --size=256 image01.jpg  solo para el fichero image01.jpg



También se puede probar con 512 ó 1024 en caso que no se vean bien.


4. Si se quieren convetitr a PDF,se tendrá que instalar

sudo apt-get install imagemagick

5. Este programa comprime todas las imágenes que le indicamos en un único fichero

convert file01.jpg, file02.jpg file.pdf

convert *.jpg file.pdf


6. Se puede utilizar la opción de rotar

convert -rotate 90 file01.jpg, file02.jpg file.pdf

7. Se pueden aplicar mas opciones. Ver imagemagick


8. Pueden haber problemas al convertir a pdf. Si aparece:

convert: not authorized `Selection.pdf' @ error/constitute.c/WriteImage/1028.

Entonces en askubuntu recomiendan modificar el fichero:

/etc/ImageMagick-6/policy.xml

y cambiar

PDF rights desde none a read|write


9. También se puede cambiar de formato:

Para convertir pdf a jpg :  convert pantalla.pdf pantalla.jpg
Para convertir jpg a png : convert pantalla.jpg pantalla.png


10. Para no tener problemas con los ficheros con un caracter en blanco en el nombre, se pueden cambiar los espacios en blanco por un guión "-" en un  directorio y sus hijos, situandose en el directorio y ejecutando

rename 's/ /-/g' *


1. Ejemplo

Se me ha dado un pen drive con algunos ficheros PDF, y se quiere reducir de tamaño. Para ello se realizan los siguientes cambios:

1. Hacer una copia de seguridad de los ficheros por si acaso.

2. Sustituir los espacios en blanco por guiones en el nombre de los ficheros

rename 's/ /-/g' *

3. Convertir los ficheros con extensión pdf a jpg con una resolución de 300 ppp. Para ello se ejecuta

for f in *.pdf ; do convert -density 300 "$f" "${f%%.*}".jpg; done

donde:
  "$f" es el nombre del fichero
  "${f%%.*}" es el basename del fichero o nombre del fichero sin extensión
 -density 300 aplica una densidad de 300 ppp

Con ello ha convertido cada PDF a varios JPG, uno por cada página

4. Reducir el tamaño perdiendo algo de calidad para todos los JPG. Para ello tecleamos

jpegoptim --size=256 *.jpg

5. Observamos como se quedan, y volvemos a convertir a PDF, para ello agrupamos todos los ficheros con JPG y el basename del fichero PDF
 anterior y le añadimos -CONV al basename

for f in *.pdf ; do convert "${f%%.*}"*.jpg "${f%%.*}"-CONV.pdf; done



No hay comentarios :

Publicar un comentario