Я использую Grim для преобразования PDF в изображения, вот мой код:
class PdfToImagesService
def initialize(pdf_file)
@pdf_file = pdf_file
end
def call
res = []
Grim.reap(@pdf_file.path).each_with_index do |page, index|
input_page = Tempfile.new([index.to_s, '.png'])
page.save(input_page.path, {
alpha: 'remove',
density: 300
})
res << input_page
end
res
end
end
Он создает образ в папке / tmp моего сервера, но это 0-октетное изображение, и поэтому он вылетает с
конвертировать: не разрешено /home/api/source/tmp/uploads/RackMultipart20181031-42206-6lqz8a_aea0ee662b.pdf' @ error/constitute.c/ReadImage/412. convert: no images defined
/ tmp / 020181031-42176-xkzpxu.png '@ error / convert.c / ConvertImageCommand / 3210.
Таким образом, "020181031-42176-xkzpxu.png" существует, но 0 октетов.