Сейчас на сайте

Сейчас 6 гостей онлайн

Поиск

Tag Cloud

Twitter oAuth и Cod... Баллада о г... сихи лирик... стихи лири... Динамическ... Домашняя с... Использова... Использова... Отправка с... Создание ф... Шепот посл... TinyMCE в Rails стихи лири... Быстрая ра... Пишем собс... Создание с... Установка ... Ностальгия... Москва-Бел... стихи лири... Стихи про п... Крылья сти... Создание п... Простой по... Создание п... Одинокий в... Гражданин ... Несчастный... Сонет стих... Отрезок ст... Врагу не сд... Предчувств... Поиск в ст... Использова... Смерть дву... Использова... Как сделат... Как сделат... Облако тег... Южная сере... Программна... Codeigniter в де... CodeIgniter: фор... проверка в... стихи лири... WEB fetcher(scrappe... Простой Twitt... стихи твор... стихи лири... Побег с Сол... Отправка SMS... MS VSTO 2007/Infusio... Установка R... Степные тр... моя любовь. К твоим оз... Сомкнуть л... чтоб отдат... вот – вот ... еще не расс... Снег тишина и лу... и мира пово... что мой пос... Лишь ты. И т... ты любима ты чиста. Экспорт да... Я пью до дн... что нам теп... -Наш первый... Социальные... Социальные... Спит в можж... Воздух про... Стены рожденные ... эхо умрет. Неотправле... стихи лири... Он порезал... Боясь шагн... не осталос... Услышать з... Программир...

Создание файлов PDF файлов в приложениях Ruby on Rails PDF Печать E-mail
31.05.2011 02:12

Динамическая генерация PDF файлов очень полезна, когда нужно создать файл отчета илисохранить данные в удобном виде. Для этого существует такой плагин в Ruby on Rails «pdf-writer». Итак, разберемся как с ним работать.

1. Установим его в приложение. Для этого нужно ввести команду «gem install pdf-writer»

C:\myproject>gem install pdf-writer

Successfully installed pdf-writer-1.1.8

1 gem installed

Installing ri documentation for pdf-writer-1.1.8...

Installing RDoc documentation for pdf-writer-1.1.8...

2.  После установки, необходимо  отредактировать  файл «environment.rb»
 
И поместить в него такие строки:
 

require 'pdf/writer'

Mime::Type.register 'application/pdf', :pdf

Первая подключает этот плагин к нашему приложению, а вторая устанавливает новый тип данных Mime, с которыми оно будет работать.

3. На конец, самое главное,- собственно генератор PDF файлов в приложении. В файле app/controllers/application.rb пишем вспомогательный метод:

  def render_to_pdf(options = nil)
  data = render_to_string(options)
  pdf = PDF::HTMLDoc.new
  pdf.set_option :bodycolor, :white
  pdf.set_option :toc, false
  pdf.set_option :portrait, true
  pdf.set_option :links, false
  pdf.set_option :webpage, true
  pdf.set_option :left, '2cm'
  pdf.set_option :right, '2cm'
  pdf << data
  pdf.generate
  end

Этот метод будет использоваться при генерировании PDF файл. Он принимает данные и превращает их в файл.

  
 

4. Затем мы редактируем стандартный метод «index» нашего приложения:

 
 def index
    @goods = Good.find(:all)
    respond_to do |format|
      format.html 
      format.xml { head :ok }
      format.pdf { send_data render_to_pdf({ :action => 'index.rpdf', :layout => 'pdf_report' }) }
    end
  end

Здесь  мы организуем  форматирование  данных, получаемых из базы и перенапрваляем выход во вновь созданный вспомогательный метод «render_to_pdf».
 
5.  Далее изменим файл вида «index» и  вставим в него следующее:
 
 
<%= link_to 'PDF', formatted_goods_path(:pdf) %>
 
Линк вызывает метод контроллера для генерирования  PDF документа.
 
 
Это все. Теперь, когда пользователь нажмет на вышеуказанный линк, то он получит PDF файл. 
 
 

0
 

Добавить комментарий


Защитный код
Обновить