ImageMagick es lo que utilizo para todos mis CLI gráficos, así que tal vez se puede trabajar para usted:
convert foo.pdf foo-%png
Esto produce tres archivos PNG separadas:
foo-0.png
foo-1.png
foo-2.png
para crear una sola imagen en miniatura, tratar el PDF como si fuera una matriz ([0]
es la primera página, [1]
es la segunda, etc.):
convert foo.pdf[0] foo-thumb.png
Puesto que usted está preocuparse por la memoria, con la opción -cache
, puede restringir el uso de la memoria:
-cache umbral megabytes de memoria disponible para la caché de píxeles.
píxeles de la imagen se almacenan en la memoria hasta que umbral megabytes de memoria han sido consumidos . Las operaciones de píxeles posteriores se almacenan en caché en el disco. Las operaciones a la memoria son significativamente más rápidas, pero si su computadora no tiene una cantidad de memoria libre que quiera ajustar este valor de umbral .
Así que para las imágenes miniatura de un archivo PDF y cambiar su tamaño ,, podría ejecutar este comando, que tendrá un uso de memoria máximo de alrededor de 20 MB:
convert -cache 20 foo.pdf[0] -resize 10%x10% foo-thumb.png
O usted podría utilizar -density
para especificar la densidad de salida (900 reduce la imagen bastante):
convert -cache 20 foo.pdf[0] -density 900 foo-thumb.png
Por supuesto, también puede especificar un parámetro '-densidad' si tiene archivos PDF de 3m². De lo contrario ... por defecto, 72 puntos por pulgada terminas ... déjame hacer algunos cálculos ... imagen de 24 megapíxeles ... – Benoit
Eso estaría bien. Agregaré '-resize' también. – Blender
@Blender: Sí. Pero '-densidad' es lo que se aplica cuando se invoca al delegado (ya sea Ghostscript) que es un comando externo. ¿Tal vez el delegado no puede estar limitado por la memoria? – Benoit