Entonces convert
de ImageMagick producirá PDF rasterizados y muchas personas estarían interesadas en mantener intactos los gráficos vectoriales y el texto para que solo se compriman las imágenes incrustadas. Una buena alternativa para hacer la compresión es usar gs
del paquete ghostscript
ejemplo de uso:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=out.pdf in.pdf
en el parámetro de comando anterior:-dPDFSETTINGS=/ebook
es importante. Puede tener 3 valores:
-dPDFSETTINGS=/screen (screen-view-only quality, 72 dpi images)
-dPDFSETTINGS=/ebook (low quality, 150 dpi images)
-dPDFSETTINGS=/printer (high quality, 300 dpi images)
-dPDFSETTINGS=/prepress (high quality, color preserving, 300 dpi imgs)
-dPDFSETTINGS=/default (almost identical to /screen)
Aquí sugiero una herramienta de línea de comandos, que se puede agrupar fácilmente con bucles en lenguajes de secuencias de comandos integrados en Windows, Linux, OS X, etc.
ImageMagick admite archivos PDF y tiene un resize
opción con su herramienta de conversión. Nunca lo he usado personalmente, pero puedes intentar jugar con eso.
También puedes usar el compress
opción (hay un ejemplo aquí):
Rotar un PDF
$ convert -rotate 270 -density 300x300 -compress lzw in.pdf out.pdf
Esto supone un PDF respaldado por TIFF. El parámetro de densidad es importante porque, de lo contrario, ImageMagick reduce la muestra de la imagen (por alguna razón). Agregar la opción de compresión ayuda a mantener el tamaño general del PDF más pequeño, sin pérdida de calidad.
Para archivos PDF de varias páginas, es posible que desee utilizar pdftk
, luego usa mogrify
de ImageMagick para convertir cada página en su lugar:
$ pdftk in.pdf burst $ mogrify -rotate 270 -density 300x300 -compress lzw pg_*.pdf $ pdftk pg*.pdf cat output out.pdf $ rm pg*.pdf
Para convertir archivos PDF con ImageMagick, debe tener instalado GhostScript.
ImageMagick puede convertir archivos PDF de varias páginas. mientras que mogrify
se convertirá en su lugar, te recomiendo que uses convert
para que puedas conservar los originales en caso de accidente.
He hecho algunas pruebas en el PDF de muestra proporcionado. Esto funcionó bastante bien para mí:
convert -density 200 -compress jpeg -quality 20 test.pdf test2.pdf
La densidad predeterminada es 72
PPP. Configurándolo más alto podemos obtener una resolución más alta y, por lo tanto, una calidad aceptable. Se veía bien en 150
, y era un poco más pequeño, pero si desea atender una variedad de archivos PDF 200
debería funcionar.
La compresión JPEG debe elegir automáticamente un nivel o el valor predeterminado es 92
en una escala de 1
a 100
con 100
ser el mejor. Configurándolo en 20
, se ve casi tan bien como el original (un poco más borroso y el texto pequeño en la parte inferior es un poco difícil de leer, pero de todos modos era original).
Estas opciones aportan su 1,7 MB muestra hasta 0,5 MB , manteniéndolo legible. Puedes experimentar un poco.
Si quieres un tamaño más pequeño (tanto del archivo como de la imagen/PDF), puedes usar -resize #%
, p.ej. -resize 75%
. Sin embargo, en su PDF de ejemplo, esto hace que la letra pequeña en la parte inferior sea prácticamente ilegible.
Si todavía tiene poco espacio, especialmente para los PDF de varias páginas, puede comprimir más agregando los archivos a un archivo ZIP (u otro). Esto redujo el tamaño del archivo a 0,43 MB en ese PDF de prueba (reducir la calidad de compresión JPEG tiene un efecto mucho más drástico). También puede dividir el archivo PDF en páginas con pdftk
, como sugirió @glallen en su edición, o dividir el archivo y recombinarlo en el otro extremo.
2 MB también es un límite de archivos adjuntos bastante pequeño, es posible que desee buscar otros proveedores de correo electrónico. Desde la memoria, GMail proporciona más de 10 MB por correo electrónico.
Estas opciones, y más, están completamente documentadas en su sitio web.