br_danfe 0.16.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -7
  3. data/br_danfe.gemspec +1 -1
  4. data/lib/br_danfe/danfe_lib/nfce.rb +2 -2
  5. data/lib/br_danfe/danfe_lib/nfce_lib/document.rb +1 -1
  6. data/lib/br_danfe/danfe_lib/nfce_lib/footer.rb +2 -2
  7. data/lib/br_danfe/danfe_lib/nfce_lib/header.rb +24 -10
  8. data/lib/br_danfe/danfe_lib/nfce_lib/key.rb +3 -3
  9. data/lib/br_danfe/danfe_lib/nfce_lib/nfce_identification.rb +3 -3
  10. data/lib/br_danfe/danfe_lib/nfce_lib/product_list.rb +44 -53
  11. data/lib/br_danfe/danfe_lib/nfce_lib/recipient.rb +1 -1
  12. data/lib/br_danfe/danfe_lib/nfce_lib/total_list.rb +16 -15
  13. data/lib/br_danfe/version.rb +1 -1
  14. data/spec/br_danfe/danfe_lib/nfce_lib/header_spec.rb +1 -1
  15. data/spec/fixtures/nfce/lib/document#render.pdf +12 -23
  16. data/spec/fixtures/nfce/lib/footer#render-with_additional_information.pdf +0 -0
  17. data/spec/fixtures/nfce/lib/footer#render.pdf +0 -0
  18. data/spec/fixtures/nfce/lib/header#render-homologation.pdf +0 -0
  19. data/spec/fixtures/nfce/lib/header#render-long_name_with_logo.pdf +0 -0
  20. data/spec/fixtures/nfce/lib/header#render-long_name_without_logo.pdf +0 -0
  21. data/spec/fixtures/nfce/lib/header#render-short_name_with_logo.pdf +0 -0
  22. data/spec/fixtures/nfce/lib/header#render-short_name_without_logo.pdf +0 -0
  23. data/spec/fixtures/nfce/lib/key#render.pdf +0 -0
  24. data/spec/fixtures/nfce/lib/nfce_identification#render.pdf +0 -0
  25. data/spec/fixtures/nfce/lib/product_list#render-with_many_products.pdf +0 -0
  26. data/spec/fixtures/nfce/lib/product_list#render-with_many_products_and_long_names.pdf +0 -0
  27. data/spec/fixtures/nfce/lib/product_list#render-with_single_product.pdf +0 -0
  28. data/spec/fixtures/nfce/lib/product_list#render-with_single_product_and_long_name.pdf +0 -0
  29. data/spec/fixtures/nfce/lib/product_list_with_many_products_and_long_names.xml +2 -2
  30. data/spec/fixtures/nfce/lib/product_list_with_single_product_and_long_name.xml +1 -1
  31. data/spec/fixtures/nfce/lib/recipient#render-company.pdf +0 -0
  32. data/spec/fixtures/nfce/lib/recipient#render-consumer_without_document.pdf +0 -0
  33. data/spec/fixtures/nfce/lib/recipient#render-foreign.pdf +0 -0
  34. data/spec/fixtures/nfce/lib/recipient#render-individual.pdf +0 -0
  35. data/spec/fixtures/nfce/lib/recipient#render-unidentified_consumer.pdf +0 -0
  36. data/spec/fixtures/nfce/lib/total_list#does_not_render-payment_methods.pdf +0 -0
  37. data/spec/fixtures/nfce/lib/total_list#render-grouped_payment_methods.pdf +0 -0
  38. data/spec/fixtures/nfce/lib/total_list#render-totals.pdf +0 -0
  39. data/spec/fixtures/nfce/lib/total_list#render-without_payment.pdf +0 -0
  40. data/spec/fixtures/nfce/lib/total_list#render.pdf +0 -0
  41. data/spec/fixtures/nfce/v4.00/multiples_xmls_on_the_same_pdf.pdf +568 -447
  42. data/spec/fixtures/nfce/v4.00/nfce-unauthorized-hom.fixture.pdf +0 -0
  43. data/spec/fixtures/nfce/v4.00/nfce-unauthorized-prod.fixture.pdf +0 -0
  44. data/spec/fixtures/nfce/v4.00/rendered_nfce.fixture.pdf +0 -0
  45. data/spec/fixtures/nfce/v4.00/saved_nfce.fixture.pdf +0 -0
  46. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 447b593d2df30cc919fbc59e6453d794c1a60319a256357f650023e51bc6f369
