سؤال

في 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.

هل كانت مفيدة؟

المحلول

استخدم كتلة مع خيارات الجودة للطريقة 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top