将PDF转换为JPG时质量低

时间:2013-04-23 11:59:06

标签: ruby pdf imagemagick rmagick

我正在尝试使用Imagemagic(RMAgick)将PDF文档转换为图像。原始PDF也是从图像创建的(不是原生矢量PDF)。

image = Magick::Image::from_blob(original_pdf) { self.format = 'PDF' }
image[0].format = 'JPG'
image[0].to_blob
image[0].write(to_file.jpg) {
  self.quality = 100
  self.density = 144
}

但是打印时产生的图像质量太低。原始PDF同时具有良好的质量。 我正在尝试使用这些选项

self.quality = 100
self.density = 144

或使用PNG而不是JPG,但所有这些都不起作用,只增加kb中的图像大小)。

1 个答案:

答案 0 :(得分:9)

假设original_pdf是pdf文件的内容,例如:

original_pdf = File.open('from_file.pdf', 'rb').read

然后在方法块from_blob中应用质量选项 而不是方法块write

image = Magick::Image::from_blob(original_pdf) do
  self.format = 'PDF'
  self.quality = 100
  self.density = 144
end
image[0].format = 'JPG'
image[0].to_blob
image[0].write('to_file.jpg')

另见quality options for Magick::ImageList.new method