class BrDanfe::Mdfe

Attributes

logo_options[R]

Public Class Methods

new(xml) click to toggle source
# File lib/br_danfe/mdfe.rb, line 9
def initialize(xml)
  @xml = BrDanfe::XML.new(xml)
  @pdf = MdfeLib::Document.new
  @logo_options = BrDanfe::Logo::Config.new
end

Public Instance Methods

render_pdf() click to toggle source
# File lib/br_danfe/mdfe.rb, line 20
def render_pdf
  generate
  @pdf.render
end
save_pdf(filename) click to toggle source
# File lib/br_danfe/mdfe.rb, line 15
def save_pdf(filename)
  generate
  @pdf.render_file(filename)
end

Private Instance Methods

generate() click to toggle source
# File lib/br_danfe/mdfe.rb, line 27
def generate
  generate_on_first_page
  generate_on_each_page
end
generate_on_each_page() click to toggle source
# File lib/br_danfe/mdfe.rb, line 41
def generate_on_each_page
  header = MdfeLib::Header.new(@pdf, @xml, @logo_options.logo, @logo_options.logo_dimensions)
  mdfe_identification = MdfeLib::MdfeIdentification.new(@pdf, @xml)

  @pdf.page_count.times do |i|
    page = i + 1

    @pdf.go_to_page page

    header.generate
    mdfe_identification.generate(page)
  end
end
generate_on_first_page() click to toggle source
# File lib/br_danfe/mdfe.rb, line 32
def generate_on_first_page
  MdfeLib::Totalizer.new(@pdf, @xml).generate
  MdfeLib::AuthorizationProtocol.new(@pdf, @xml).generate
  MdfeLib::FiscoControl.new(@pdf, @xml).generate
  MdfeLib::Vehicles.new(@pdf, @xml).generate
  MdfeLib::Drivers.new(@pdf, @xml).generate
  MdfeLib::Notes.new(@pdf, @xml).generate
end