Buenas, el día de hoy traigo una solución que me fue útil con unos PDF de más de 500MB. Con esta herramienta logré dejarlos a menos de 200MB sin perder calidad (eran archivos PDF con imágenes más que nada), así que la mejora es notable.
Cabe mencionar que si el PDF ya está bien comprimido, probablemente no se consiga reducir tanto su tamaño, aunque según he visto, no suele ser lo usual. También que solo lo he probado con archivos PDF compuestos de solo imágenes, así que no se que tal se de con los que tienen solo texto.
Como ven en el título, esto es un truco para GNU/Linux, si estás en Windows quizá funcione desde WSL o alguna terminal similar como MSYS2, pero ni idea y no me voy a dar el tiempo de revisarlo. Eso si, si alguien lo revisa, agradecería que confirme si funciona o no.
Dejando eso claro, comencemos:
Primero vamos a necesitar instalar la herramienta, ya que no suele venir instalada por defecto:
sudo apt install ghostscript
Ahora abrimos la terminal en la ruta de nuestro PDF, que para el ejemplo lo llamaré «original.pdf» y le quitaremos la compresión que ya tiene de esta manera:
pdf2ps original.pdf big.ps
Ahora nos quedará un archivo más pesado que el original, pero tranquilos, ahora haremos la compresión final, para ello ejecutaremos:
ps2pdf big.ps small.pdf
Y con eso deberían obtener un PDF (small.pdf) bastante mejor comprimido y sin pérdida calidad.
Antes de encontrar esta solución pasé por otras con las que perdía calidad o el peso no cambiaba nada prácticamente. Incluso encontré uno donde usaban esta herramienta, pero sin convertir el PDF a PS, lo cual dejaba el PDF sin ningún cambio.
Si te funcionó, agradecería que lo dejes en comentarios así confirmamos que tan bien se da en otros casos, ya que esta solución solo la probé una vez con varios archivos PDF en los que todos eran iguales: Compuestos solo de imágenes y pesaban entre 300 a 700MB.
kj
Hola, he probado el método que indicas con 2 ficheros. El resultado en uno de ellos fue que el fichero resultado tenía un tamaño de aproximadamente el triple del original.
En el segundo, se redujo algo el tamaño (de 5.4Mb a 4.6Mb).
Imagino que la eficacia dependerá mucho de lo comprimido que esté el fichero original.
Gracias.
En efecto. En mi caso obtuve una reducción de la mitad, pero siempre depende de la compresión que tenga inicialmente.
Anotaré en mi lista de ideas el crear un script bash para hacerlo en lote y que notifique cosas como cuál fue el porcentaje de compresión, y de no ser positivo, que elimine el resultado.
kj