我在S3上有一个pdf文件,并希望创建一个Link
,其中包含每个页面的图像。
我正在使用基于this answer的代码:
image = MiniMagick::Image.open url, ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE
image.pages.each_with_index do |page, index|
name = "page#{index+1}-#{update.id}"
page_image = Tempfile.new([name, '.jpg'], binmode: true)
MiniMagick::Tool::Convert.new do |convert|
convert.background 'white'
convert.flatten
convert.density 300
convert.quality 100
convert << page.path
convert << page_image.path
end
page_image.open
link = Link.new
link.link_image = page_image.to_io
link.link_name = name
link.title = link.link_name
link.user_id = update.author_id
link.page = true
link.save
update.links << link
end
但是在Heroku上运行某些pdf时,我会收到错误R15(大大超出了内存配额)。有什么想法可以在大多数情况下避免这种情况吗? 目前它可以通过一些pdfs进行工作。