4
- data.tar.gz: a1d696214eeb03ef958c001870427cada4d826fabeb09cb24b1174a3ff19107e
3
+ metadata.gz: 8ddb33657303d50b425d475e7c493dde5272ed1d4e4bd7d96f9eab45a8f5c600
4
+ data.tar.gz: 67ba29fde1351c27b7ff6479a6bfd5d803cc843b4a756f9594bc53c82f44a3a0
5
5
  SHA512:
6
- metadata.gz: b7ca6b73178f85c69d8e40334cfdffe2a1840de6c4910c1a40d09f97df05624226a1c5e8e285b5774fcceac78646e32194ce372456a038a66f52f67cb6202f83
7
- data.tar.gz: 480fbe9dedac710566471b56a87ec05598bde90232b49fce063462739f249be6084944f397b8424661a2201ce086c77b8ae76c0ceb3315c2b7bf12c0757dfd30
6
+ metadata.gz: e99eb16d42eff7bf889afa5d697f75bdba24ebcc091b8713d55fa83e6950f5b2bc4269d7401292594dbcd5585b1698cd2fbfa3ec45fb96dadb94d0f117da4bfb
7
+ data.tar.gz: cf348dbad5f7117cda63a7e3d88226c35900a99cfe3ae3dca13e9fab3b093a195c0e7a5331877275b9580ade584422fcb9a63f6b120f7f279eaaf9b647b1ae79
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- br_danfe (0.16.0)
4
+ br_danfe (0.17.0)
5
5
  barby (= 0.6.8)
6
6
  br_documents (>= 0.1.3)
7
7
  i18n (>= 0.8.6)
@@ -25,7 +25,7 @@ GEM
25
25
  afm (0.2.2)
26
26
  ast (2.4.2)
27
27
  barby (0.6.8)
28
- br_documents (0.2.0)
28
+ br_documents (0.2.1)
29
29
  activemodel (>= 4.0.0)
30
30
  i18n (>= 0.6.5)
31
31
  byebug (11.1.3)
@@ -60,11 +60,9 @@ GEM
60
60
  rb-inotify (~> 0.9, >= 0.9.10)
61
61
  lumberjack (1.2.8)
62
62
  method_source (1.0.0)
63
- mini_portile2 (2.5.3)
64
63
  minitest (5.14.4)
65
64
  nenv (0.3.0)
66
- nokogiri (1.11.7)
67
- mini_portile2 (~> 2.5.0)
65
+ nokogiri (1.11.7-x86_64-linux)
68
66
  racc (~> 1.4)
69
67
  notiffany (0.1.3)
70
68
  nenv (~> 0.1)
@@ -92,7 +90,7 @@ GEM
92
90
  psych (4.0.1)
93
91
  racc (1.5.2)
94
92
  rainbow (3.0.0)
95
- rake (13.0.1)
93
+ rake (13.0.6)
96
94
  rb-fsevent (0.11.0)
97
95
  rb-inotify (0.10.1)
98
96
  ffi (~> 1.0)
@@ -147,7 +145,7 @@ DEPENDENCIES
147
145
  guard (~> 2.16.2)
148
146
  guard-rspec
149
147
  pdf-inspector (~> 1.3.0)
150
- rake (= 13.0.1)
148
+ rake (= 13.0.6)
151
149
  rspec (= 3.10.0)
152
150
  rubocop (= 0.67.0)
153
151
  rubocop-performance (~> 1.1.0)
data/br_danfe.gemspec CHANGED
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.add_development_dependency 'guard', '~> 2.16.2'
29
29
  spec.add_development_dependency 'guard-rspec'
30
30
  spec.add_development_dependency 'pdf-inspector', '~> 1.3.0'
31
- spec.add_development_dependency 'rake', '13.0.1'
31
+ spec.add_development_dependency 'rake', '13.0.6'
32
32
  spec.add_development_dependency 'rspec', '3.10.0'
33
33
  spec.add_development_dependency 'rubocop', '0.67.0'
34
34
  spec.add_development_dependency 'rubocop-performance', '~> 1.1.0'
