use Prawn to generate pdf

Hello:

when i use Prawn to generate pdf file for download, i got a blank pdf file, can someone tell me why?

require ‘prawn’

class DownloadController < ApplicationController

def download_pdf

send_data(generate_pdf, :filename => ‘test.pdf’, :type => ‘application/pdf’)

end

private

def generate_pdf

Prawn::Document.new do |p|

p.text ‘Document Name’, :align => ‘center’

p.text ‘Address: address’

p.text ‘text end’

end.render

end

end

routes.rb:

map.download ‘/download’, :controller => ‘download’, :action => ‘download_pdf’

when i type http://localhost:3000/download in firefox, i got a blank pdf file, no one text in this file why?

my client adobe reader version 9.0

Here's how you should do it:

class DownloadController < ApplicationController

  def download_pdf
    send_data(generate_pdf, :filename => 'test.pdf', :type => 'application/pdf')
  end

  private
  def generate_pdf
    document = Prawn::Document.new do |p|
      p.text 'Document Name', :align => 'center'
      p.text 'Address: address'
      p.text 'text end'
    end.render
    send_data document, :type => 'application/pdf'
  end
end

Hi, Maricio:

i had test again, but the result is same, i got a test.pdf file ,but when i open it, it’s blank.