[size=x-large][color=green]生成PDF文档
你用一个应用程序, 它将产生一个报表, 一个回执单或者一些其他的输出, 你想让用户保存它们, 为了得到一致的格式以及方便的分发,用一个PDF文档进行输出。
在rails 应用程序中使用 ruby FPDF来生成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]
分享到:
相关推荐
4. **生成器**:使用`rails generate rspec:install`命令来初始化RSpec,并创建必要的目录结构和初始文件。 #### 三、模型测试 - **分析模型测试**:了解模型的基本结构,包括属性、关联关系、验证规则等。 - **...
总结来说,这个主题涵盖了Rails开发、RSpec测试、文档生成以及可能的文件转换技术。要深入学习这个话题,你需要熟悉Rails、RSpec的使用,理解CHM文件的结构,以及如何使用适当的工具和技术将代码行为测试和文档生成...
Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架,它遵循敏捷开发的理念,致力于提高开发效率和代码的可读性。在Rails 3.1版本中,引入了许多重要更新和改进,...
PDF文档通常包含详细的教程、实例代码和可能的练习题,旨在帮助学习者全面了解和掌握Ruby on Rails的核心概念和技术。 在Rails框架中,关键知识点包括: 1. **Ruby基础知识**:首先,理解Ruby语言的基本语法和特性...
《Ruby on Rails 3 Tutorial》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的一个开源框架,它采用MVC(Model-View-...
根据提供的文件信息,“Ruby on Rails Bible.pdf”这本书涵盖了Ruby on Rails框架的基础知识、核心概念以及高级功能等内容。接下来,我们将从书中的章节标题入手,详细阐述各章节所涉及的重要知识点。 ### 引言 ...
`rails generate migration AddColumnToBooks column:type`会生成一个新的迁移文件,然后通过`rails db:migrate`执行迁移,更新数据库。 7. **路由(Routing)** Rails的路由系统将URL映射到控制器的动作上,定义...
"Rails Erd"是一个Ruby gem,专门用于为Rails应用程序自动生成ERD,使得数据库设计和管理变得更加简单和直观。这个工具是由Voormedia开发的,版本号为0eb4577。 ERD是数据库设计的基础,它通过图形化方式展示了各个...
- `rake doc:rails`: 生成 Rails 框架本身的 API 文档。 - `rake doc:plugins`: 为已安装的所有插件生成文档。 - **文档清理**: - `rake doc:clobber_app`: 删除应用程序的 API 文档。 - `rake doc:clobber_...
Wicked PDF Wicked PDF Ruby on Rails的PDF生成插件Wicked PDF使用shell实用程序wkhtmltopdf从HTML向用户提供PDF文件。 换句话说,而不是处理某种PDF生成的DSL Wicked PDF Ruby on Rails的PDF生成插件Wicked PDF使用...
1. **生成资源(Generating Resources)**:使用`rails generate`命令可以快速创建模型、控制器、视图等文件,如`rails generate scaffold Post title:string content:text`会生成一个名为Post的资源,包含相关的...
Wicked PDF使用shell实用程序从HTML向用户提供PDF文件。 换句话说,您无需像通常那样处理PDF生成的DSL,而是只需像通常那样编写HTML视图,然后让Wicked PDF处理繁琐的工作。 Wicked PDF已经过验证,可以在Ruby 2.2...
在压缩包子文件的文件名称列表中仅列出“rails”,这可能是Rails框架的核心库文件,或者是包含了Rails框架的安装包。在实际的开发环境中,这样的压缩包通常还会包含数据库连接器(如pg或mysql2)、开发工具(如...
**Rails入门教程一(翻译).pdf** Rails,全称为Ruby on Rails,是一个基于Ruby语言的开源Web应用程序框架,遵循MVC(Model-View-Controller)架构模式,用于构建数据库驱动的web应用。本教程是针对初学者设计的,...
数据导出是 web 应用中常见的需求,例如生成 CSV、Excel 或 PDF 文件供用户下载。Exporter 类库通常包含一系列方法,用于格式化数据、生成文件并提供下载链接。Rails Exporter 可能会利用 ActiveRecord 查询数据,并...
本“rails学习教程”PDF文档将涵盖以上所有内容,通过详尽的实例和解释,帮助你从新手到熟手,全面掌握Rails开发。无论是想从事Web开发职业,还是想要提升个人项目开发能力,这都是一份不可多得的学习资料。
根据提供的文件信息,可以看出这是一份关于 Ruby on Rails(简称 Rails)编程的书籍或资源列表。下面将基于这些信息来生成相关的知识点。 ### 关键词:Rails (Ruby on Rails) **1. Ruby on Rails 平台简介** - *...
- **数据库配置**:在Rails中,数据库的配置通常涉及模型的生成,以及在配置文件中设置数据库连接参数。 ### MVC架构模式 - **MVC架构**:文档中提到的MVC是Rails的核心架构模式,它将应用程序分为三个主要的组件...
2. **初始化项目**:使用`rails new`命令创建一个新的Rails应用,这个命令会生成一系列的目录和文件,包括基础的MVC结构。 3. **数据库配置**:Rails默认使用SQLite数据库,但也可以配置为使用MySQL、PostgreSQL等...
9. **tmp**:临时文件目录,存储运行时生成的文件,如缓存、session和pids(进程ID)。 10. **doc**:文档目录,可能包含API文档或其他开发者指南。 综上所述,这个压缩包提供的Depot项目是一个典型的Rails应用...