@@ -1,7 +1,7 @@
1
1
  module BrDanfe
2
2
  module DanfeLib
3
3
  class Nfce < Base
4
- PAGE_WIDTH = 8.cm
4
+ PAGE_WIDTH = 7.cm
5
5
  PAGE_HEIGHT = 100.cm
6
6
 
7
7
  private
@@ -31,7 +31,7 @@ module BrDanfe
31
31
  NfceLib::Key.new(@document, xml).render
32
32
  NfceLib::Recipient.new(@document, xml).render
33
33
  NfceLib::NfceIdentification.new(@document, xml).render
34
- BrDanfe::QrCode.new(pdf: @document, xml: xml, qr_code_tag: xml['qrCode'], box_size: 3.cm).render
34
+ BrDanfe::QrCode.new(pdf: @document, xml: xml, qr_code_tag: xml['qrCode'], box_size: 4.5.cm).render
35
35
  NfceLib::Footer.new(@document, xml).render(footer_info)
36
36
 
37
37
  render_no_fiscal_value(xml)
@@ -12,7 +12,7 @@ module BrDanfe
12
12
  botton_margin: 0
13
13
  )
14
14
 
15
- @document.font 'Courier'
15
+ @document.font 'tinos'
16
16
  @document.line_width = 0.3
17
17
  end
18
18
 
@@ -9,11 +9,11 @@ module BrDanfe
9
9
 
10
10
  def render(info = '')
11
11
  tot_trib = @xml['ICMSTot/vTotTrib'].present? ? BrDanfe::Helper.numerify(@xml['ICMSTot/vTotTrib']) : '0,00'
12
- @pdf.text "Tributos Totais Incidentes (Lei Federal 12.741/2012): R$ #{tot_trib}", size: 5, align: :center
12
+ @pdf.text "Tributos Totais Incidentes (Lei Federal 12.741/2012): R$ #{tot_trib}", size: 8, align: :center
13
13
 
14
14
  if info.present?
15
15
  @pdf.render_blank_line
16
- @pdf.text info, size: 5, align: :center
16
+ @pdf.text info, size: 8, align: :center
17
17
  end
18
18
  end
19
19
  end
@@ -14,6 +14,7 @@ module BrDanfe
14
14
 
15
15
  render_company_info(cursor)
16
16
  render_logo(cursor) if @logo.present?
17
+ render_doc
17
18
 
18
19
  render_homologation if BrDanfe::Helper.homologation?(@xml)
19
20
  end
@@ -23,21 +24,20 @@ module BrDanfe
23
24
  def render_company_info(cursor)
24
25
  one_line = 1
25
26
 
26
- @pdf.bounding_box([x_position, cursor], width: width_box, height: 45) do
27
- @pdf.text (@xml['emit/xNome']).to_s, size: 7, align: :left, style: :bold
28
- @pdf.text cnpj(@xml['emit/CNPJ']), size: 6, align: :left
29
- @pdf.text BrDanfe::DanfeLib::NfceLib::Helper.address(@xml.css('enderEmit')), size: 6, align: :left
27
+ @pdf.bounding_box([x_position, cursor], width: width_box, height: 65) do
28
+ @pdf.text (@xml['emit/xNome']).to_s, size: 10, align: :left, style: :bold
29
+ @pdf.text cnpj(@xml['emit/CNPJ']), size: 9, align: :left
30
+ @pdf.text BrDanfe::DanfeLib::NfceLib::Helper.address(@xml.css('enderEmit')), size: 9, align: :left
30
31
  @pdf.render_blank_line if count_name_lines(@xml['emit/xNome']) == one_line
31
- @pdf.text 'Documento Auxiliar da Nota Fiscal de Consumidor Eletrônica', size: 6, align: :left
32
32
  end
33
33
  end
34
34
 
35
35
  def x_position
36
- @logo.present? ? 1.7.cm : 0
36
+ @logo.present? ? 2.2.cm : 0
37
37
  end
38
38
 
39
39
  def width_box
40
- @logo.present? ? 5.7.cm : 7.4.cm
40
+ @logo.present? ? 4.5.cm : 6.7.cm
41
41
  end
42
42
 
43
43
  def cnpj(info)
