在linux中,我正在执行以下操作,将多页PDF转换为调整大小并具有高分辨率的图像:
convert -verbose -colorspace RGB -resize 800 -interlace none -density 300 -quality 80 test.pdf test.jpg
对于我的生活,我似乎无法使用RMagick重现这个EXACT命令。我试过下面这样的东西,但图像没有我想要的尺寸/分辨率。有什么想法吗?
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
}
}
干杯, -G。
答案 0 :(得分:5)
对方法new
使用带有质量选项的块,而不是方法write
:
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
实际上不确定colorspace
和interlace
选项,
但它绝对适用于quality
和density
。