2007-11-05

Rails宝典七十八式:生成PDF文档

关键字: PDF
1,install
gem install pdf-writer


2,require & register
# environment.rb
require 'pdf/writer'
Mime::Type.register 'application/pdf', :pdf


3,use
# lib/product_drawer.rb
def self.draw(products)
  pdf = PDF::Writer.new
  products.each do |product|
    pdf.text product.name
  end
  pdf.render
end

# products_controller.rb
def index
  @products = Product.find(:all)
  respond_to do |format|
    format.html
    format.pdf do
      send_data ProductDrawer.draw(@products), :filename => 'products.pdf', :type => 'application/pdf', :disposition => 'inline'
    end
  end
end

# in view
<p><%= link_to 'PDF Format', formatted_products_path(:pdf) %></p>

# in browser
http://localhost:3000/products.pdf
评论
blackanger 2008-01-24   回复
Mime::Type.register 'application/pdf', :pdf
这句应该放到controller里,要不无法工作
是不是和rails版本有关系,我用的是rails2.0.1
blackanger 2008-01-24   回复
去看一下pdf-writer的manual就知道了
jerry 2007-12-07   回复
如何解决pdf乱码问题?
比如pdf.text “测试"会乱码
jerry 2007-12-07   回复
PDF::Writer的例子就是太少,搜了半天没有发现如何画一条线。
发表评论

您还没有登录,请登录后发表评论

hideto
搜索本博客
我的相册
A6bdc31c-c66e-468e-961e-9cc721e82adc-thumb
screenshot
共 1 张
存档
最新评论