@@ -51,7 +51,7 @@ module BrDanfe
51
51
  end
52
52
 
53
53
  def render_logo(cursor)
54
- box_size = 45
54
+ box_size = 60
55
55
  logo_options = BrDanfe::Logo::Options.new(box_size, @logo_dimensions).options
56
56
 
57
57
  @pdf.bounding_box([0, cursor], width: box_size, height: box_size) do
@@ -59,9 +59,23 @@ module BrDanfe
59
59
  end
60
60
  end
61
61
 
62
- def render_homologation
62
+ def render_doc
63
63
  @pdf.render_blank_line
64
- @pdf.text 'EMITIDA EM AMBIENTE DE HOMOLOGAÇÃO – SEM VALOR FISCAL', size: 7, align: :center, style: :bold
64
+ cursor = @pdf.cursor
65
+
66
+ @pdf.bounding_box([0, cursor], width: 6.7.cm, height: 20) do
67
+ @pdf.text 'Documento Auxiliar da Nota Fiscal de Consumidor Eletrônica', size: 9, align: :center
68
+ end
69
+ end
70
+
71
+ def render_homologation
72
+ 2.times { @pdf.render_blank_line }
73
+
74
+ cursor = @pdf.cursor
75
+ @pdf.bounding_box([0, cursor], width: 6.7.cm, height: 20) do
76
+ @pdf.text 'EMITIDA EM AMBIENTE DE HOMOLOGAÇÃO', size: 8, align: :center, style: :bold
77
+ @pdf.text 'SEM VALOR FISCAL', size: 8, align: :center, style: :bold
78
+ end
65
79
  end
66
80
  end
67
81
  end
@@ -10,9 +10,9 @@ module BrDanfe
10
10
  def render
11
11
  @pdf.render_blank_line
12
12
 
13
- @pdf.text 'Consulte pela Chave de Acesso em', size: 7, align: :center, style: :bold
14
- @pdf.text @xml['urlChave'], size: 7, align: :center
15
- @pdf.text @xml['chNFe'].gsub(/(\d)(?=(\d\d\d\d)+(?!\d))/, '\\1 '), size: 6, align: :center
13
+ @pdf.text 'Consulte pela Chave de Acesso em', size: 9, align: :center, style: :bold
14
+ @pdf.text @xml['urlChave'], size: 9, align: :center
15
+ @pdf.text @xml['chNFe'].gsub(/(\d)(?=(\d\d\d\d)+(?!\d))/, '\\1 '), size: 8, align: :center
16
16
  end
17
17
  end
18
18
  end
@@ -12,9 +12,9 @@ module BrDanfe
12
12
  identification = "NFC-e nº #{@xml['ide/nNF']} Série #{@xml['ide/serie']} #{emitted_at}"
13
13
 
14
14
  @pdf.render_blank_line
15
- @pdf.text identification, size: 7, align: :center, style: :bold
16
- @pdf.text "<b>Protocolo de autorização:</b> #{@xml['infProt/nProt']}", size: 7, align: :center, inline_format: true
17
- @pdf.text "<b>Data de autorização: </b> #{BrDanfe::Helper.format_datetime(@xml['infProt/dhRecbto'])}", size: 7, align: :center, inline_format: true
15
+ @pdf.text identification, size: 9, align: :center, style: :bold
16
+ @pdf.text "<b>Protocolo de autorização:</b> #{@xml['infProt/nProt']}", size: 9, align: :center, inline_format: true
17
+ @pdf.text "<b>Data de autorização: </b> #{BrDanfe::Helper.format_datetime(@xml['infProt/dhRecbto'])}", size: 9, align: :center, inline_format: true
18
18
  end
19
19
  end
20
20
  end
@@ -14,19 +14,54 @@ module BrDanfe
14
14
 
15
15
  private
16
16
 
17
+ def render_headers(headers)
18
+ 2.times { @pdf.render_blank_line }
19
+ cursor = @pdf.cursor
20
+ headers.each_with_index do |header, index|
21
+ cursor -= 10 if index == 1
22
+ @pdf.bounding_box [columns[index][:position], cursor], width: columns[index][:width], height: 0.3.cm do
23
+ @pdf.text header[:content], header[:options]
24
+ end
25
+ end
26
+ end
27
+
17
28
  def headers
