3

我正在尝试使用 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 为单位)。

4

1 回答 1

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')

还要查看method的质量选项Magick::ImageList.new

于 2013-12-14T18:12:19.457 回答