¿Cómo reduzco el tamaño de un archivo pdf que contiene imágenes?

18

Tengo un archivo pdf que contiene imágenes y quiero reducir su tamaño para subirlo a un sitio con un límite de tamaño.

Entonces, ¿cómo puedo reducir el tamaño de un archivo pdf desde la línea de comandos?

Pandya
fuente

Respuestas:

26

Puede usar gs- GhostScript (intérprete de lenguaje PostScript y PDF y vista previa) de la siguiente manera:

  • Establecer pdfwrite como dispositivo de salida por-sDEVICE=pdfwrite
  • Use lo apropiado -dPDFSETTINGS.

    De la documentación :

    -dPDFSETTINGS = configuración
    Preajusta los "parámetros del destilador" a una de las cuatro configuraciones predefinidas:

    • / screen selecciona una salida de baja resolución similar a la configuración "Screen Optimized" de Acrobat Distiller.
    • / ebook selecciona una salida de resolución media similar a la configuración "eBook" de Acrobat Distiller.
    • / printer selecciona una salida similar a la configuración "Imprimir optimizada" de Acrobat Distiller.
    • / prepress selecciona una salida similar a la configuración "Prepress Optimized" de Acrobat Distiller.
    • / default selecciona la salida destinada a ser útil en una amplia variedad de usos, posiblemente a expensas de un archivo de salida más grande.
  • -oopción de archivo de salida que también establece -dNOPAUSEy -dBATCH(ver Parámetros relacionados con la interacción )

Ejemplo:

$ du -h file.pdf 
27M file.pdf

$ gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -q -o output.pdf file.pdf

$ du -h output.pdf 
900K    output.pdf

Aquí -qsuprime los mensajes de inicio normales, y también hace el equivalente de lo -dQUIETque suprime los comentarios de información de rutina

Pandya
fuente
No funciona para mi Una salida de PDF con capacidad de búsqueda tesseractpermanece completamente sin cambios al intentar reducirla con este comando.
Gabriel Staples
3
ps2pdf input.pdf output.pdf

Obtuve la respuesta de ask ubuntu y funcionó para mí. En realidad, redujo 18.1Mb a 1.0Mb

Hombre libre
fuente
No funciona para mi Una salida de PDF con capacidad de búsqueda tesseractpermanece completamente sin cambios al intentar reducirla con este comando.
Gabriel Staples
Esto es increíblemente simple si no le importa elegir todas las opciones que GhostScript necesita. Las páginas del manual dicen que el script acepta los mismos parámetros que gs, da este ejemplo:ps2pdf -dPDFSETTINGS=/prepress figure.ps proof.pdf
Cris Luengo hace
0

Puedes probar esto:

$ time pdftk myFile.pdf output myFile__SMALLER.pdf compress
GC Warning: Repeated allocation of very large block (appr. size 16764928):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 11837440):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 8384512):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 7254016):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 34041856):
    May lead to memory leak and poor performance.
GC Warning: Repeated allocation of very large block (appr. size 33525760):
    May lead to memory leak and poor performance.

real    0m23.677s
user    0m23.142s
sys     0m0.540s
$ du myFile*.pdf
108M    myFile.pdf
74M     myFile__SMALLER.pdf

Es más rápido gspero comprime hasta un 30% en este caso para un archivo de entrada de 107.5MiB.

SebMa
fuente
No funciona para mi Una salida de PDF con capacidad de búsqueda tesseractpermanece completamente sin cambios al intentar reducirla con este comando.
Gabriel Staples