Pregunta
En Linux que estoy haciendo lo siguiente para convertir un PDF de varias páginas en imágenes redimensionadas y con una alta resolución:
convert -verbose -colorspace RGB -resize 800 -interlace none -density 300 -quality 80 test.pdf test.jpg
Para la vida de mí, me parece que no puede reproducir este comando exacto usando RMagick. He intentado algo como esto más adelante, pero la imagen no tiene el tamaño / resolución que quiero. Algunas ideas?
Magick::ImageList.new('test.pdf').each_with_index { |img, i|
img.resize_to_fit!(800, 800)
img.write("test-#{i}.jpg") {
self.quality = 80
self.density = '300'
self.colorspace = Magick::RGBColorspace
self.interlace = Magick::NoInterlace
}
}
Cheers, G.
Solución
Use un bloque con opciones de calidad para el método new
en lugar de write
método:
Magick::ImageList.new('test.pdf') do
self.quality = 80
self.density = '300'
self.colorspace = Magick::RGBColorspace
self.interlace = Magick::NoInterlace
end.each_with_index do |img, i|
img.resize_to_fit!(800, 800)
img.write("test-#{i}.jpg")
end
No está seguro acerca de las opciones realidad colorspace
y interlace
,
pero definitivamente funciona para quality
y density
.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow