【发布时间】:2012-07-22 03:39:24
【问题描述】:
有人知道如何使用 Paperclip 上传多页 pdf 并将每一页转换为 Jpeg 吗?
到目前为止,每次我上传 PDF 时,它只允许我以 JPEG 格式查看 PDF 的第一页。但我希望能够上传 PDF 中的每一页并将其转换为 JPEG。
是否有任何 gem 或插件可以帮助我上传 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) %>
【问题讨论】:
-
当你说它只让你看到第一页时,这意味着从服务器重新下载 PDF,对吗?这种行为会让我感到惊讶,因为我认为 Paperclip 根本不解析 PDF——它只是直接将二进制数据复制到你的服务器——所以有人解析 PDF 并将其截断为一页真的很奇怪在那个过程中的某个地方。
-
@Matchu 基本上,我可以在浏览器中看到 PDF 第一页的图像。我希望能够滚动浏览所有十页。有没有办法做到这一点。
-
url: 部分是干什么用的?它与 :path 有何不同?
标签: ruby-on-rails pdf paperclip jpeg docsplit