如何上传多页PDF并使用Paperclip将其转换为JPEG?

时间:2012-07-22 03:39:25

标签: ruby-on-rails pdf paperclip jpeg docsplit

有没有人知道如何使用Paperclip上传多页pdf并将每个页面转换为Jpeg?

到目前为止,每次上传PDF时,它只允许我将PDF的第一页看作JPEG。但我希望能够将PDF中的每个页面上传并转换为JPEG格式。

是否有任何宝石或插件可以帮助我上传10-pg PDF并在数据库中转换/存储为10个JPEG文件?

我查看了docsplit-images gem,但我不确定这是解决方案的最佳解决方案还是工作方式。

Post.rb

class Post < ActiveRecord::Base
  belongs_to :Blogs

  attr_accessible :content, :title, :pdf

  has_attached_file :pdf,
                    :url  => "/assets/products/:id/:style/:basename.:extension",
                    :path => ":rails_root/public/assets/products/:id/:style/:basename.:extension"

  validates_attachment_content_type :pdf,
      :content_type => [ 'application/pdf' ],
      :message => "only pdf files are allowed"
end

_form.html.erb

<%= form_for ([@post]), :html => { :multipart => true } do |f| %>

    <%= f.file_field :pdf %>

<% end %>

show.html.erb

  <%= image_tag @post.pdf.url(:original) %>

1 个答案:

答案 0 :(得分:6)

使用图像标签是没有意义的。将您的image_tag更改为常规链接,您就可以下载并查看所有页面。

<p>
  <%= link_to 'My PDF', @post.pdf.url %>
</p>