rails 简单的生成PDF文档
[size=x-large][color=green]生成PDF文档
你用一个应用程序,它将产生一个报表,一个回执单或者一些其他的输出,你想让用户保存它们,为了得到一致的格式以及方便的分发,用一个PDF文档进行输出。
在rails应用程序中使用rubyFPDF来生成PDF 文档。
首先在 http://brian.imxcc.com/fpdf/rfpdf153c.tar.gz. 下载 ruby FPDF .解压后移动到fpdf.rb 的文件目录下的lib下面。
在控制器里 包含进来。
app/controllers/reports_controller.rb: class ReportsController < ApplicationController require 'fpdf' def index end def pdf_report # Data col_sizes = [40,20,20,20] data = [['Course','Exam 1','Exam 2','Final'], ['ENGLISH 101','90','87','B'], ['MUSIC 5A','97','100','A'], ['CALC 2','98','91','A'], ['SWIM','89','84','B'], ['HIST 110','91','81','B']] send_data pdf_report_card(col_sizes, data), :filename => "report.pdf", :type => "application/pdf" end private def pdf_report_card(col_sizes, data) pdf = FPDF.new pdf.AddPage pdf.SetFont('Arial','B') pdf.SetFontSize(10) pdf.SetFillColor(50,50,50) pdf.SetTextColor(255) pdf.SetDrawColor(0) pdf.SetLineWidth(0.2) # Table Header i = 0 col_sizes.each do pdf.Cell(col_sizes[i],7,data[0][i],1,0,'C',1) i += 1 end pdf.Ln() pdf.SetFillColor(218,206,255) pdf.SetTextColor(0) pdf.SetFont('Arial') fill = 0 # Table Data data[1..-1].each do |row| pdf.Cell(col_sizes[0],6,row[0],'LR',0,'L',fill) pdf.Cell(col_sizes[1],6,row[1],'LR',0,'L',fill) pdf.Cell(col_sizes[2],6,row[2],'LR',0,'L',fill) pdf.Cell(col_sizes[3],6,row[3],'LR',0,'C',fill) pdf.Ln() fill = (fill-1).abs % 2 end # Bottom Table Border total = 0 col_sizes.each {|x| total += x} pdf.Cell(total,0,'','T'); pdf.Output end end
在index.rhtml 简单的恶创建一个生成PDF报告连接。
app/views/reports/index.rhtml: <h1>Report</h1> <%= link_to 'Make PDF', :action => 'pdf_report' %>[/color][/size]
相关推荐
wl00 2020-10-28
EricNet 2020-07-05
EricNet 2020-05-27
何志文 2020-05-11
JOO 2020-04-26
happyfreeangel 2020-04-09
Poisedflw 2020-03-23
yangliuhbhd 2020-03-06
Ben的程序员生涯 2013-06-01
chenshuixian 2013-06-01
wes0 2014-05-31
mrice00 2019-12-20
EricNet 2019-12-11
89304896 2019-12-08
lihaoningxia 2013-07-09
userguanguan 2015-03-16