18
29
  [
19
- header_column('Código', :left),
20
- header_column('Descrição', :left),
21
- header_column('Qtde', :right),
30
+ header_column('CÓDIGO - DESCRIÇÃO', :left),
31
+ header_column('QTD', :left),
22
32
  header_column('UN', :right),
23
- header_column('Vl Unit', :right),
24
- header_column('Vl Total', :right)
33
+ header_column('VL UNIT', :right),
34
+ header_column('TOTAL', :right)
25
35
  ]
26
36
  end
27
37
 
28
38
  def header_column(title, align)
29
- { content: title, options: { align: align, size: 6, style: :bold } }
39
+ { content: title, options: { align: align, size: 9, style: :bold } }
40
+ end
41
+
42
+ def columns
43
+ [
44
+ { width: 6.7.cm, position: 0 },
45
+ { width: 1.7.cm, position: 0.cm },
46
+ { width: 1.cm, position: 1.7.cm },
47
+ { width: 1.7.cm, position: 2.7.cm },
48
+ { width: 2.3.cm, position: 4.4.cm }
49
+ ]
50
+ end
51
+
52
+ def render_products
53
+ @pdf.render_blank_line
54
+ products.each do |product|
55
+ cursor = @pdf.cursor
56
+
57
+ product.each_with_index do |cell, index|
58
+ cursor -= 10 if index == 1
59
+ @pdf.bounding_box [columns[index][:position], cursor], width: columns[index][:width], height: 0.3.cm do
60
+ options = cell[:options].merge(overflow: :truncate)
61
+ @pdf.text_box cell[:content], options
62
+ end
63
+ end
64
+ end
30
65
  end
31
66
 
32
67
  def products
@@ -35,9 +70,8 @@ module BrDanfe
35
70
 
36
71
  def product(det)
