6

Linuxでは、マルチページPDFをサイズ変更された高解像度の画像に変換するために、以下を実行しています。

convert -verbose -colorspace RGB -resize 800 -interlace none -density 300 -quality 80 test.pdf test.jpg

私の人生では、RMagickを使用してこの正確なコマンドを再現することはできないようです。以下のようなものを試しましたが、画像に希望のサイズ/解像度がありません。何か案は?

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。

4

1 に答える 1

6

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

colorspaceinterlaceオプションについては実際にはわかりませんが、とについては間違いなく機能qualitydensityます。

于 2013-12-14T17:48:41.347 に答える