0

我正在尝试使用飞碟从 jruby on rails 的视图中生成 pdf,并在控制器中使用以下代码:

def calendar
  @patient = Patient.find_by_id(params[:id])
  result = render_to_string
  send_data( FlyingSaucer::create_pdf(result), :filename => "calendar.pdf",
           :type => "application/pdf",
           :disposition => 'attachment')
end

我收到一个错误

未初始化的常量PatientsController::FlyingSaucer

我需要控制器中的 java 和 fly_saucer

任何帮助,将不胜感激

4

2 回答 2

1

尝试这个:

require 'flying_saucer'
java_import org.xhtmlrenderer.pdf.ITextRenderer

class SomeController < ApplicationController

def show
  respond_to do |format|
    format.pdf { send_data render_pdf, :filename => 'test.pdf' }
  end
end

private

def render_pdf                                                                
  io = StringIO.new                                                           
 content = render_to_string(:layout => false)
 # content = '<html><body><h1>Yo</h1></body></html>'                         
 renderer = ITextRenderer.new                                                
 renderer.set_document_from_string(content)                                  
 renderer.layout                                                             
 renderer.create_pdf(io.to_outputstream)                                     
 io.string                                                                   
 end                                                                           
end 

end

尝试查看此演示文稿的幻灯片 66 作为示例。

也可能有帮助。

于 2011-10-24T07:50:58.203 回答
0

确保飞碟罐在类路径中。

于 2011-07-19T06:17:48.577 回答