我正在尝试了解Prawn pdf gem。

我能够使它生成PDF。 gemfile中的每个宝石都包括:

gem 'mysql', '~> 2.8.1'
gem 'prawn', '~> 0.12.0'
gem 'pdf-reader', '~> 0.10.0'
gem 'Ascii85', '~> 1.0.1'


在config / application.rb中:

config.autoload_paths << "#{Rails.root}/app/reports"


然后在控制器中:

 require 'prawn'

 def index
  pdf = Prawn::Document.new
  pdf.text "Hello World"
  pdf.render_file "x.pdf"
 end


比我称之为索引函数。在我的应用程序的根目录中创建了一个名为x.pdf的PDF。在gemfile,rakefile和config.ru中。

题:


如何强制prawn在app / report(或任何其他选定的)文件夹中生成文件?
如何采取措施在浏览器窗口中生成文件而不保存文件?
如何保存并显示在浏览器窗口中?

最佳答案

如何强制prawn在app / report(或任何其他选定的)文件夹中生成文件?

def index
  pdf = Prawn::Document.new
  pdf.text "Hello World"
  pdf.render_file File.join(Rails.root, "app/report", "x.pdf")
end


如何采取措施在浏览器窗口中生成文件而不保存文件?

def index
  pdf = Prawn::Document.new
  pdf.text "Hello World"
  send_data pdf.render, :filename => "x.pdf", :type => "application/pdf"
end


如何保存并显示在浏览器窗口中?

def index
  pdf = Prawn::Document.new
  pdf.text "Hello World"
  filename = File.join(Rails.root, "app/report", "x.pdf")
  pdf.render_file filename
  send_file filename, :filename => "x.pdf", :type => "application/pdf"
end

关于ruby-on-rails-3 - Rails,Prawn-PDF在浏览器等中显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7292625/

10-13 02:29