2013-04-23 3 views
3

Я пытаюсь использовать Imagemagic (RMAgick) для преобразования PDF-документа в изображение. Оригинальный PDF-файл создается также из изображения (а не нативного вектора PDF).Низкое качество при конвертации PDF в JPG

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, но все это не работает, только увеличить размер изображения в кбайт).

+0

Возможный дубликат [Конвертировать PDF в изображение с высоким разрешением] (http://stackoverflow.com/questions/6605006/convert-pdf-to-image-with-high-resolution) – plinth

ответ

7

Предполагая 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.

+0

Работал просто потрясающе для меня! Благодаря! – FUT

+0

Да! это единственный способ, который на самом деле создает эффект плотности. – atomkirk

+0

Это сработало идеально для меня при преобразовании в png – tnaught

Смежные вопросы