37
72
  [
38
- cell_text(det.css('prod/cProd').text),
39
- cell_text(det.css('prod/xProd').text),
40
- cell_number(BrDanfe::Helper.numerify(det.css('prod/qCom').text)),
73
+ cell_text("#{det.css('prod/cProd').text} - #{det.css('prod/xProd').text}"),
74
+ cell_text(BrDanfe::Helper.numerify(det.css('prod/qCom').text), align: :left),
41
75
  cell_text(det.css('prod/uCom').text, align: :right),
42
76
  cell_number(BrDanfe::Helper.numerify(det.css('prod/vUnCom').text)),
43
77
  cell_number(BrDanfe::Helper.numerify(det.css('prod/vProd').text))
@@ -45,7 +79,7 @@ module BrDanfe
45
79
  end
46
80
 
47
81
  def cell_text(text, options = {})
48
- cell = { content: text, options: { border_width: 0, size: 6 } }
82
+ cell = { content: text, options: { border_width: 0, size: 9 } }
49
83
  cell[:options].merge!(options)
50
84
  cell
51
85
  end
@@ -53,49 +87,6 @@ module BrDanfe
53
87
  def cell_number(text)
54
88
  cell_text(text, align: :right)
55
89
  end
56
-
57
- def columns
58
- [
59
- { width: 0.9.cm, position: 0 },
60
- { width: 2.6.cm, position: 0.9.cm },
61
- { width: 1.1.cm, position: 3.5.cm },
62
- { width: 0.4.cm, position: 4.6.cm },
63
- { width: 1.2.cm, position: 5.cm },
64
- { width: 1.2.cm, position: 6.2.cm }
65
- ]
66
- end
67
-
68
- def render_headers(headers)
69
- 2.times { @pdf.render_blank_line }
70
- cursor = @pdf.cursor
71
- headers.each_with_index do |header, index|
72
- @pdf.bounding_box [columns[index][:position], cursor], width: columns[index][:width], height: 0.2.cm do
73
- @pdf.text header[:content], header[:options]
74
- end
75
- end
76
- end
77
-
78
- def render_products
79
- @pdf.render_blank_line
80
- index_of_product_name = 1
81
- products.each do |product|
82
- box_height = box_height(product[index_of_product_name][:content])
83
- cursor = @pdf.cursor
84
-
85
- product.each_with_index do |cell, index|
86
- @pdf.bounding_box [columns[index][:position], cursor], width: columns[index][:width], height: box_height do
87
- @pdf.text cell[:content], cell[:options]
88
- end
89
- end
90
- end
91
- end
92
-
93
- def box_height(content)
94
- line_height_base = 0.23.cm
95
-
96
- lines = content.scan(/[\s\S]{1,20}( |$)/).length
97
- line_height_base * lines
98
- end
99
90
  end
100
91
  end
101
92
  end
@@ -23,7 +23,7 @@ module BrDanfe
23
23
  private
24
24
 
25
25
  def options
26
- { size: 7, align: :center }
26
+ { size: 9, align: :center }
27
27
  end
28
28
 
29
29
  def identified_recipient?
@@ -18,12 +18,13 @@ module BrDanfe
18
18
  private
19
19
 
20
20
  def subtotal
21
+ @pdf.render_blank_line
21
22
  cursor = @pdf.cursor
22
- @pdf.bounding_box [4.8.cm, cursor], width: 1.4.cm, height: 0.2.cm do
23
- @pdf.text 'Subtotal R$', size: 6, align: :left
23
+ @pdf.bounding_box [3.5.cm, cursor], width: 1.6.cm, height: 0.4.cm do
24
+ @pdf.text 'Subtotal R$', size: 9, align: :left
24
25
  end
25
- @pdf.bounding_box [6.2.cm, cursor], width: 1.2.cm, height: 0.2.cm do
26
- @pdf.text BrDanfe::Helper.numerify(@xml['ICMSTot > vProd'].to_f), size: 6, align: :right
26
+ @pdf.bounding_box [5.1.cm, cursor], width: 1.6.cm, height: 0.4.cm do
27
+ @pdf.text BrDanfe::Helper.numerify(@xml['ICMSTot > vProd'].to_f), size: 9, align: :right
27
28
  end
28
29
  end
29
30
 
@@ -31,16 +32,16 @@ module BrDanfe
31
32
  @pdf.render_blank_line
32
33
 
33
34
  cursor = @pdf.cursor
34
- print_text('Qtde. total de itens', cursor, size: 7, align: :left)
35
- print_text(@xml.css('det').count.to_s, cursor, size: 7, align: :right)
35
+ print_text('QTD. TOTAL DE ITENS', cursor, size: 10, align: :left)
36
+ print_text(@xml.css('det').count.to_s, cursor, size: 10, align: :right)
36
37
 
37
38
  cursor = @pdf.cursor
38
- print_text('Desconto R$', cursor, size: 7, align: :left)
39
- print_text(BrDanfe::Helper.numerify(@xml['ICMSTot > vDesc'].to_f), cursor, size: 7, align: :right)
39
+ print_text('DESCONTO R$', cursor, size: 10, align: :left)
40
+ print_text(BrDanfe::Helper.numerify(@xml['ICMSTot > vDesc'].to_f), cursor, size: 10, align: :right)
40
41
 
41
42
  cursor = @pdf.cursor
42
- print_text('Valor Total R$', cursor, size: 7, align: :left, style: :bold)
43
- print_text(BrDanfe::Helper.numerify(@xml['ICMSTot > vNF'].to_f), cursor, size: 7, align: :right, style: :bold)
43
+ print_text('VALOR TOTAL R$', cursor, size: 10, align: :left, style: :bold)
44
+ print_text(BrDanfe::Helper.numerify(@xml['ICMSTot > vNF'].to_f), cursor, size: 10, align: :right, style: :bold)
44
45
  end
45
46
 
46
47
  def payment_methods
@@ -59,19 +60,19 @@ module BrDanfe
59
60
  @pdf.render_blank_line
60
61
 
61
62
  cursor = @pdf.cursor
62
- print_text('Forma de pagamento', cursor, size: 7, align: :left, style: :bold)
63
- print_text('Valor pago R$', cursor, size: 7, align: :right, style: :bold)
63
+ print_text('FORMA PAGTO.', cursor, size: 9, align: :left, style: :bold)
64
+ print_text('VLR PAGO R$', cursor, size: 9, align: :right, style: :bold)
64
65
 
65
66
  payments.each do |key, value|
66
67
  cursor = @pdf.cursor
67
- print_text(I18n.t("nfce.payment_methods.#{key}"), cursor, size: 7, align: :left)
68
- print_text(BrDanfe::Helper.numerify(value.to_f), cursor, size: 7, align: :right)
68
+ print_text(I18n.t("nfce.payment_methods.#{key}"), cursor, size: 9, align: :left)
69
+ print_text(BrDanfe::Helper.numerify(value.to_f), cursor, size: 9, align: :right)
69
70
  end
70
71
  end
71
72
  end
72
73
 
73
74
  def print_text(text, cursor, options)
74
- @pdf.bounding_box [0, cursor], width: 7.4.cm, height: 0.25.cm do
75
+ @pdf.bounding_box [0, cursor], width: 6.7.cm, height: 0.35.cm do
75
76
  @pdf.text text, options
76
77
  end
77
78
  end
@@ -1,3 +1,3 @@
1
1
  module BrDanfe
2
- VERSION = '0.16.0'.freeze
2
+ VERSION = '0.17.0'.freeze
3
3
  end
@@ -42,7 +42,7 @@ describe BrDanfe::DanfeLib::NfceLib::Header do
42
42
  BrDanfe::XML.new(xml)
43
43
  end
44
44
 
45
- let(:pdf) { BrDanfe::DanfeLib::NfceLib::Document.new(8.cm, 5.cm) }
45
+ let(:pdf) { BrDanfe::DanfeLib::NfceLib::Document.new(8.cm, 6.cm) }
46
46
 
47
47
  subject { described_class.new pdf, xml, logo, logo_options }
48
48
 
@@ -13,20 +13,18 @@ endobj
13
13
  3 0 obj
14
14
  << /Type /Pages
15
15
  /Count 2
16
- /Kids [5 0 R 8 0 R]
16
+ /Kids [5 0 R 7 0 R]
17
17
  >>
18
18
  endobj
19
19
  4 0 obj
20
- << /Length 55
20
+ << /Length 38
21
21
  >>
22
22
  stream
23
23
  q
24
24
  0.3 w
25
25
 
26
26
  BT
27
- 8.50394 38.74569 Td
28
- /F1.0 6 Tf
29
- <> Tj
27
+ 8.50394 38.36169 Td
30
28
  ET
31
29
 
32
30
  Q
@@ -43,19 +41,11 @@ endobj
43
41
  /ArtBox [0 0 226.77165 51.02362]
44
42
  /Contents 4 0 R
45
43
  /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
46
- /Font << /F1.0 6 0 R
47
- >>
44
+ /Font << >>
48
45
  >>
49
46
  >>
50
47
  endobj
51
48
  6 0 obj
52
- << /Type /Font
53
- /Subtype /Type1
54
- /BaseFont /Courier
55
- /Encoding /WinAnsiEncoding
56
- >>
57
- endobj
58
- 7 0 obj
59
49
  << /Length 10
60
50
  >>
61
51
  stream
@@ -65,7 +55,7 @@ Q
65
55
 
66
56
  endstream
67
57
  endobj
68
- 8 0 obj
58
+ 7 0 obj
69
59
  << /Type /Page
70
60
  /Parent 3 0 R
71
61
  /MediaBox [0 0 226.77165 51.02362]
@@ -73,27 +63,26 @@ endobj
73
63
  /BleedBox [0 0 226.77165 51.02362]
74
64
  /TrimBox [0 0 226.77165 51.02362]
75
65
  /ArtBox [0 0 226.77165 51.02362]
76
- /Contents 7 0 R
66
+ /Contents 6 0 R
77
67
  /Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
78
68
  >>
79
69
  >>
80
70
  endobj
81
71
  xref
82
- 0 9
72
+ 0 8
83
73
  0000000000 65535 f
84
74
  0000000015 00000 n
85
75
  0000000109 00000 n
86
76
  0000000158 00000 n
87
77
  0000000221 00000 n
88
- 0000000326 00000 n
89
- 0000000647 00000 n
90
- 0000000742 00000 n
91
- 0000000802 00000 n
78
+ 0000000309 00000 n
79
+ 0000000618 00000 n
80
+ 0000000678 00000 n
92
81
  trailer
93
- << /Size 9
82
+ << /Size 8
94
83
  /Root 2 0 R
95
84
  /Info 1 0 R
96
85
  >>
97
86
  startxref
98
- 1099
87
+ 975
99
88
  %%EOF