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

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

概述我所拥有的是响应html和pdf文件格式的控制器 *** 作,如下所示: def detail @record = Model.find(params[:id]) respond_to do |format| format.html # detail.html.erb format.pdf { render :layout => false } 我所拥有的是响应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=>100pdf.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时,文件名参数将显示在保存框对话框中.

总结

以上是内存溢出为你收集整理的ruby-on-rails – 如何在Ruby on Rails中设置prawn pdf文件名?全部内容,希望文章能够帮你解决ruby-on-rails – 如何在Ruby on Rails中设置prawn pdf文件名?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1278097.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存