问题
I'm attempting to use Imagemagic(RMAgick) to convert PDF-document into image. Original PDF is created from an image too(not native vector 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
}
But resulting image has too low quality, when printing. Original PDF has good quality in same time. I'm trying to use these options
self.quality = 100
self.density = 144
or using PNG rather JPG, but all this doesn't work, only increase image size in kb ).
回答1:
Assuming original_pdf
is content of pdf file, e.g.:
original_pdf = File.open('from_file.pdf', 'rb').read
Then apply quality options in block of method from_blob
instead of block of method 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')
Look also quality options for Magick::ImageList.new method.
来源:https://stackoverflow.com/questions/16168798/low-quality-when-converting-pdf-to-jpg