ruby-on-rails-3 – Rails,Prawn – PDF显示在浏览器等中

Fellas,我正在努力掌握对虾的pdf宝石.

好的,我远离主人lvl.我能够生成一个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.

题:

>如何强制大虾在应用/报告(或任何其他选定的)文件夹中生成文件
>如何使该操作在浏览器窗口中生成文件,不保存?
>如何使其保存并显示在浏览器窗口中?

你的,凯尔

解决方法

如何强制大虾在应用/报告(或任何其他选定的)文件夹中生成文件
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,"x.pdf")
  pdf.render_file filename
  send_file filename,:type => "application/pdf"
end

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...