class PdfBuilder
  attr_accessor :obj, :pdf

  @@obj = JasperRails::JasperReportsRenderer.new("pdf", {:mime_type=>Mime::PDF}) do |jasper_print, options|
    _JasperExportManager = Rjb::import 'net.sf.jasperreports.engine.JasperExportManager'
    _JasperExportManager._invoke('exportReportToPdf', 'Lnet.sf.jasperreports.engine.JasperPrint;', jasper_print)
  end

  def initialize
    file_extension = "pdf"
    options = {:mime_type=>Mime::PDF}

    @pdf = CombinePDF.new
  end

  def self.generate_pdf path_layout, data, controller_params, options
    @@obj.render(path_layout, data, controller_params, options)
  end

  def merge_pdf pdf
    @pdf << CombinePDF.parse( pdf.force_encoding(Encoding::UTF_8) )
  end

  ##
  #Send the layout to the report, the data to fill the report, the params from the controller and some options
  def add_report path_layout, data, controller_params, options
    content = @@obj.render(path_layout, data, controller_params, options)
    @pdf << CombinePDF.parse( content.force_encoding(Encoding::UTF_8))
  end

  def render
    @pdf
  end

end
