使用MiniMagick的PDF图像存储空间不足

时间:2018-09-20 17:49:25

标签: ruby-on-rails heroku minimagick refile

我在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进行工作。

0 个答案:

没有答案