Estoy sugiriendo una herramienta de línea de comandos aquí, que se puede agrupar fácilmente con bucles en lenguajes de script incorporados en Windows, Linux, OS X, etc.
ImageMagick admite archivos PDF y tiene una resize
opción con su herramienta de conversión . Nunca lo he usado personalmente, pero puedes intentar jugar con eso.
También puede usar la compress
opción (hay un ejemplo aquí ):
Girar 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 (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 PDF de varias páginas, es posible que desee usar pdftk
, luego use mogrify
desde 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. Si bien mogrify
se convertirá en su lugar, le recomiendo que lo use convert
para que pueda conservar los originales en caso de accidente.
He realizado 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 por defecto es 72
DPI. Al configurarlo más alto podemos obtener una resolución más alta y, por lo tanto, una calidad aceptable. Se veía bien 150
y era un poco más pequeño, pero si desea atender a una variedad de archivos PDF 200
debería funcionar.
La compresión JPEG debe ya sea automática o elegir un nivel predeterminado a 92
en una escala de 1
a 100
con 100
ser el mejor. Estableciéndolo en 20
, se ve casi tan bueno como el original (un poco más difuso y el pequeño texto en la parte inferior es un poco difícil de leer, pero originalmente era de todos modos).
Estas opciones reducen su muestra de 1.7MB a 0.5MB , mientras la mantienen legible. Puedes experimentar un poco.
Si desea un tamaño más pequeño (tanto del archivo como de la imagen / PDF), puede usar -resize #%
, por ejemplo -resize 75%
. Sin embargo, en su PDF de ejemplo, esto hace que la letra pequeña en la parte inferior sea casi ilegible.
Si todavía tiene poco espacio, especialmente para los PDF de varias páginas, puede comprimir aún 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 (la reducción de 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 archivo adjunto bastante pequeño, es posible que desee buscar en otros proveedores de correo electrónico. De 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 .
JPEG
? ¿Cómoresize
resultó? ¿Tienes un archivo de muestra (no sensible) con el que podamos jugar? ¿Es aceptable el muestreo descendente?density
... ¡Juro que puedo leer y seguir las instrucciones! Poco avergonzado ahora: S Gracias por tomarse el tiempo para ayudarme BobEntonces,
convert
desde ImageMagick producirá PDF rasterizado 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. Entonces, una buena alternativa para hacer la compresión es usar elgs
paquete deghostscript
ejemplo de uso:en el parámetro de comando anterior:
-dPDFSETTINGS=/ebook
es importante. Puede tener 3 valores:fuente