加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在Ruby on Rails中设置prawn pdf文件名?

发布时间:2020-12-17 02:29:04 所属栏目:百科 来源:网络整理
导读:我所拥有的是响应html和pdf文件格式的控制器操作,如下所示: def detail @record = Model.find(params[:id]) respond_to do |format| format.html # detail.html.erb format.pdf { render :layout = false } #detail.pdf.prawn end end 但当我得到文件时,它
我所拥有的是响应html和pdf文件格式的控制器操作,如下所示:

def detail
      @record = Model.find(params[:id])
      respond_to do |format|
         format.html # detail.html.erb
         format.pdf { render :layout => false } #detail.pdf.prawn
      end
   end

但当我得到文件时,它带有名称:1.pdf 2.pdf取决于params [:id]如何将文件名设置为myfile.pdf

–UPDATE–

我的detail.pdf.prawn文件示例


pdf.font "Helvetica"
pdf.image open("http://localhost:3000/images/myImage.png"),:position => :left,:width=>100
pdf.text "some text"
pdf.table(someData,:cell_style => { :border_width => 0.1,:border_color=> 'C1C1C1' }) do |table|
    table.row(0).style :background_color => 'D3D3D3'
    table.column(0..1).style(:align => :left)
    table.column(2..4).style(:align => :center)
    table.column(0).width = 100
    table.column(1).width = 250
    table.column(3..4).width = 68
    table.row(2).column(0..2).borders = []
    table.row(2).column(3).style(:font_style => :bold,:align => :right)
end

和format.pdf {render:layout => false}在控制器中使用detail.pdf.prawn上的说明呈现de pdf文件

解决方法

要详细说明fl00r的答案,如果你使用prawnto,pdf setup params可以进入你的控制器,包括文件名.

def detail
 @record = Model.find(params[:id])
 prawnto :prawn => { :page_size => 'A4',:left_margin => 50,:right_margin => 50,:top_margin => 80,:bottom_margin => 50},:filename => @record.name,:inline => true #or false


      respond_to do |format|
         format.html # detail.html.erb
         format.pdf { render :layout => false } #detail.pdf.prawn
      end
   end

如果你用prawnto创建不同的pdf,你可能会将配置移到它自己的方法中.但如果你只做一个,在控制器中就可以了.

注意:PDF网址仍将显示,例如1.pdf但是当他们保存PDF时,文件名参数将显示在保存框对话框中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读