Kae*_*ael 15 pdf prawn ruby-on-rails-3
我正在尝试了解Prawn pdf gem.
我能够生成一个pdf.gemfile中的每个gem都包括:
gem 'mysql', '~> 2.8.1'
gem 'prawn', '~> 0.12.0'
gem 'pdf-reader', '~> 0.10.0'
gem 'Ascii85', '~> 1.0.1'
Run Code Online (Sandbox Code Playgroud)
在config/application.rb中:
config.autoload_paths << "#{Rails.root}/app/reports"
Run Code Online (Sandbox Code Playgroud)
然后在控制器中:
require 'prawn'
def index
pdf = Prawn::Document.new
pdf.text "Hello World"
pdf.render_file "x.pdf"
end
Run Code Online (Sandbox Code Playgroud)
比我调用索引函数.在我的应用程序的根目录中创建了一个名为x.pdf的PDF.在gemfile中,rakefile和config.ru.
题:
Ben*_*ret 32
如何强制大虾在app/report(或任何其他选定的)文件夹中生成文件?
def index
pdf = Prawn::Document.new
pdf.text "Hello World"
pdf.render_file File.join(Rails.root, "app/report", "x.pdf")
end
Run Code Online (Sandbox Code Playgroud)
如何在浏览器窗口中执行生成文件的操作而不保存?
def index
pdf = Prawn::Document.new
pdf.text "Hello World"
send_data pdf.render, :filename => "x.pdf", :type => "application/pdf"
end
Run Code Online (Sandbox Code Playgroud)
如何保存并显示在浏览器窗口中?
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
Run Code Online (Sandbox Code Playgroud)
Jus*_*ner 17
回答问题3:"如何保存并显示在浏览器窗口中?"
def index
pdf = Prawn::Document.new
pdf.text 'Hello World'
send_data pdf.render, filename: 'x.pdf', type: 'application/pdf', disposition: 'inline'
end
Run Code Online (Sandbox Code Playgroud)
disposition: 'inline' 将强制浏览器(如果可以)在当前浏览器窗口中显示您的PDF