nfewizard-io 0.0.1

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 (594) hide show
  1. package/LICENSE.txt +221 -0
  2. package/README.md +149 -0
  3. package/dist/assets/logo.jpg +0 -0
  4. package/dist/certs/AC CertiSign.crt +22 -0
  5. package/dist/certs/AC-A-DIGIFORTE-RFB.crt +39 -0
  6. package/dist/certs/AC-ACD-v5.crt +40 -0
  7. package/dist/certs/AC-CERTISIGN-ICP-BRASIL-CODE.crt +45 -0
  8. package/dist/certs/AC-CERTISIGN-ICP-BRASIL-SSL-G2.crt +47 -0
  9. package/dist/certs/AC-Certisign-ICP-Brasil-SSL-EV-G3.crt +49 -0
  10. package/dist/certs/AC-Certisign-ICP-Brasil-SSL-EV-G4.crt +49 -0
  11. package/dist/certs/AC-DIGITAL-MAIS.crt +36 -0
  12. package/dist/certs/AC-INFOCO-DIGITAL-v5.crt +40 -0
  13. package/dist/certs/AC-PRIME-v5.crt +40 -0
  14. package/dist/certs/AC-PRODESP-RFB-v1.crt +41 -0
  15. package/dist/certs/AC-PRODESP-SP-SSL.crt +47 -0
  16. package/dist/certs/AC-PRODESP-SP.crt +36 -0
  17. package/dist/certs/AC-QUALITYCERT-v5.crt +40 -0
  18. package/dist/certs/AC-REDEBRASILv5.crt +40 -0
  19. package/dist/certs/AC-SERASA-SSL-EV-V2.crt +45 -0
  20. package/dist/certs/AC-SERASA-SSL-EV-V3.crt +45 -0
  21. package/dist/certs/AC-SERASA-SSL-EV-V4.crt +45 -0
  22. package/dist/certs/AC-SERPRO-SSLv1-v10.crt +40 -0
  23. package/dist/certs/AC-SOLUTI-CS-EV.crt +43 -0
  24. package/dist/certs/AC-SOLUTI-SSL-EV-G2.crt +43 -0
  25. package/dist/certs/AC-SOLUTI-SSL-EV-G3.crt +44 -0
  26. package/dist/certs/AC-SOLUTI-SSL-EV-G4.crt +44 -0
  27. package/dist/certs/AC-SOLUTI-v5-G2.crt +36 -0
  28. package/dist/certs/AC-SyngularID.crt +36 -0
  29. package/dist/certs/AC-VALID-CODE-SIGNING.crt +43 -0
  30. package/dist/certs/AC-VALID-SSL-EV.crt +44 -0
  31. package/dist/certs/ACIMESP1n.crt +26 -0
  32. package/dist/certs/ACIMPRENSAOFICIALRFBSSL.crt +41 -0
  33. package/dist/certs/ACImprensaOficial_18072011.crt +0 -0
  34. package/dist/certs/ACSyngularIDMultipla0.crt +42 -0
  35. package/dist/certs/AC_A_R_A_CERTIFICACAO_DIGITAL_v5.crt +41 -0
  36. package/dist/certs/AC_BR_RFB_G2.crt +27 -0
  37. package/dist/certs/AC_BR_RFB_G3.crt +39 -0
  38. package/dist/certs/AC_BR_RFB_G4.crt +39 -0
  39. package/dist/certs/AC_BoaVista.crt +36 -0
  40. package/dist/certs/AC_BoaVista_Certificadora.crt +44 -0
  41. package/dist/certs/AC_Boa_Vista_RFB.crt +39 -0
  42. package/dist/certs/AC_CACB_CD.crt +40 -0
  43. package/dist/certs/AC_CACB_RFB.crt +41 -0
  44. package/dist/certs/AC_CACB_RFB_G2.crt +41 -0
  45. package/dist/certs/AC_CAIXA_PF_1v2.crt +37 -0
  46. package/dist/certs/AC_CAIXA_PJ-SSL_v2.crt +38 -0
  47. package/dist/certs/AC_CAIXA_PJ_1v2.crt +37 -0
  48. package/dist/certs/AC_CAIXA_v2.crt +36 -0
  49. package/dist/certs/AC_CCN_COMPANHIA_CERTIFICADORA_NACIONAL_v5.crt +41 -0
  50. package/dist/certs/AC_CERTBANK_v5.crt +41 -0
  51. package/dist/certs/AC_CERTDATA_BRASIL.crt +41 -0
  52. package/dist/certs/AC_CERTIFICA_ANAPOLIS_v5_G2.crt +41 -0
  53. package/dist/certs/AC_CERTIFICA_MINAS_v5.crt +40 -0
  54. package/dist/certs/AC_CERTIPE_CD.crt +40 -0
  55. package/dist/certs/AC_CERTISIGN-JUS_CODESIGNING_G6.crt +39 -0
  56. package/dist/certs/AC_CERTISIGN-JUS_G5.crt +38 -0
  57. package/dist/certs/AC_CERTISIGN-JUS_SSL_G6.crt +38 -0
  58. package/dist/certs/AC_CERTMAIS_CD.crt +40 -0
  59. package/dist/certs/AC_CNDL_RFB.crt +39 -0
  60. package/dist/certs/AC_CNDL_RFB_v2.crt +39 -0
  61. package/dist/certs/AC_CNDL_RFB_v3.crt +39 -0
  62. package/dist/certs/AC_CONSULTI_BRASIL_RFB.crt +39 -0
  63. package/dist/certs/AC_Caixa.crt +23 -0
  64. package/dist/certs/AC_Caixa_JUS_v1.crt +29 -0
  65. package/dist/certs/AC_Caixa_JUS_v2.crt +39 -0
  66. package/dist/certs/AC_Caixa_PF-1_v1.crt +30 -0
  67. package/dist/certs/AC_Caixa_PF_v1.crt +32 -0
  68. package/dist/certs/AC_Caixa_PF_v2.crt +41 -0
  69. package/dist/certs/AC_Caixa_PJ-1_v1.crt +30 -0
  70. package/dist/certs/AC_Caixa_PJ_v1.crt +32 -0
  71. package/dist/certs/AC_Caixa_PJ_v2.crt +45 -0
  72. package/dist/certs/AC_Caixa_SPB.crt +39 -0
  73. package/dist/certs/AC_Caixa_v1.crt +25 -0
  74. package/dist/certs/AC_CertiSign_JUS.crt +0 -0
  75. package/dist/certs/AC_CertiSign_V3.crt +25 -0
  76. package/dist/certs/AC_Certifica_Anapolis_v5.crt +43 -0
  77. package/dist/certs/AC_Certisign_G3.crt +25 -0
  78. package/dist/certs/AC_Certisign_G6.crt +36 -0
  79. package/dist/certs/AC_Certisign_G7.crt +36 -0
  80. package/dist/certs/AC_Certisign_JUS_G2.crt +38 -0
  81. package/dist/certs/AC_Certisign_JUS_G3.crt +39 -0
  82. package/dist/certs/AC_Certisign_JUS_G6.crt +38 -0
  83. package/dist/certs/AC_Certisign_Multipla_CodeSigning.crt +41 -0
  84. package/dist/certs/AC_Certisign_Multipla_G3.crt +38 -0
  85. package/dist/certs/AC_Certisign_Multipla_G5.crt +49 -0
  86. package/dist/certs/AC_Certisign_Multipla_G6.crt +49 -0
  87. package/dist/certs/AC_Certisign_Multipla_G7.crt +50 -0
  88. package/dist/certs/AC_Certisign_Multipla_SSL.crt +41 -0
  89. package/dist/certs/AC_Certisign_RFB_G3.crt +29 -0
  90. package/dist/certs/AC_Certisign_RFB_G4.crt +41 -0
  91. package/dist/certs/AC_Certisign_RFB_G5.crt +41 -0
  92. package/dist/certs/AC_Certisign_SPB_G3.crt +27 -0
  93. package/dist/certs/AC_Certisign_SPB_G5.crt +38 -0
  94. package/dist/certs/AC_Certisign_SPB_G6.crt +39 -0
  95. package/dist/certs/AC_Certisign_Tempo_G1.crt +39 -0
  96. package/dist/certs/AC_Certisign_Tempo_G2.crt +41 -0
  97. package/dist/certs/AC_DIGISEC_v5.crt +40 -0
  98. package/dist/certs/AC_DIGITALSIGN_ACP_G2.crt +36 -0
  99. package/dist/certs/AC_DIGITALSIGN_G2.crt +50 -0
  100. package/dist/certs/AC_DIGITALSIGN_RFB_G2.crt +42 -0
  101. package/dist/certs/AC_DIGITALSIGN_RFB_G3.crt +41 -0
  102. package/dist/certs/AC_DIGITALSIGN_SSL.crt +41 -0
  103. package/dist/certs/AC_DIGITAL_MULTIPLA_G1.crt +40 -0
  104. package/dist/certs/AC_DIGITAL_v5.crt +40 -0
  105. package/dist/certs/AC_DOCCLOUD.crt +36 -0
  106. package/dist/certs/AC_DOCCLOUD_RFB.crt +39 -0
  107. package/dist/certs/AC_DOCCLOUD_RFB_v2.crt +39 -0
  108. package/dist/certs/AC_Defesa_v5.crt +49 -0
  109. package/dist/certs/AC_Digital.crt +46 -0
  110. package/dist/certs/AC_Digitalsign.crt +50 -0
  111. package/dist/certs/AC_Digitalsign_ACP.crt +36 -0
  112. package/dist/certs/AC_Digitalsign_RFB.crt +41 -0
  113. package/dist/certs/AC_EGBA_MULTIPLA.crt +45 -0
  114. package/dist/certs/AC_EGBA_Multipla_G2.crt +47 -0
  115. package/dist/certs/AC_EGBA_RFB.crt +41 -0
  116. package/dist/certs/AC_FCDL_SC_v5.crt +40 -0
  117. package/dist/certs/AC_FCDL_SC_v5_G2.crt +41 -0
  118. package/dist/certs/AC_FENACOR_RFB.crt +42 -0
  119. package/dist/certs/AC_Fenacon_Certisign_RFB_G2.crt +27 -0
  120. package/dist/certs/AC_Fenacon_Certisign_RFB_G3.crt +39 -0
  121. package/dist/certs/AC_IMESP_RFB_G2.crt +29 -0
  122. package/dist/certs/AC_IMESP_RFB_G3_retirar_repositorio.crt +41 -0
  123. package/dist/certs/AC_INTERCERT_v5.crt +40 -0
  124. package/dist/certs/AC_Imprensa_Oficial.crt +36 -0
  125. package/dist/certs/AC_Imprensa_Oficial_G2.crt +38 -0
  126. package/dist/certs/AC_Imprensa_Oficial_G3.crt +57 -0
  127. package/dist/certs/AC_Imprensa_Oficial_G4.crt +51 -0
  128. package/dist/certs/AC_Imprensa_Oficial_SP.crt +0 -0
  129. package/dist/certs/AC_Imprensa_Oficial_SP_G2.crt +24 -0
  130. package/dist/certs/AC_Imprensa_Oficial_SP_G3.crt +36 -0
  131. package/dist/certs/AC_Imprensa_Oficial_SP_G4.crt +36 -0
  132. package/dist/certs/AC_Imprensa_Oficial_SP_RFB_G3.crt +41 -0
  133. package/dist/certs/AC_Imprensa_Oficial_SP_RFB_G4.crt +41 -0
  134. package/dist/certs/AC_Imprensa_Oficial_SP_RFB_G5.crt +41 -0
  135. package/dist/certs/AC_Imprensa_Oficial_SSL.crt +42 -0
  136. package/dist/certs/AC_Instituto_Fenacom_RFB.crt +30 -0
  137. package/dist/certs/AC_Instituto_Fenacon.crt +38 -0
  138. package/dist/certs/AC_Instituto_Fenacon_G2.crt +49 -0
  139. package/dist/certs/AC_Instituto_Fenacon_G3.crt +50 -0
  140. package/dist/certs/AC_Instituto_Fenacon_G4.crt +51 -0
  141. package/dist/certs/AC_Instituto_Fenacon_RFB_G2.crt +41 -0
  142. package/dist/certs/AC_Instituto_Fenacon_RFB_G3.crt +41 -0
  143. package/dist/certs/AC_LINK_CD.crt +40 -0
  144. package/dist/certs/AC_LINK_RFB.crt +39 -0
  145. package/dist/certs/AC_LINK_RFB_v2.crt +39 -0
  146. package/dist/certs/AC_MAXIMUS_TECNOLOGIA_E_EVENTOS_v5.crt +41 -0
  147. package/dist/certs/AC_MAXIMUS_TECNOLOGIA_E_EVENTOS_v5_G2.crt +41 -0
  148. package/dist/certs/AC_META_CERTIFICADO_DIGITAL_CD.crt +40 -0
  149. package/dist/certs/AC_Notarial_RFB_G2.crt +27 -0
  150. package/dist/certs/AC_Notarial_RFB_G3.crt +39 -0
  151. package/dist/certs/AC_Notarial_RFB_G4.crt +39 -0
  152. package/dist/certs/AC_OAB_G3.crt +39 -0
  153. package/dist/certs/AC_ONLINEBRASIL_v5.crt +41 -0
  154. package/dist/certs/AC_ONLINE_RFB_v5.crt +40 -0
  155. package/dist/certs/AC_Oab.crt +27 -0
  156. package/dist/certs/AC_Oab_G2.crt +38 -0
  157. package/dist/certs/AC_Online_Brasil.crt +43 -0
  158. package/dist/certs/AC_Online_RFB.crt +39 -0
  159. package/dist/certs/AC_PETROBRAS_G4.crt +44 -0
  160. package/dist/certs/AC_PLANO_DIGITAL_CD.crt +40 -0
  161. package/dist/certs/AC_PREMIUM_CERTIFICADORA_DIGITAL_CD.crt +40 -0
  162. package/dist/certs/AC_PRODEMGE_G4.crt +44 -0
  163. package/dist/certs/AC_PRODESP_v1.crt +49 -0
  164. package/dist/certs/AC_Petrobras_G2.crt +30 -0
  165. package/dist/certs/AC_Petrobras_G3.crt +41 -0
  166. package/dist/certs/AC_Prodemge_G2.crt +32 -0
  167. package/dist/certs/AC_Prodemge_G3.crt +43 -0
  168. package/dist/certs/AC_Prodemge_RFB.crt +41 -0
  169. package/dist/certs/AC_Prodemge_RFB_G2.crt +29 -0
  170. package/dist/certs/AC_Prodemge_RFB_G3.crt +41 -0
  171. package/dist/certs/AC_Prodemge_RFB_G4.crt +41 -0
  172. package/dist/certs/AC_Prodest_RFB.crt +27 -0
  173. package/dist/certs/AC_Prodest_RFB_v2.crt +39 -0
  174. package/dist/certs/AC_REDE_BRASIL_v5_G2.crt +41 -0
  175. package/dist/certs/AC_REDE_IDEIA_CD.crt +40 -0
  176. package/dist/certs/AC_REDE_IDEIA_RFB.crt +39 -0
  177. package/dist/certs/AC_SAFEIDBRASIL.crt +41 -0
  178. package/dist/certs/AC_SAFETECH_CD.crt +40 -0
  179. package/dist/certs/AC_SAFEWEB_CD.crt +40 -0
  180. package/dist/certs/AC_SAFEWEB_RFB_v5.crt +39 -0
  181. package/dist/certs/AC_SAFEWEB_TIMESTAMPING.crt +40 -0
  182. package/dist/certs/AC_SEGURA_ID_v5.crt +41 -0
  183. package/dist/certs/AC_SEMPRE_CD.crt +40 -0
  184. package/dist/certs/AC_SEMPRE_RFB_v2.crt +39 -0
  185. package/dist/certs/AC_SENHA_DIGITAL_BRASIL.crt +41 -0
  186. package/dist/certs/AC_SERPRO_JUS_v5.crt +37 -0
  187. package/dist/certs/AC_SIC_BRASIL.crt +41 -0
  188. package/dist/certs/AC_SIC_RFB.crt +40 -0
  189. package/dist/certs/AC_SIG_BRASIL.crt +41 -0
  190. package/dist/certs/AC_SINCOR_G4.crt +46 -0
  191. package/dist/certs/AC_SINCOR_RIO_RFB_G2.crt +41 -0
  192. package/dist/certs/AC_SOLUTI-JUS_CODESIGNING_v5.crt +40 -0
  193. package/dist/certs/AC_SOLUTI-JUS_SSL_v5.crt +40 -0
  194. package/dist/certs/AC_SOLUTI-JUS_v5.crt +40 -0
  195. package/dist/certs/AC_SOLUTI_Multipla_CODESIGNING.crt +43 -0
  196. package/dist/certs/AC_SOLUTI_Multipla_SSL.crt +43 -0
  197. package/dist/certs/AC_SOLUTI_Multipla_TIMESTAMPING.crt +42 -0
  198. package/dist/certs/AC_SOLUTI_Multipla_TIMESTAMPING_v5.crt +39 -0
  199. package/dist/certs/AC_SOLUTI_Multipla_v5.crt +40 -0
  200. package/dist/certs/AC_SOLUTI_Multipla_v5_G2.crt +41 -0
  201. package/dist/certs/AC_SOLUTI_RFB_V5.crt +41 -0
  202. package/dist/certs/AC_Safeweb_RFB.crt +39 -0
  203. package/dist/certs/AC_Safeweb_v5.crt +36 -0
  204. package/dist/certs/AC_Secretaria_da_Receita_Federal_do_Brasil_v3.crt +37 -0
  205. package/dist/certs/AC_Secretaria_da_Receita_Federal_do_Brasil_v4.crt +37 -0
  206. package/dist/certs/AC_Serasa_ACP.crt +0 -0
  207. package/dist/certs/AC_Serasa_Autoridade_Certificadora_Principal.crt +0 -0
  208. package/dist/certs/AC_Serasa_JUS.crt +0 -0
  209. package/dist/certs/AC_Serasa_JUS_v1.crt +37 -0
  210. package/dist/certs/AC_Serasa_JUS_v2.crt +42 -0
  211. package/dist/certs/AC_Serasa_JUS_v5.crt +38 -0
  212. package/dist/certs/AC_Serasa_RFB.crt +31 -0
  213. package/dist/certs/AC_Serasa_RFB_v2.crt +42 -0
  214. package/dist/certs/AC_Serasa_RFB_v5.crt +42 -0
  215. package/dist/certs/AC_Serpro_JUS_v3.crt +29 -0
  216. package/dist/certs/AC_Serpro_JUS_v4.crt +39 -0
  217. package/dist/certs/AC_Serpro_JUS_v5_erro_retirado_repositorio.crt +37 -0
  218. package/dist/certs/AC_Serpro_RFB.crt +28 -0
  219. package/dist/certs/AC_Serpro_RFB_v3.crt +40 -0
  220. package/dist/certs/AC_Serpro_RFB_v4.crt +40 -0
  221. package/dist/certs/AC_Sincor_G2.crt +34 -0
  222. package/dist/certs/AC_Sincor_G3.crt +44 -0
  223. package/dist/certs/AC_Sincor_RFB_G2.crt +29 -0
  224. package/dist/certs/AC_Sincor_RFB_G4.crt +41 -0
  225. package/dist/certs/AC_Sincor_RFB_G5.crt +41 -0
  226. package/dist/certs/AC_Sincor_Rio_RFB_G1.crt +41 -0
  227. package/dist/certs/AC_Soluti.crt +36 -0
  228. package/dist/certs/AC_Soluti_JUS_v1.crt +46 -0
  229. package/dist/certs/AC_Soluti_Multipla_v1.crt +46 -0
  230. package/dist/certs/AC_Soluti_OM-BR.crt +21 -0
  231. package/dist/certs/AC_Soluti_RFB.crt +41 -0
  232. package/dist/certs/AC_Soluti_v5.crt +36 -0
  233. package/dist/certs/AC_SyngularID_Multipla.crt +42 -0
  234. package/dist/certs/AC_VALID-JUS_CODESIGNING_v5.crt +39 -0
  235. package/dist/certs/AC_VALID-JUS_SSL_v5.crt +38 -0
  236. package/dist/certs/AC_VALID-JUS_v5.crt +38 -0
  237. package/dist/certs/AC_VALID_BRASIL_CODESIGNING.crt +42 -0
  238. package/dist/certs/AC_VALID_BRASIL_SSL.crt +41 -0
  239. package/dist/certs/AC_VALID_BRASIL_v5.crt +41 -0
  240. package/dist/certs/AC_VALID_PLUS_CODESIGNING.crt +42 -0
  241. package/dist/certs/AC_VALID_PLUS_SSL.crt +41 -0
  242. package/dist/certs/AC_VALID_PLUS_TIMESTAMPING.crt +42 -0
  243. package/dist/certs/AC_VALID_PLUS_v5.crt +49 -0
  244. package/dist/certs/AC_VALID_RFB_v5.crt +39 -0
  245. package/dist/certs/AC_VALID_SPB_v5.crt +38 -0
  246. package/dist/certs/AC_VALID_v5.crt +36 -0
  247. package/dist/certs/AC_Valid_Brasil.crt +43 -0
  248. package/dist/certs/AC_Valid_JUS_v4.crt +41 -0
  249. package/dist/certs/AC_Valid_PLUS.crt +55 -0
  250. package/dist/certs/AC_Valid_RFB.crt +39 -0
  251. package/dist/certs/AC_Valid_SPB.crt +40 -0
  252. package/dist/certs/AUTORIDADE_CERTIFICADORA_PROCERTI.crt +39 -0
  253. package/dist/certs/Autoridade Certificadora da Presidencia da Republica v1.crt +0 -0
  254. package/dist/certs/Autoridade Certificadora da Presidencia da Republica v2.crt +25 -0
  255. package/dist/certs/Autoridade_Certificadora_ALTERNATIVE.crt +41 -0
  256. package/dist/certs/Autoridade_Certificadora_BRASIL_CERTEC.crt +41 -0
  257. package/dist/certs/Autoridade_Certificadora_DIGITAL_CERTY.crt +41 -0
  258. package/dist/certs/Autoridade_Certificadora_INFOCOMEX.crt +39 -0
  259. package/dist/certs/Autoridade_Certificadora_INVIA.crt +41 -0
  260. package/dist/certs/Autoridade_Certificadora_NACIONAL.crt +41 -0
  261. package/dist/certs/Autoridade_Certificadora_PRIMECERT.crt +41 -0
  262. package/dist/certs/Autoridade_Certificadora_SDI.crt +41 -0
  263. package/dist/certs/Autoridade_Certificadora_SEFAZCE.crt +38 -0
  264. package/dist/certs/Autoridade_Certificadora_SERPRORFBv5.crt +40 -0
  265. package/dist/certs/Autoridade_Certificadora_Serpro_v2.crt +25 -0
  266. package/dist/certs/Autoridade_Certificadora_Serpro_v3.crt +36 -0
  267. package/dist/certs/Autoridade_Certificadora_Serpro_v4.crt +36 -0
  268. package/dist/certs/Autoridade_Certificadora_da_Casa_da_Moeda_do_Brasil.crt +29 -0
  269. package/dist/certs/Autoridade_Certificadora_da_Casa_da_Moeda_do_Brasil_v2.crt +37 -0
  270. package/dist/certs/Autoridade_Certificadora_da_Casa_da_Moeda_do_Brasil_v3.crt +41 -0
  271. package/dist/certs/Autoridade_Certificadora_da_Justica.crt +25 -0
  272. package/dist/certs/Autoridade_Certificadora_da_Justica_v3.crt +26 -0
  273. package/dist/certs/Autoridade_Certificadora_da_Justica_v4.crt +36 -0
  274. package/dist/certs/Autoridade_Certificadora_da_Justica_v5.crt +36 -0
  275. package/dist/certs/Autoridade_Certificadora_da_Presidencia_da_Republica.crt +25 -0
  276. package/dist/certs/Autoridade_Certificadora_da_Presidencia_da_Republica_2005.crt +0 -0
  277. package/dist/certs/Autoridade_Certificadora_da_Presidencia_da_Republica_v1.crt +0 -0
  278. package/dist/certs/Autoridade_Certificadora_da_Presidencia_da_Republica_v2.crt +25 -0
  279. package/dist/certs/Autoridade_Certificadora_da_Presidencia_da_Republica_v3.crt +37 -0
  280. package/dist/certs/Autoridade_Certificadora_da_Presidencia_da_Republica_v4.crt +40 -0
  281. package/dist/certs/Autoridade_Certificadora_da_Presidencia_da_Republica_v5.crt +38 -0
  282. package/dist/certs/Autoridade_Certificadora_da_Secretaria_da_Receita_Federal.crt +23 -0
  283. package/dist/certs/Autoridade_Certificadora_da_Secretaria_da_Receita_Federal_v1.crt +23 -0
  284. package/dist/certs/Autoridade_Certificadora_do_Proderj.crt +26 -0
  285. package/dist/certs/Autoridade_Certificadora_do_Proderj_v2.crt +38 -0
  286. package/dist/certs/Autoridade_Certificadora_do_SERPRO_RFB_SSL.crt +38 -0
  287. package/dist/certs/Autoridade_Certificadora_do_Serpro.crt +0 -0
  288. package/dist/certs/Autoridade_Certificadora_do_Serpro_Final_SSL.crt +38 -0
  289. package/dist/certs/Autoridade_Certificadora_do_Serpro_Final_v1.crt +32 -0
  290. package/dist/certs/Autoridade_Certificadora_do_Serpro_Final_v2.crt +30 -0
  291. package/dist/certs/Autoridade_Certificadora_do_Serpro_Final_v3.crt +48 -0
  292. package/dist/certs/Autoridade_Certificadora_do_Serpro_Final_v4.crt +48 -0
  293. package/dist/certs/Autoridade_Certificadora_do_Serpro_Final_v5.crt +40 -0
  294. package/dist/certs/Autoridade_Certificadora_do_Serpro_v1.crt +0 -0
  295. package/dist/certs/Autoridade__Certificadora_do_Serpro_v1.crt +0 -0
  296. package/dist/certs/Certificado_AC_Raiz.crt +28 -0
  297. package/dist/certs/ICP-Brasil.crt +27 -0
  298. package/dist/certs/ICP-Brasilv10.crt +38 -0
  299. package/dist/certs/ICP-Brasilv11.crt +38 -0
  300. package/dist/certs/ICP-Brasilv2.crt +38 -0
  301. package/dist/certs/ICP-Brasilv5.crt +38 -0
  302. package/dist/certs/Instituto_Nacional_de_Metrologia_Qualidade_e_Tecnologia_INMETRO.crt +18 -0
  303. package/dist/certs/Secretaria_da_Receita_Federal_do_Brasil.crt +24 -0
  304. package/dist/certs/Serasa_AC_v5.crt +41 -0
  305. package/dist/certs/Serasa_Autoridade_Certificadora_Principal.crt +27 -0
  306. package/dist/certs/Serasa_Autoridade_Certificadora_Principal_v1.crt +26 -0
  307. package/dist/certs/Serasa_Autoridade_Certificadora_Principal_v2.crt +37 -0
  308. package/dist/certs/Serasa_Autoridade_Certificadora_Principal_v5.crt +37 -0
  309. package/dist/certs/Serasa_Autoridade_Certificadora_v2.crt +43 -0
  310. package/dist/certs/Serasa_CD_SSL_v5.crt +47 -0
  311. package/dist/certs/Serasa_CD_v5.crt +56 -0
  312. package/dist/certs/Serasa_Certificadora_Digital_v2.crt +62 -0
  313. package/dist/certs/ac_certfacil_v5.crt +41 -0
  314. package/dist/certs/ac_mult_v5.crt +40 -0
  315. package/dist/certs/ac_soluti_spb_v5.crt +37 -0
  316. package/dist/classes/Environment.d.ts +22 -0
  317. package/dist/classes/Environment.js +179 -0
  318. package/dist/classes/Environment.js.map +1 -0
  319. package/dist/classes/NFeWizard.d.ts +68 -0
  320. package/dist/classes/NFeWizard.js +359 -0
  321. package/dist/classes/NFeWizard.js.map +1 -0
  322. package/dist/classes/XmlBuilder.d.ts +31 -0
  323. package/dist/classes/XmlBuilder.js +112 -0
  324. package/dist/classes/XmlBuilder.js.map +1 -0
  325. package/dist/config/NFeServicosUrl.json +1299 -0
  326. package/dist/config/cStatError.json +678 -0
  327. package/dist/config/soapMethod.json +38 -0
  328. package/dist/controllers/DFe/NFe/BaseNFe/BaseNFe.d.ts +45 -0
  329. package/dist/controllers/DFe/NFe/BaseNFe/BaseNFe.js +114 -0
  330. package/dist/controllers/DFe/NFe/BaseNFe/BaseNFe.js.map +1 -0
  331. package/dist/controllers/DFe/NFe/NFEAutorizacao/NFEAutorizacao.d.ts +37 -0
  332. package/dist/controllers/DFe/NFe/NFEAutorizacao/NFEAutorizacao.js +301 -0
  333. package/dist/controllers/DFe/NFe/NFEAutorizacao/NFEAutorizacao.js.map +1 -0
  334. package/dist/controllers/DFe/NFe/NFEAutorizacao/NFERetornoAutorizacao.d.ts +60 -0
  335. package/dist/controllers/DFe/NFe/NFEAutorizacao/NFERetornoAutorizacao.js +168 -0
  336. package/dist/controllers/DFe/NFe/NFEAutorizacao/NFERetornoAutorizacao.js.map +1 -0
  337. package/dist/controllers/DFe/NFe/NFEAutorizacao/util/NFEAutorizacaoHandler.d.ts +25 -0
  338. package/dist/controllers/DFe/NFe/NFEAutorizacao/util/NFEAutorizacaoHandler.js +119 -0
  339. package/dist/controllers/DFe/NFe/NFEAutorizacao/util/NFEAutorizacaoHandler.js.map +1 -0
  340. package/dist/controllers/DFe/NFe/NFEConsultaProtocolo/NFEconsultaProtocolo.d.ts +16 -0
  341. package/dist/controllers/DFe/NFe/NFEConsultaProtocolo/NFEconsultaProtocolo.js +33 -0
  342. package/dist/controllers/DFe/NFe/NFEConsultaProtocolo/NFEconsultaProtocolo.js.map +1 -0
  343. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFe.d.ts +26 -0
  344. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFe.js +93 -0
  345. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFe.js.map +1 -0
  346. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.d.ts +9 -0
  347. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.js +8 -0
  348. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.js.map +1 -0
  349. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.d.ts +9 -0
  350. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.js +8 -0
  351. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.js.map +1 -0
  352. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.d.ts +9 -0
  353. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.js +8 -0
  354. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.js.map +1 -0
  355. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/util/DistribuicaoHandler.d.ts +22 -0
  356. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/util/DistribuicaoHandler.js +130 -0
  357. package/dist/controllers/DFe/NFe/NFEDistribuicaoDFe/util/DistribuicaoHandler.js.map +1 -0
  358. package/dist/controllers/DFe/NFe/NFEInutilizacao/NFEInutilizacao.d.ts +19 -0
  359. package/dist/controllers/DFe/NFe/NFEInutilizacao/NFEInutilizacao.js +59 -0
  360. package/dist/controllers/DFe/NFe/NFEInutilizacao/NFEInutilizacao.js.map +1 -0
  361. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFECancelamento.d.ts +9 -0
  362. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFECancelamento.js +8 -0
  363. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFECancelamento.js.map +1 -0
  364. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFECartaDeCorrecao.d.ts +9 -0
  365. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFECartaDeCorrecao.js +8 -0
  366. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFECartaDeCorrecao.js.map +1 -0
  367. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFECienciaDaOperacao.d.ts +9 -0
  368. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFECienciaDaOperacao.js +8 -0
  369. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFECienciaDaOperacao.js.map +1 -0
  370. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFEConfirmacaoDaOperacao.d.ts +9 -0
  371. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFEConfirmacaoDaOperacao.js +8 -0
  372. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFEConfirmacaoDaOperacao.js.map +1 -0
  373. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFEDesconhecimentoDaOperacao.d.ts +9 -0
  374. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFEDesconhecimentoDaOperacao.js +8 -0
  375. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFEDesconhecimentoDaOperacao.js.map +1 -0
  376. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFEEpec.d.ts +9 -0
  377. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFEEpec.js +8 -0
  378. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFEEpec.js.map +1 -0
  379. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFEOperacaoNaoRealizada.d.ts +9 -0
  380. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFEOperacaoNaoRealizada.js +8 -0
  381. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFEOperacaoNaoRealizada.js.map +1 -0
  382. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFERecepcaoEvento.d.ts +48 -0
  383. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFERecepcaoEvento.js +274 -0
  384. package/dist/controllers/DFe/NFe/NFERecepcaoEvento/NFERecepcaoEvento.js.map +1 -0
  385. package/dist/controllers/DFe/NFe/NFEStatusServico/NFEStatusServico.d.ts +16 -0
  386. package/dist/controllers/DFe/NFe/NFEStatusServico/NFEStatusServico.js +50 -0
  387. package/dist/controllers/DFe/NFe/NFEStatusServico/NFEStatusServico.js.map +1 -0
  388. package/dist/controllers/Danfe/NFEGerarDanfe.d.ts +40 -0
  389. package/dist/controllers/Danfe/NFEGerarDanfe.js +1068 -0
  390. package/dist/controllers/Danfe/NFEGerarDanfe.js.map +1 -0
  391. package/dist/controllers/Email/MailController.d.ts +10 -0
  392. package/dist/controllers/Email/MailController.js +58 -0
  393. package/dist/controllers/Email/MailController.js.map +1 -0
  394. package/dist/exemplos/metodos/EX_Autorizacao.d.ts +1 -0
  395. package/dist/exemplos/metodos/EX_Autorizacao.js +205 -0
  396. package/dist/exemplos/metodos/EX_Autorizacao.js.map +1 -0
  397. package/dist/exemplos/metodos/EX_ConsultaProtocolo.d.ts +1 -0
  398. package/dist/exemplos/metodos/EX_ConsultaProtocolo.js +50 -0
  399. package/dist/exemplos/metodos/EX_ConsultaProtocolo.js.map +1 -0
  400. package/dist/exemplos/metodos/EX_DistribuicaoDFe.d.ts +1 -0
  401. package/dist/exemplos/metodos/EX_DistribuicaoDFe.js +105 -0
  402. package/dist/exemplos/metodos/EX_DistribuicaoDFe.js.map +1 -0
  403. package/dist/exemplos/metodos/EX_RecepcaoEvento.d.ts +1 -0
  404. package/dist/exemplos/metodos/EX_RecepcaoEvento.js +335 -0
  405. package/dist/exemplos/metodos/EX_RecepcaoEvento.js.map +1 -0
  406. package/dist/exemplos/metodos/EX_StatusServico.d.ts +1 -0
  407. package/dist/exemplos/metodos/EX_StatusServico.js +49 -0
  408. package/dist/exemplos/metodos/EX_StatusServico.js.map +1 -0
  409. package/dist/index.d.ts +3 -0
  410. package/dist/index.js +20 -0
  411. package/dist/index.js.map +1 -0
  412. package/dist/protocols/Classes/NFEDanfeGenerator/index.d.ts +24 -0
  413. package/dist/protocols/Classes/NFEDanfeGenerator/index.js +2 -0
  414. package/dist/protocols/Classes/NFEDanfeGenerator/index.js.map +1 -0
  415. package/dist/protocols/Classes/NFeWizard/index.d.ts +136 -0
  416. package/dist/protocols/Classes/NFeWizard/index.js +2 -0
  417. package/dist/protocols/Classes/NFeWizard/index.js.map +1 -0
  418. package/dist/protocols/Classes/index.d.ts +2 -0
  419. package/dist/protocols/Classes/index.js +3 -0
  420. package/dist/protocols/Classes/index.js.map +1 -0
  421. package/dist/protocols/Controllers/DFe/NFe/NFEAutorizacao/index.d.ts +4057 -0
  422. package/dist/protocols/Controllers/DFe/NFe/NFEAutorizacao/index.js +18 -0
  423. package/dist/protocols/Controllers/DFe/NFe/NFEAutorizacao/index.js.map +1 -0
  424. package/dist/protocols/Controllers/DFe/NFe/NFEDistribuicaoDFe/index.d.ts +70 -0
  425. package/dist/protocols/Controllers/DFe/NFe/NFEDistribuicaoDFe/index.js +18 -0
  426. package/dist/protocols/Controllers/DFe/NFe/NFEDistribuicaoDFe/index.js.map +1 -0
  427. package/dist/protocols/Controllers/DFe/NFe/NFEInutilizacao/index.d.ts +10 -0
  428. package/dist/protocols/Controllers/DFe/NFe/NFEInutilizacao/index.js +18 -0
  429. package/dist/protocols/Controllers/DFe/NFe/NFEInutilizacao/index.js.map +1 -0
  430. package/dist/protocols/Controllers/DFe/NFe/NFERecepcaoEvento/index.d.ts +543 -0
  431. package/dist/protocols/Controllers/DFe/NFe/NFERecepcaoEvento/index.js +18 -0
  432. package/dist/protocols/Controllers/DFe/NFe/NFERecepcaoEvento/index.js.map +1 -0
  433. package/dist/protocols/Controllers/DFe/NFe/index.d.ts +4 -0
  434. package/dist/protocols/Controllers/DFe/NFe/index.js +5 -0
  435. package/dist/protocols/Controllers/DFe/NFe/index.js.map +1 -0
  436. package/dist/protocols/Controllers/DFe/index.d.ts +1 -0
  437. package/dist/protocols/Controllers/DFe/index.js +2 -0
  438. package/dist/protocols/Controllers/DFe/index.js.map +1 -0
  439. package/dist/protocols/Controllers/Email/index.d.ts +65 -0
  440. package/dist/protocols/Controllers/Email/index.js +18 -0
  441. package/dist/protocols/Controllers/Email/index.js.map +1 -0
  442. package/dist/protocols/Controllers/index.d.ts +2 -0
  443. package/dist/protocols/Controllers/index.js +3 -0
  444. package/dist/protocols/Controllers/index.js.map +1 -0
  445. package/dist/protocols/Utils/index.d.ts +24 -0
  446. package/dist/protocols/Utils/index.js +18 -0
  447. package/dist/protocols/Utils/index.js.map +1 -0
  448. package/dist/protocols/index.d.ts +3 -0
  449. package/dist/protocols/index.js +4 -0
  450. package/dist/protocols/index.js.map +1 -0
  451. package/dist/schemas/110150_v1.00.xsd +88 -0
  452. package/dist/schemas/Averb_v1.00.xsd +11 -0
  453. package/dist/schemas/CCe_v1.00.xsd +11 -0
  454. package/dist/schemas/EPEC_v1.00.xsd +9 -0
  455. package/dist/schemas/EPP1.xml +13 -0
  456. package/dist/schemas/ERP1.xml +19 -0
  457. package/dist/schemas/EventoCancEntregaNFe_v1.00.xsd +9 -0
  458. package/dist/schemas/EventoEntregaNFe_v1.00.xsd +9 -0
  459. package/dist/schemas/SuframaInternaliza_v1.00.xsd +9 -0
  460. package/dist/schemas/SuframaVistoria_v1.00.xsd +9 -0
  461. package/dist/schemas/confRecebto_v1.00.xsd +9 -0
  462. package/dist/schemas/consCad_v2.00.xsd +9 -0
  463. package/dist/schemas/consGTIN_v1.00.xsd +10 -0
  464. package/dist/schemas/consReciNFe_v4.00.xsd +9 -0
  465. package/dist/schemas/consSitNFe_v2.01.xsd +10 -0
  466. package/dist/schemas/consSitNFe_v4.00.xsd +9 -0
  467. package/dist/schemas/consStatServ_v4.00.xsd +9 -0
  468. package/dist/schemas/distDFeInt_v1.01.xsd +94 -0
  469. package/dist/schemas/e110110_v1.00.xsd +58 -0
  470. package/dist/schemas/e110111_v1.00.xsd +42 -0
  471. package/dist/schemas/e110112_v1.00.xsd +69 -0
  472. package/dist/schemas/e110130_v1.00.xsd +102 -0
  473. package/dist/schemas/e110131_v1.00.xsd +51 -0
  474. package/dist/schemas/e110140_v1.00.xsd +124 -0
  475. package/dist/schemas/e111500_v1.00.xsd +69 -0
  476. package/dist/schemas/e111501_v1.00.xsd +69 -0
  477. package/dist/schemas/e111502_v1.00.xsd +50 -0
  478. package/dist/schemas/e111503_v1.00.xsd +50 -0
  479. package/dist/schemas/e210200_v1.00.xsd +32 -0
  480. package/dist/schemas/e210210_v1.00.xsd +32 -0
  481. package/dist/schemas/e210220_v1.00.xsd +45 -0
  482. package/dist/schemas/e210240_v1.00.xsd +44 -0
  483. package/dist/schemas/e411500_v1.00.xsd +134 -0
  484. package/dist/schemas/e411501_v1.00.xsd +134 -0
  485. package/dist/schemas/e411502_v1.00.xsd +95 -0
  486. package/dist/schemas/e411503_v1.00.xsd +95 -0
  487. package/dist/schemas/e790700_v1.00.xsd +125 -0
  488. package/dist/schemas/e990900_v1.00.xsd +87 -0
  489. package/dist/schemas/e990910_v1.00.xsd +81 -0
  490. package/dist/schemas/envAverb_v1.00.xsd +9 -0
  491. package/dist/schemas/envCCe_v1.00.xsd +10 -0
  492. package/dist/schemas/envConfRecebto_v1.00.xsd +9 -0
  493. package/dist/schemas/envEPEC_v1.00.xsd +9 -0
  494. package/dist/schemas/envEventoAtorInteressado_v1.00.xsd +9 -0
  495. package/dist/schemas/envEventoCancEntregaNFe_v1.00.xsd +10 -0
  496. package/dist/schemas/envEventoCancNFe_v1.00.xsd +9 -0
  497. package/dist/schemas/envEventoCancSubst_v1.00.xsd +9 -0
  498. package/dist/schemas/envEventoEntregaNFe_v1.00.xsd +10 -0
  499. package/dist/schemas/envEvento_v1.00.xsd +9 -0
  500. package/dist/schemas/envRemIndus_v1.00.xsd +9 -0
  501. package/dist/schemas/envSuframaInternaliza_v1.00.xsd +10 -0
  502. package/dist/schemas/envSuframaVistoria_v1.00.xsd +10 -0
  503. package/dist/schemas/enviNFe_v4.00.xsd +9 -0
  504. package/dist/schemas/eventoAtorInteressado_v1.00.xsd +9 -0
  505. package/dist/schemas/eventoCancNFe_v1.00.xsd +9 -0
  506. package/dist/schemas/eventoCancSubst_v1.00.xsd +9 -0
  507. package/dist/schemas/eventoEPEC_v0.01.xsd +267 -0
  508. package/dist/schemas/eventoRemIndus_v1.00.xsd +9 -0
  509. package/dist/schemas/inutNFe_v4.00.xsd +9 -0
  510. package/dist/schemas/leiauteAverb_v1.00.xsd +482 -0
  511. package/dist/schemas/leiauteCCe_v1.00.xsd +418 -0
  512. package/dist/schemas/leiauteCcgConsGTIN_v1.00.xsd +94 -0
  513. package/dist/schemas/leiauteConfRecebto_v1.00.xsd +406 -0
  514. package/dist/schemas/leiauteConsSitNFe_v2.01.xsd +548 -0
  515. package/dist/schemas/leiauteConsSitNFe_v4.00.xsd +502 -0
  516. package/dist/schemas/leiauteConsStatServ_v4.00.xsd +98 -0
  517. package/dist/schemas/leiauteConsultaCadastro_v2.00.xsd +404 -0
  518. package/dist/schemas/leiauteEPEC_v1.00.xsd +459 -0
  519. package/dist/schemas/leiauteEPEC_v1.00.xsd.bak +465 -0
  520. package/dist/schemas/leiauteEventoAtorInteressado_v1.00.xsd +384 -0
  521. package/dist/schemas/leiauteEventoCancEntregaNFe_v1.00.xsd +307 -0
  522. package/dist/schemas/leiauteEventoCancNFe_v1.00.xsd +394 -0
  523. package/dist/schemas/leiauteEventoCancSubst_v1.00.xsd +366 -0
  524. package/dist/schemas/leiauteEventoEntregaNFe_v1.00.xsd +321 -0
  525. package/dist/schemas/leiauteEvento_v1.00.xsd +373 -0
  526. package/dist/schemas/leiauteInutNFe_v4.00.xsd +193 -0
  527. package/dist/schemas/leiauteNFe_v4.00.xsd +7170 -0
  528. package/dist/schemas/leiauteRemIndus_v1.00.xsd +382 -0
  529. package/dist/schemas/leiauteSuframaInternaliza_v1.00.xsd +642 -0
  530. package/dist/schemas/leiauteSuframaVistoria_v1.00.xsd +648 -0
  531. package/dist/schemas/nfe_v4.00.xsd +9 -0
  532. package/dist/schemas/procAverbNFe_v1.00.xsd +10 -0
  533. package/dist/schemas/procCCeNFe_v1.00.xsd +10 -0
  534. package/dist/schemas/procConfRecebtoNFe_v1.00.xsd +9 -0
  535. package/dist/schemas/procEPEC_v1.00.xsd +9 -0
  536. package/dist/schemas/procEventoAtorInteressado_v1.00.xsd +9 -0
  537. package/dist/schemas/procEventoCancEntregaNFe_v1.00.xsd +9 -0
  538. package/dist/schemas/procEventoCancNFe_v1.00.xsd +9 -0
  539. package/dist/schemas/procEventoCancSubst_v1.00.xsd +9 -0
  540. package/dist/schemas/procEventoEntregaNFe_v1.00.xsd +9 -0
  541. package/dist/schemas/procEventoNFe_v1.00.xsd +9 -0
  542. package/dist/schemas/procInutNFe_v4.00.xsd +9 -0
  543. package/dist/schemas/procNFe_v4.00.xsd +9 -0
  544. package/dist/schemas/procRemIndus_v1.00.xsd +9 -0
  545. package/dist/schemas/resEvento_v1.01.xsd +1 -0
  546. package/dist/schemas/resNFe_v1.01.xsd +5 -0
  547. package/dist/schemas/retConsCad_v2.00.xsd +9 -0
  548. package/dist/schemas/retConsGTIN_v1.00.xsd +9 -0
  549. package/dist/schemas/retConsReciNFe_v4.00.xsd +9 -0
  550. package/dist/schemas/retConsSitNFe_v2.01.xsd +10 -0
  551. package/dist/schemas/retConsSitNFe_v4.00.xsd +9 -0
  552. package/dist/schemas/retConsStatServ_v4.00.xsd +9 -0
  553. package/dist/schemas/retDistDFeInt_v1.01.xsd +5 -0
  554. package/dist/schemas/retEnvAverb_v1.00.xsd +9 -0
  555. package/dist/schemas/retEnvCCe_v1.00.xsd +10 -0
  556. package/dist/schemas/retEnvConfRecebto_v1.00.xsd +9 -0
  557. package/dist/schemas/retEnvEPEC_v1.00.xsd +9 -0
  558. package/dist/schemas/retEnvEventoAtorInteressado_v1.00.xsd +9 -0
  559. package/dist/schemas/retEnvEventoCancNFe_v1.00.xsd +9 -0
  560. package/dist/schemas/retEnvEventoCancSubst_v1.00.xsd +9 -0
  561. package/dist/schemas/retEnvEvento_v1.00.xsd +9 -0
  562. package/dist/schemas/retEnvRemIndus_v1.00.xsd +9 -0
  563. package/dist/schemas/retEnvSuframaInternaliza_v1.00.xsd +9 -0
  564. package/dist/schemas/retEnvSuframaVistoria_v1.00.xsd +9 -0
  565. package/dist/schemas/retEnviNFe_v4.00.xsd +9 -0
  566. package/dist/schemas/retEventoCancEntregaNFe_v1.00.xsd +9 -0
  567. package/dist/schemas/retEventoEPEC_v0.01.xsd +207 -0
  568. package/dist/schemas/retEventoEntregaNFe_v1.00.xsd +9 -0
  569. package/dist/schemas/retInutNFe_v4.00.xsd +9 -0
  570. package/dist/schemas/tiposBasico_v1.03.xsd +785 -0
  571. package/dist/schemas/tiposBasico_v3.10.xsd +833 -0
  572. package/dist/schemas/tiposBasico_v4.00.xsd +598 -0
  573. package/dist/schemas/tiposBasicosCcgConsGTIN_v1.00.xsd +84 -0
  574. package/dist/schemas/tiposDistDFe_v1.01.xsd +1 -0
  575. package/dist/schemas/xmldsig-core-schema_v1.01.xsd +98 -0
  576. package/dist/testes.d.ts +1 -0
  577. package/dist/testes.js +740 -0
  578. package/dist/testes.js.map +1 -0
  579. package/dist/utils/Utility.d.ts +61 -0
  580. package/dist/utils/Utility.js +320 -0
  581. package/dist/utils/Utility.js.map +1 -0
  582. package/dist/utils/ValidaCPFCNPJ.d.ts +31 -0
  583. package/dist/utils/ValidaCPFCNPJ.js +136 -0
  584. package/dist/utils/ValidaCPFCNPJ.js.map +1 -0
  585. package/dist/utils/getCodIBGE.d.ts +1 -0
  586. package/dist/utils/getCodIBGE.js +50 -0
  587. package/dist/utils/getCodIBGE.js.map +1 -0
  588. package/dist/utils/getSchema.d.ts +1 -0
  589. package/dist/utils/getSchema.js +39 -0
  590. package/dist/utils/getSchema.js.map +1 -0
  591. package/dist/utils/xml2json.d.ts +18 -0
  592. package/dist/utils/xml2json.js +151 -0
  593. package/dist/utils/xml2json.js.map +1 -0
  594. package/package.json +65 -0
@@ -0,0 +1,1068 @@
1
+ /*
2
+ * This file is part of NFeWizard.
3
+ *
4
+ * NFeWizard is free software: you can redistribute it and/or modify
5
+ * it under the terms of the GNU General Public License as published by
6
+ * the Free Software Foundation, either version 3 of the License, or
7
+ * (at your option) any later version.
8
+ *
9
+ * NFeWizard is distributed in the hope that it will be useful,
10
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ * GNU General Public License for more details.
13
+ *
14
+ * You should have received a copy of the GNU General Public License
15
+ * along with NFeWizard. If not, see <https://www.gnu.org/licenses/>.
16
+ */
17
+ import bwipjs from 'bwip-js';
18
+ import path from 'path';
19
+ import fs from 'fs';
20
+ import { format } from 'date-fns';
21
+ import ValidaCPFCNPJ from '../../utils/ValidaCPFCNPJ';
22
+ import PDFDocument from 'pdfkit';
23
+ class NFEGerarDanfe {
24
+ constructor(props) {
25
+ const { data, chave, outputPath } = props;
26
+ this.data = data;
27
+ this.chave = chave.trim();
28
+ this.outputPath = outputPath;
29
+ this.enviada = false; // Valor padrão
30
+ this.barcodePath = './src/assets'; // Caminho padrão
31
+ this.documento = new ValidaCPFCNPJ(); // Inicialização correta
32
+ this.protNFe = data.protNFe;
33
+ const nfeData = Array.isArray(data.NFe) ? data.NFe[0] : data.NFe;
34
+ const { det, ide, emit, dest, total, transp, infAdic } = nfeData.infNFe;
35
+ this.det = det;
36
+ this.ide = ide;
37
+ this.emit = emit;
38
+ this.dest = dest;
39
+ this.total = total;
40
+ this.transp = transp;
41
+ this.infAdic = infAdic;
42
+ if (this.protNFe?.infProt.nProt) {
43
+ this.enviada = true;
44
+ }
45
+ // Área útil ignorando margem à direita (22.68) e esquerda (5.67) = 566.93
46
+ this.doc = new PDFDocument({
47
+ margins: { top: 22, right: 22.68, bottom: 12, left: 5.67 },
48
+ size: 'a4', // 595.28 * 841.89
49
+ bufferPages: true,
50
+ layout: 'portrait',
51
+ font: 'Times-Roman',
52
+ });
53
+ }
54
+ createDir(path) {
55
+ if (!fs.existsSync(path)) {
56
+ fs.mkdirSync(path, { recursive: true });
57
+ }
58
+ }
59
+ async generateBarcode(data) {
60
+ try {
61
+ const png = await bwipjs.toBuffer({
62
+ bcid: 'code128', // Tipo de código de barras
63
+ text: data, // Dado a ser codificado
64
+ scaleX: 4, // Fator de escala
65
+ height: 14, // Altura da barra
66
+ includetext: false, // Incluir texto
67
+ });
68
+ const barcode = png.toString('base64');
69
+ const barcodePath = path.join(this.barcodePath, 'barcode.png');
70
+ this.createDir(barcodePath);
71
+ fs.writeFileSync(barcodePath, Buffer.from(barcode, 'base64'));
72
+ }
73
+ catch (err) {
74
+ console.error('Erro ao gerar código de barras:', err);
75
+ return null;
76
+ }
77
+ }
78
+ setLineStyle(lineWidth, strokeColor) {
79
+ this.doc.lineWidth(lineWidth).strokeColor(strokeColor).fill('black');
80
+ }
81
+ drawHeader(isFirstPage) {
82
+ if (isFirstPage) {
83
+ this._buildGuia();
84
+ this._buildSeparator();
85
+ this._buildHeader(52);
86
+ }
87
+ else {
88
+ this._buildHeader(0);
89
+ }
90
+ // this.doc.moveDown();
91
+ }
92
+ drawFooter() {
93
+ this._buildFooter();
94
+ }
95
+ _buildGuia() {
96
+ const { top, left } = this.doc.page.margins;
97
+ this.setLineStyle(0.75, '#1c1c1c');
98
+ /** TOP LEFT */
99
+ this.doc.rect(left, top, 470, 21).stroke();
100
+ this.doc.fontSize(5).text(`RECEBEMOS DE ${this.emit.xNome} OS PRODUTOS / SERVIÇOS CONSTANTES DA NOTA FISCAL INDICADO AO LADO`, 10, 26, {
101
+ characterSpacing: 0.5
102
+ });
103
+ this.doc.fontSize(6).text(`EMISSÃO: ${format(new Date(this.ide.dhEmi), 'dd-MM-yyyy')} - DEST. / REM.: ${this.dest.xNome} - VALOR TOTAL: R$ ${parseFloat(String(this.total.ICMSTot.vNF)).toFixed(2)}`, 46, 33.5, {
104
+ characterSpacing: 0.5
105
+ });
106
+ /** RIGHT */
107
+ this.doc.rect(left + 470, top, 96.93, 42).stroke();
108
+ this.doc.fontSize(11).text(`NF-e`, 480, 27, {
109
+ characterSpacing: 1.5,
110
+ align: 'center'
111
+ });
112
+ this.doc.fontSize(8.8).font('Times-Bold').text(`Nº ${String(this.ide.nNF).padStart(2, '0')}`, 480, 40.5, {
113
+ characterSpacing: 1.5,
114
+ align: 'center',
115
+ });
116
+ this.doc.fontSize(8.5).font('Times-Roman').text(`SÉRIE ${this.ide.serie.padStart(3, '0')}`, 480, 53, {
117
+ characterSpacing: 1.5,
118
+ align: 'center',
119
+ });
120
+ /** BOTTON LEFT */
121
+ this.doc.rect(left, top + 21, 75, 21).stroke();
122
+ this.doc.fontSize(5).text(`DATA DE RECEBIMENTO`, 10, 46.5, {
123
+ characterSpacing: 0.5,
124
+ });
125
+ /** BOTTON RIGHT */
126
+ this.doc.rect(left + 75, top + 21, 395, 21).stroke();
127
+ this.doc.fontSize(5).text(`IDENTIFICAÇÃO E ASSINATURA DO RECEBEDOR`, 75 + 10, 46.5, {
128
+ characterSpacing: 0.5
129
+ });
130
+ }
131
+ _buildSeparator() {
132
+ const { left, right } = this.doc.page.margins;
133
+ const pageWidth = 595.28; // Largura da página A4 em pontos
134
+ // Calcule a largura da linha, considerando as margens esquerda e direita
135
+ const lineWidth = pageWidth - left - right;
136
+ // Desenhe a linha
137
+ this.doc.moveTo(left, 69) // Início da linha
138
+ .lineTo(left + lineWidth, 69) // Fim da linha
139
+ .lineWidth(1) // Espessura da linha
140
+ .dash(1.5, { space: 1.5 }) // Estilo pontilhado
141
+ .strokeColor('black') // Cor da linha
142
+ .stroke(); // Desenhar a linha
143
+ this.doc.undash();
144
+ }
145
+ _buildHeader(pos) {
146
+ const { top, left } = this.doc.page.margins;
147
+ const page = this.doc.bufferedPageRange();
148
+ const documento = this.documento.mascaraCnpjCpf(String(this.emit.CNPJCPF));
149
+ this.setLineStyle(0.75, '#1c1c1c');
150
+ const topIdentificacao_1 = top + pos;
151
+ const identificationJoined = `\nCEP: ${this.emit.enderEmit.CEP} - ${this.emit.enderEmit.xBairro} - ${this.emit.enderEmit.UF}\nTEL: ${this.emit.enderEmit.fone} - FAX: ${this.emit.enderEmit.fone}`;
152
+ /** IDENTIFICACAO EMITENTE */
153
+ const _buildIdentificacaoEmit = () => {
154
+ this.doc.rect(left, topIdentificacao_1, 197.5, 98).stroke();
155
+ this.doc.fontSize(5).text(`IDENTIFICAÇÃO DO EMITENTE`, 10, topIdentificacao_1 + 3.5, {
156
+ characterSpacing: 0.5,
157
+ });
158
+ this.doc.fontSize(8).font('Times-Bold').text(this.emit.xNome, 35, topIdentificacao_1 + 14, {
159
+ characterSpacing: 1,
160
+ width: 170,
161
+ lineBreak: true,
162
+ lineGap: 4
163
+ });
164
+ this.doc.fontSize(7).font('Times-Roman').text(`${this.emit.enderEmit.xLgr}, ${this.emit.enderEmit.nro} ${this.emit.xFant ? `- ${this.emit.xFant}` : ''}`, 10, topIdentificacao_1 + 44, {
165
+ characterSpacing: 1,
166
+ width: 181,
167
+ lineBreak: true,
168
+ lineGap: 2,
169
+ continued: true
170
+ }).text(identificationJoined);
171
+ };
172
+ /** IDENTIFICACAO NFe */
173
+ const _buildIdentificacaoDanfe = () => {
174
+ this.doc.rect(left + 197.5, topIdentificacao_1, 112.7, 98).stroke();
175
+ this.doc.fontSize(12).font('Times-Bold').text(`DANFE`, 203, topIdentificacao_1 + 8, {
176
+ characterSpacing: 1.5,
177
+ width: 112.7,
178
+ align: 'center'
179
+ });
180
+ this.doc.fontSize(6).text(`DOCUMENTO AUXILIAR DA NOTA FISCAL ELETRÔNICA`, 215, topIdentificacao_1 + 20, {
181
+ characterSpacing: 0.5,
182
+ width: 95,
183
+ align: 'left',
184
+ lineGap: 2,
185
+ });
186
+ this.doc.fontSize(8).font('Times-Roman').text(`0 - ENTRADA`, 217, topIdentificacao_1 + 40, {
187
+ characterSpacing: 0.5,
188
+ align: 'left',
189
+ });
190
+ this.doc.fontSize(8).text(`1 - SAÍDA`, 217, topIdentificacao_1 + 50, {
191
+ characterSpacing: 0.5,
192
+ align: 'left',
193
+ });
194
+ this.doc.rect(left + 275, topIdentificacao_1 + 38, 18, 18).stroke();
195
+ this.doc.fontSize(14).font('Times-Bold').text(String(this.ide.tpNF), left + 280, topIdentificacao_1 + 42.5);
196
+ this.doc.fontSize(8.8).text(`Nº ${String(this.ide.nNF).padStart(2, '0')}`, 208, topIdentificacao_1 + 65, {
197
+ characterSpacing: 1,
198
+ });
199
+ this.doc.fontSize(10).font('Times-Roman').text(`fl. ${page.start + 1}/${page.count}`, 240, topIdentificacao_1 + 65, {
200
+ characterSpacing: 1.5,
201
+ width: 112.7,
202
+ align: 'center'
203
+ });
204
+ this.doc.fontSize(8.8).text(`SÉRIE ${this.ide.serie.padStart(3, '0')}`, 208, topIdentificacao_1 + 78, {
205
+ characterSpacing: 1.5,
206
+ width: 112.7,
207
+ align: 'center'
208
+ });
209
+ };
210
+ /** IDENTIFICACAO NFe */
211
+ const _buildIdentificacaoNFe = () => {
212
+ this.doc.rect(left + 310.2, topIdentificacao_1, 256.73, 35).stroke();
213
+ this.doc.image(`${this.barcodePath}/barcode.png`, left + 323.5, topIdentificacao_1 + 3, { width: 230, height: 30 });
214
+ if (Number(this.ide.tpAmb) !== 2 && !this.enviada) {
215
+ this.doc.fontSize(14).font('Times-Bold').fillColor('red').text('NF-E NÃO ENVIADA PARA SEFAZ', left + 316, topIdentificacao_1 + 12, {
216
+ characterSpacing: 1,
217
+ width: 256.73,
218
+ });
219
+ }
220
+ this.setLineStyle(0.75, '#1c1c1c');
221
+ this.doc.rect(left + 310.2, topIdentificacao_1 + 35, 256.73, 23).stroke();
222
+ this.doc.fontSize(5).font('Times-Roman').text(`CHAVE DE ACESSO`, left + 314, topIdentificacao_1 + 38, {
223
+ characterSpacing: 0.5,
224
+ });
225
+ this.doc.fontSize(6).text(this.chave, left + 310.2, topIdentificacao_1 + 47, {
226
+ characterSpacing: 1,
227
+ width: 256.73,
228
+ align: 'center'
229
+ });
230
+ this.doc.rect(left + 310.2, topIdentificacao_1 + 58, 256.73, 40).stroke();
231
+ if (Number(this.ide.tpAmb) === 2 || this.enviada) {
232
+ this.doc.fontSize(6.5).text('Consulta de autenticidade no portal nacional da NF-e', left + 310.2, topIdentificacao_1 + 65, {
233
+ characterSpacing: 0.5,
234
+ width: 256.73,
235
+ align: 'center'
236
+ });
237
+ this.doc.fontSize(6.5).text('www.nfe.fazenda.gov.br/portal', left + 310.2, topIdentificacao_1 + 75, {
238
+ characterSpacing: 0.5,
239
+ width: 256.73,
240
+ align: 'center'
241
+ });
242
+ this.doc.fontSize(6.5).text('ou no site da Sefaz Autorizadora', left + 310.2, topIdentificacao_1 + 85, {
243
+ characterSpacing: 0.5,
244
+ width: 256.73,
245
+ align: 'center'
246
+ });
247
+ }
248
+ this.doc.rect(left, topIdentificacao_1 + 98, 310.2, 23).stroke();
249
+ this.doc.fontSize(5).text('NATUREZA DE OPERAÇÃO', left + 4, topIdentificacao_1 + 102, {
250
+ characterSpacing: 0.5,
251
+ });
252
+ this.doc.fontSize(8).text('(-) 5929 LANC EFET EMISSAO D FISCA', left + 4, topIdentificacao_1 + 112, {
253
+ characterSpacing: 1,
254
+ });
255
+ this.doc.rect(left + 310.2, topIdentificacao_1 + 98, 256.73, 23).stroke();
256
+ if (Number(this.ide.tpAmb) === 2 || this.enviada) {
257
+ let dhRecbto = '';
258
+ if (this.protNFe?.infProt.dhRecbto) {
259
+ dhRecbto = format(new Date(this.protNFe?.infProt.dhRecbto), 'dd/MM/yyyy HH:mm:ss');
260
+ }
261
+ const xProtNfe = `${String(this.protNFe?.infProt.nProt || '')} ${dhRecbto}`;
262
+ this.doc.fontSize(5).text('PROTOCOLO DE AUTORIZAÇÃO DE USO', left + 314.2, topIdentificacao_1 + 102, {
263
+ characterSpacing: 0.5,
264
+ });
265
+ this.doc.fontSize(8).text(xProtNfe, left + 314.2, topIdentificacao_1 + 112, {
266
+ characterSpacing: 1,
267
+ });
268
+ }
269
+ };
270
+ /** IDENTIFICACAO PESSOA */
271
+ const _buildIdentificacaoPessoa = () => {
272
+ this.doc.rect(left, topIdentificacao_1 + 121, 189.5, 23).stroke();
273
+ this.doc.fontSize(5).text('INSCRIÇÃO ESTADUAL', left + 4, topIdentificacao_1 + 125, {
274
+ characterSpacing: 0.5,
275
+ });
276
+ this.doc.fontSize(8).text(this.emit.IE, left + 5, topIdentificacao_1 + 135, {
277
+ characterSpacing: 1,
278
+ });
279
+ this.doc.rect(left + 189.5, topIdentificacao_1 + 121, 187.93, 23).stroke();
280
+ this.doc.fontSize(5).text('INSCRIÇÃO ESTADUAL DO SUBST. TRIB.', left + 193.5, topIdentificacao_1 + 125, {
281
+ characterSpacing: 0.5,
282
+ });
283
+ this.doc.fontSize(8).text(String(this.emit.IEST || ''), left + 194.5, topIdentificacao_1 + 135, {
284
+ characterSpacing: 1,
285
+ });
286
+ this.doc.rect(left + 377.43, topIdentificacao_1 + 121, 189.5, 23).stroke();
287
+ this.doc.fontSize(5).text('CNPJ / CPF', left + 381.43, topIdentificacao_1 + 125, {
288
+ characterSpacing: 0.5,
289
+ });
290
+ this.doc.fontSize(8).text(documento, left + 386.43, topIdentificacao_1 + 135, {
291
+ characterSpacing: 1,
292
+ });
293
+ };
294
+ _buildIdentificacaoEmit();
295
+ _buildIdentificacaoDanfe();
296
+ _buildIdentificacaoNFe();
297
+ _buildIdentificacaoPessoa();
298
+ }
299
+ _buildDestinatario() {
300
+ const { top, left } = this.doc.page.margins;
301
+ const page = this.doc.bufferedPageRange();
302
+ const docDest = this.documento.mascaraCnpjCpf(String(this.dest.CNPJCPF));
303
+ this.setLineStyle(0.75, '#1c1c1c');
304
+ const topDestinatario = top + 90;
305
+ const _buildDestPessoa = () => {
306
+ this.doc.rect(left, topDestinatario + 120, 398, 23).stroke();
307
+ let xNome = 'NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL';
308
+ if (Number(this.ide.tpAmb) !== 2) {
309
+ xNome = String(this.dest.xNome);
310
+ }
311
+ this.doc.fontSize(5).font('Times-Roman').text('NOME / RAZÃO SOCIAL', left + 4, topDestinatario + 125, {
312
+ characterSpacing: 0.5,
313
+ });
314
+ this.doc.fontSize(8).text(xNome, left + 5, topDestinatario + 135, {
315
+ characterSpacing: 1,
316
+ });
317
+ this.doc.rect(left + 398, topDestinatario + 120, 94, 23).stroke();
318
+ this.doc.fontSize(5).text('CNPJ / CPF', left + 402, topDestinatario + 125, {
319
+ characterSpacing: 0.5,
320
+ });
321
+ this.doc.fontSize(8).text(docDest, left + 403, topDestinatario + 135, {
322
+ characterSpacing: 1,
323
+ });
324
+ this.doc.rect(left + 492, topDestinatario + 120, 74.3, 23).stroke();
325
+ this.doc.fontSize(5).text('DATA DA EMISSÃO', left + 496, topDestinatario + 125, {
326
+ characterSpacing: 0.5,
327
+ });
328
+ this.doc.fontSize(8).text(format(new Date(this.ide.dhEmi), 'dd-MM-yyyy'), left + 497, topDestinatario + 135, {
329
+ characterSpacing: 1,
330
+ });
331
+ };
332
+ const _buildDestLogradouro = () => {
333
+ this.doc.rect(left, topDestinatario + 143, 320, 23).stroke();
334
+ this.doc.fontSize(5).text('ENDEREÇO', left + 4, topDestinatario + 148, {
335
+ characterSpacing: 0.5,
336
+ });
337
+ this.doc.fontSize(8).text(`${this.dest.enderDest?.xLgr}, ${this.dest.enderDest?.nro}`, left + 5, topDestinatario + 158, {
338
+ characterSpacing: 1,
339
+ });
340
+ this.doc.rect(left + 320, topDestinatario + 143, 118.5, 23).stroke();
341
+ this.doc.fontSize(5).text('BAIRRO / DISTRITO', left + 324, topDestinatario + 148, {
342
+ characterSpacing: 0.5,
343
+ });
344
+ this.doc.fontSize(8).text(String(this.dest.enderDest?.xBairro), left + 326, topDestinatario + 158, {
345
+ characterSpacing: 1,
346
+ });
347
+ this.doc.rect(left + 438.5, topDestinatario + 143, 53.5, 23).stroke();
348
+ this.doc.fontSize(5).text('CEP', left + 442.5, topDestinatario + 148, {
349
+ characterSpacing: 0.5,
350
+ });
351
+ this.doc.fontSize(8).text(String(this.dest.enderDest?.CEP), left + 443.5, topDestinatario + 158, {
352
+ characterSpacing: 1,
353
+ });
354
+ this.doc.rect(left + 492, topDestinatario + 143, 74.3, 23).stroke();
355
+ this.doc.fontSize(5).text('DATA SAÍDA / ENTRADA', left + 496, topDestinatario + 148, {
356
+ characterSpacing: 0.5,
357
+ });
358
+ this.doc.fontSize(8).text(format(new Date(), 'dd-MM-yyyy'), left + 497, topDestinatario + 158, {
359
+ characterSpacing: 1,
360
+ });
361
+ };
362
+ const _buildDestEndereco = () => {
363
+ this.doc.rect(left, topDestinatario + 166, 246.5, 23).stroke();
364
+ this.doc.fontSize(5).text('MUNICÍPIO', left + 4, topDestinatario + 171, {
365
+ characterSpacing: 0.5,
366
+ });
367
+ this.doc.fontSize(8).text(String(this.dest.enderDest?.xMun), left + 5, topDestinatario + 181, {
368
+ characterSpacing: 1,
369
+ });
370
+ this.doc.rect(left + 246.5, topDestinatario + 166, 113, 23).stroke();
371
+ this.doc.fontSize(5).text('FONE / FAX', left + 250.5, topDestinatario + 171, {
372
+ characterSpacing: 0.5,
373
+ });
374
+ this.doc.fontSize(8).text(String(this.dest.enderDest?.fone), left + 250.5, topDestinatario + 181, {
375
+ characterSpacing: 1,
376
+ });
377
+ this.doc.rect(left + 359.5, topDestinatario + 166, 40, 23).stroke();
378
+ this.doc.fontSize(5).text('UF', left + 363.5, topDestinatario + 171, {
379
+ characterSpacing: 0.5,
380
+ });
381
+ this.doc.fontSize(8).text(String(this.dest.enderDest?.UF), left + 363.5, topDestinatario + 181, {
382
+ characterSpacing: 1,
383
+ });
384
+ this.doc.rect(left + 399.5, topDestinatario + 166, 92.5, 23).stroke();
385
+ this.doc.fontSize(5).text('INSCRIÇÃO ESTADUAL', left + 403.5, topDestinatario + 171, {
386
+ characterSpacing: 0.5,
387
+ });
388
+ this.doc.fontSize(8).text(String(this.dest.indIEDest), left + 403.5, topDestinatario + 181, {
389
+ characterSpacing: 1,
390
+ });
391
+ this.doc.rect(left + 492, topDestinatario + 166, 74.3, 23).stroke();
392
+ this.doc.fontSize(5).text('HORA DA SAÍDA', left + 496, topDestinatario + 171, {
393
+ characterSpacing: 0.5,
394
+ });
395
+ this.doc.fontSize(8).text(format(new Date(), 'HH:mm'), left + 497, topDestinatario + 181, {
396
+ characterSpacing: 1,
397
+ });
398
+ };
399
+ this.doc.fontSize(6).font('Times-Bold').text('DESTINATÁRIO / REMETENTE', left, topDestinatario + 114, {
400
+ characterSpacing: 0.5,
401
+ });
402
+ _buildDestPessoa();
403
+ _buildDestLogradouro();
404
+ _buildDestEndereco();
405
+ }
406
+ _builCalculoImposto() {
407
+ const { top, left } = this.doc.page.margins;
408
+ const page = this.doc.bufferedPageRange();
409
+ const docDest = this.documento.mascaraCnpjCpf(String(this.dest.CNPJCPF));
410
+ this.setLineStyle(0.75, '#1c1c1c');
411
+ const topDestinatario = top + 173;
412
+ const _buildCalcImposto = () => {
413
+ /** LINHA 1 */
414
+ this.doc.rect(left, topDestinatario + 120, 86, 23).stroke();
415
+ this.doc.fontSize(5).font('Times-Roman').text('BASE DE CÁLCULO DO ICMS', left + 4, topDestinatario + 125, {
416
+ characterSpacing: 0.5,
417
+ });
418
+ this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vBC)).toFixed(2), left - 8, topDestinatario + 135, {
419
+ characterSpacing: 1,
420
+ align: 'right',
421
+ width: 86
422
+ });
423
+ this.doc.rect(left + 86, topDestinatario + 120, 79, 23).stroke();
424
+ this.doc.fontSize(5).text('VALOR DO ICMS', left + 90, topDestinatario + 125, {
425
+ characterSpacing: 0.5,
426
+ });
427
+ this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vICMS)).toFixed(2), left + 86 - 16, topDestinatario + 135, {
428
+ characterSpacing: 1,
429
+ align: 'right',
430
+ width: 86
431
+ });
432
+ this.doc.rect(left + 165, topDestinatario + 120, 79, 23).stroke();
433
+ this.doc.fontSize(5).text('BASE CÁLC. ICMS SUBST', left + 169, topDestinatario + 125, {
434
+ characterSpacing: 0.5,
435
+ });
436
+ this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vBCST)).toFixed(2), left + 165 - 16, topDestinatario + 135, {
437
+ characterSpacing: 1,
438
+ align: 'right',
439
+ width: 86
440
+ });
441
+ this.doc.rect(left + 244, topDestinatario + 120, 79, 23).stroke();
442
+ this.doc.fontSize(5).text('VALOR DO ICMS SUBST.', left + 248, topDestinatario + 125, {
443
+ characterSpacing: 0.5,
444
+ });
445
+ this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vST)).toFixed(2), left + 244 - 16, topDestinatario + 135, {
446
+ characterSpacing: 1,
447
+ align: 'right',
448
+ width: 86
449
+ });
450
+ this.doc.rect(left + 323, topDestinatario + 120, 91, 23).stroke();
451
+ this.doc.fontSize(5).text('VALOR APROX. DOS TRIBUTOS', left + 327, topDestinatario + 125, {
452
+ characterSpacing: 0.5,
453
+ });
454
+ this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vTotTrib)).toFixed(2), left + 323 - 6, topDestinatario + 135, {
455
+ characterSpacing: 1,
456
+ align: 'right',
457
+ width: 86
458
+ });
459
+ this.doc.rect(left + 414, topDestinatario + 120, 152.93, 23).fillAndStroke('#DDDDDD', '#1c1c1c');
460
+ this.setLineStyle(0.75, '#1c1c1c');
461
+ this.doc.fontSize(5).text('VALOR TOTAL DOS PRODUTOS', left + 418, topDestinatario + 125, {
462
+ characterSpacing: 0.5,
463
+ });
464
+ this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vProd)).toFixed(2), left + 480 - 8, topDestinatario + 135, {
465
+ characterSpacing: 1,
466
+ align: 'right',
467
+ width: 86
468
+ });
469
+ /** LINHA 2 */
470
+ this.doc.rect(left, topDestinatario + 143, 86, 23).stroke();
471
+ this.doc.fontSize(5).text('VALOR DO FRETE', left + 4, topDestinatario + 148, {
472
+ characterSpacing: 0.5,
473
+ });
474
+ this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vFrete)).toFixed(2), left - 8, topDestinatario + 158, {
475
+ characterSpacing: 1,
476
+ align: 'right',
477
+ width: 86
478
+ });
479
+ this.doc.rect(left + 86, topDestinatario + 143, 79, 23).stroke();
480
+ this.doc.fontSize(5).text('VALOR DO SEGURO', left + 90, topDestinatario + 148, {
481
+ characterSpacing: 0.5,
482
+ });
483
+ this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vSeg)).toFixed(2), left + 86 - 16, topDestinatario + 158, {
484
+ characterSpacing: 1,
485
+ align: 'right',
486
+ width: 86
487
+ });
488
+ this.doc.rect(left + 165, topDestinatario + 143, 79, 23).stroke();
489
+ this.doc.fontSize(5).text('DESCONTO', left + 169, topDestinatario + 148, {
490
+ characterSpacing: 0.5,
491
+ });
492
+ this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vDesc)).toFixed(2), left + 165 - 16, topDestinatario + 158, {
493
+ characterSpacing: 1,
494
+ align: 'right',
495
+ width: 86
496
+ });
497
+ this.doc.rect(left + 244, topDestinatario + 143, 79, 23).stroke();
498
+ this.doc.fontSize(5).text('OUTRAS DESP. ACESS.', left + 248, topDestinatario + 148, {
499
+ characterSpacing: 0.5,
500
+ });
501
+ this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vOutro)).toFixed(2), left + 244 - 16, topDestinatario + 158, {
502
+ characterSpacing: 1,
503
+ align: 'right',
504
+ width: 86
505
+ });
506
+ this.doc.rect(left + 323, topDestinatario + 143, 91, 23).stroke();
507
+ this.doc.fontSize(5).text('VALOR DO IPI', left + 327, topDestinatario + 148, {
508
+ characterSpacing: 0.5,
509
+ });
510
+ this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vIPI)).toFixed(2), left + 323 - 6, topDestinatario + 158, {
511
+ characterSpacing: 1,
512
+ align: 'right',
513
+ width: 86
514
+ });
515
+ this.doc.rect(left + 414, topDestinatario + 143, 152.93, 23).fillAndStroke('#DDDDDD', '#1c1c1c');
516
+ this.setLineStyle(0.75, '#1c1c1c');
517
+ this.doc.fontSize(5).text('VALOR TOTAL DA NOTA', left + 418, topDestinatario + 148, {
518
+ characterSpacing: 0.5,
519
+ });
520
+ this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vNF)).toFixed(2), left + 480 - 8, topDestinatario + 158, {
521
+ characterSpacing: 1,
522
+ align: 'right',
523
+ width: 86
524
+ });
525
+ };
526
+ this.doc.fontSize(6).font('Times-Bold').text('CÁLCULO DO IMPOSTO', left, topDestinatario + 114, {
527
+ characterSpacing: 0.5,
528
+ });
529
+ _buildCalcImposto();
530
+ }
531
+ _builTransporte() {
532
+ const { top, left } = this.doc.page.margins;
533
+ const page = this.doc.bufferedPageRange();
534
+ const docDest = this.documento.mascaraCnpjCpf(String(this.dest.CNPJCPF));
535
+ this.setLineStyle(0.75, '#1c1c1c');
536
+ const topDestinatario = top + 233;
537
+ const getModFrete = () => {
538
+ // * 0=Contratação do Frete por conta do Remetente (CIF)
539
+ // * 1=Contratação do Frete por conta do Destinatário (FOB)
540
+ // * 2=Contratação do Frete por conta de Terceiros
541
+ // * 3=Transporte Próprio por conta do Remetente
542
+ // * 4=Transporte Próprio por conta do Destinatário
543
+ // * 9=Sem Ocorrência de Transporte. (Atualizado na NT 2016/002)
544
+ const modFrete = this.transp.modFrete;
545
+ switch (modFrete) {
546
+ case 0:
547
+ return `${modFrete} - REMETENTE`;
548
+ case 1:
549
+ return `${modFrete} - DESTINATÁRIO`;
550
+ case 2:
551
+ return `${modFrete} - TERCEIROS`;
552
+ case 3:
553
+ return `${modFrete} - REMETENTE`;
554
+ case 4:
555
+ return `${modFrete} - DESTINATÁRIO`;
556
+ case 9:
557
+ return '';
558
+ default:
559
+ return '';
560
+ }
561
+ };
562
+ const _buildVolumeTransporte = () => {
563
+ if (this.transp.vol) {
564
+ /** Posição da primeira linha */
565
+ let topTrnasport = topDestinatario + 166;
566
+ let topTrnasportTitle = topDestinatario + 171;
567
+ let topTrnasportValue = topDestinatario + 181;
568
+ const createVolume = (vol) => {
569
+ this.doc.rect(left, topTrnasport, 68.5, 23).stroke();
570
+ this.doc.fontSize(5).text('QUANTIDADE', left + 4, topTrnasportTitle, {
571
+ characterSpacing: 0.5,
572
+ });
573
+ this.doc.fontSize(8).text(String(vol?.qVol || ''), left - 8, topTrnasportValue, {
574
+ characterSpacing: 1,
575
+ align: 'right',
576
+ width: 68.5
577
+ });
578
+ this.doc.rect(left + 68.5, topTrnasport, 100.5, 23).stroke();
579
+ this.doc.fontSize(5).text('ESPÉCIE', left + 72.5, topTrnasportTitle, {
580
+ characterSpacing: 0.5,
581
+ });
582
+ this.doc.fontSize(8).text(String(vol?.esp || ''), left + 73.5, topTrnasportValue, {
583
+ characterSpacing: 1,
584
+ });
585
+ this.doc.rect(left + 169, topTrnasport, 100.5, 23).stroke();
586
+ this.doc.fontSize(5).text('MARCA', left + 173, topTrnasportTitle, {
587
+ characterSpacing: 0.5,
588
+ });
589
+ this.doc.fontSize(8).text(String(vol?.marca || ''), left + 174, topTrnasportValue, {
590
+ characterSpacing: 1,
591
+ });
592
+ this.doc.rect(left + 269.5, topTrnasport, 100.5, 23).stroke();
593
+ this.doc.fontSize(5).text('NUMERAÇÃO', left + 273.5, topTrnasportTitle, {
594
+ characterSpacing: 0.5,
595
+ });
596
+ this.doc.fontSize(8).text(String(vol?.nVol || ''), left + 274.5, topTrnasportValue, {
597
+ characterSpacing: 1,
598
+ });
599
+ this.doc.rect(left + 370, topTrnasport, 102.6, 23).stroke();
600
+ this.doc.fontSize(5).text('PESO BRUTO', left + 374, topTrnasportTitle, {
601
+ characterSpacing: 0.5,
602
+ });
603
+ this.doc.fontSize(8).text(String(vol?.nVol || ''), left + 375, topTrnasportValue, {
604
+ characterSpacing: 1,
605
+ });
606
+ //96,43
607
+ this.doc.rect(left + 472.5, topTrnasport, 94.43, 23).stroke();
608
+ this.doc.fontSize(5).text('PESO LÍQUIDO', left + 474.5, topTrnasportTitle, {
609
+ characterSpacing: 0.5,
610
+ });
611
+ this.doc.fontSize(8).text(String(vol?.nVol || ''), left + 475.5, topTrnasportValue, {
612
+ characterSpacing: 1,
613
+ });
614
+ /** Define posição da nova linha */
615
+ topTrnasport = topTrnasport + 23;
616
+ topTrnasportTitle = topTrnasportTitle + 23;
617
+ topTrnasportValue = topTrnasportValue + 23;
618
+ };
619
+ if (this.transp.vol instanceof Array) {
620
+ for (let vol of this.transp.vol) {
621
+ createVolume(vol);
622
+ }
623
+ }
624
+ else {
625
+ createVolume(this.transp.vol);
626
+ }
627
+ }
628
+ };
629
+ const _buildCalcImposto = () => {
630
+ /** LINHA 1 */
631
+ this.doc.rect(left, topDestinatario + 120, 248.5, 23).stroke();
632
+ this.doc.fontSize(5).font('Times-Roman').text('RAZÃO SOCIAL', left + 4, topDestinatario + 125, {
633
+ characterSpacing: 0.5,
634
+ });
635
+ this.doc.fontSize(8).text(this.transp.transporta?.xNome || '', left + 5, topDestinatario + 135, {
636
+ characterSpacing: 1,
637
+ width: 246
638
+ });
639
+ this.doc.rect(left + 248.5, topDestinatario + 120, 90, 23).stroke();
640
+ this.doc.fontSize(5).text('FRETE POR CONTA', left + 252.5, topDestinatario + 125, {
641
+ characterSpacing: 0.5,
642
+ });
643
+ this.doc.fontSize(8).text(getModFrete(), left + 253.5, topDestinatario + 135, {
644
+ characterSpacing: 1,
645
+ });
646
+ this.doc.rect(left + 338.5, topDestinatario + 120, 50, 23).stroke();
647
+ this.doc.fontSize(5).text('CÓDIGO ANTT', left + 342.5, topDestinatario + 125, {
648
+ characterSpacing: 0.5,
649
+ });
650
+ this.doc.fontSize(8).text(this.transp?.veicTransp?.RNTC || '', left + 343.5, topDestinatario + 135, {
651
+ characterSpacing: 1,
652
+ });
653
+ this.doc.rect(left + 388.5, topDestinatario + 120, 62, 23).stroke();
654
+ this.doc.fontSize(5).text('PLACA DO VEÍCULO', left + 391.5, topDestinatario + 125, {
655
+ characterSpacing: 0.5,
656
+ });
657
+ this.doc.fontSize(8).text(this.transp?.veicTransp?.placa || '', left + 393.5, topDestinatario + 135, {
658
+ characterSpacing: 1,
659
+ });
660
+ this.doc.rect(left + 450.5, topDestinatario + 120, 22, 23).stroke();
661
+ this.doc.fontSize(5).text('UF', left + 454.5, topDestinatario + 125, {
662
+ characterSpacing: 0.5,
663
+ });
664
+ this.doc.fontSize(8).text(this.transp?.transporta?.UF || '', left + 455.5, topDestinatario + 135, {
665
+ characterSpacing: 1,
666
+ });
667
+ this.doc.rect(left + 472.5, topDestinatario + 120, 94.43, 23).stroke();
668
+ this.doc.fontSize(5).text('CNPJ / CPF', left + 476.5, topDestinatario + 125, {
669
+ characterSpacing: 0.5,
670
+ });
671
+ this.doc.fontSize(8).text(this.transp.transporta?.CNPJCPF || '', left + 477.5, topDestinatario + 135, {
672
+ characterSpacing: 1,
673
+ });
674
+ /** LINHA 2 */
675
+ this.doc.rect(left, topDestinatario + 143, 338.5, 23).stroke();
676
+ this.doc.fontSize(5).text('ENDEREÇO', left + 4, topDestinatario + 148, {
677
+ characterSpacing: 0.5,
678
+ });
679
+ this.doc.fontSize(8).text(this.transp.transporta?.xEnder || '', left - 8, topDestinatario + 158, {
680
+ characterSpacing: 1,
681
+ });
682
+ this.doc.rect(left + 338.5, topDestinatario + 143, 112, 23).stroke();
683
+ this.doc.fontSize(5).text('MUNICÍPIO', left + 342.5, topDestinatario + 148, {
684
+ characterSpacing: 0.5,
685
+ });
686
+ this.doc.fontSize(8).text(this.transp.transporta?.xMun || '', left + 343.5, topDestinatario + 158, {
687
+ characterSpacing: 1,
688
+ });
689
+ this.doc.rect(left + 450.5, topDestinatario + 143, 22, 23).stroke();
690
+ this.doc.fontSize(5).text('UF', left + 454.5, topDestinatario + 148, {
691
+ characterSpacing: 0.5,
692
+ });
693
+ this.doc.fontSize(8).text(this.transp?.transporta?.UF || '', left + 455.5, topDestinatario + 158, {
694
+ characterSpacing: 1,
695
+ });
696
+ this.doc.rect(left + 472.5, topDestinatario + 143, 94.43, 23).stroke();
697
+ this.doc.fontSize(5).text('INSCRIÇÃO ESTADUAL', left + 476.5, topDestinatario + 148, {
698
+ characterSpacing: 0.5,
699
+ });
700
+ this.doc.fontSize(8).text(this.transp?.transporta?.IE || '', left + 476.5 - 16, topDestinatario + 158, {
701
+ characterSpacing: 1,
702
+ });
703
+ };
704
+ this.doc.fontSize(6).font('Times-Bold').text('TRANSPORTADOR / VOLUMES TRANSPORTADOS', left, topDestinatario + 114, {
705
+ characterSpacing: 0.5,
706
+ });
707
+ _buildCalcImposto();
708
+ _buildVolumeTransporte();
709
+ }
710
+ _buildProdutos() {
711
+ const { top, left } = this.doc.page.margins;
712
+ this.setLineStyle(0.75, '#1c1c1c');
713
+ this.doc.fontSize(6).font('Times-Bold').fillColor('black').text('DADOS DO PRODUTO / SERVIÇOS', left, 452, {
714
+ characterSpacing: 0.5,
715
+ });
716
+ const tableTop = 458;
717
+ const defaultItemHeight = 15;
718
+ let y = tableTop;
719
+ let currentPage = 0;
720
+ const header = (top) => {
721
+ this.doc.rect(left, top, 40, defaultItemHeight).fillAndStroke('#DDDDDD', '#1c1c1c');
722
+ this.setLineStyle(0.75, '#1c1c1c');
723
+ this.doc.font('Times-Roman').fontSize(5.7).text('CÓDIGO DO PROD. / SERV', left, top + 2.8, {
724
+ width: 40,
725
+ align: 'center',
726
+ });
727
+ this.doc.rect(left + 40, top, 138, defaultItemHeight).fillAndStroke('#DDDDDD', '#1c1c1c');
728
+ this.setLineStyle(0.75, '#1c1c1c');
729
+ this.doc.text('DESCRIÇÃO DO PRODUTO / SERVIÇO', left + 40, top + 5.9, {
730
+ width: 138,
731
+ align: 'center'
732
+ });
733
+ this.doc.rect(left + 178, top, 30, defaultItemHeight).fillAndStroke('#DDDDDD', '#1c1c1c');
734
+ this.setLineStyle(0.75, '#1c1c1c');
735
+ this.doc.text('NCM / SH', left + 178, top + 5.9, {
736
+ width: 30,
737
+ align: 'center'
738
+ });
739
+ this.doc.rect(left + 208, top, 17, defaultItemHeight).fillAndStroke('#DDDDDD', '#1c1c1c');
740
+ this.setLineStyle(0.75, '#1c1c1c');
741
+ this.doc.text('CST', left + 208, top + 5.9, {
742
+ width: 17,
743
+ align: 'center'
744
+ });
745
+ this.doc.rect(left + 225, top, 28, defaultItemHeight).fillAndStroke('#DDDDDD', '#1c1c1c');
746
+ this.setLineStyle(0.75, '#1c1c1c');
747
+ this.doc.text('CFOP', left + 225, top + 5.9, {
748
+ width: 28,
749
+ align: 'center'
750
+ });
751
+ this.doc.rect(left + 253, top, 23, defaultItemHeight).fillAndStroke('#DDDDDD', '#1c1c1c');
752
+ this.setLineStyle(0.75, '#1c1c1c');
753
+ this.doc.text('UNID.', left + 253, top + 5.9, {
754
+ width: 23,
755
+ align: 'center'
756
+ });
757
+ this.doc.rect(left + 276, top, 25, defaultItemHeight).fillAndStroke('#DDDDDD', '#1c1c1c');
758
+ this.setLineStyle(0.75, '#1c1c1c');
759
+ this.doc.text('QUANT.', left + 276, top + 5.9, {
760
+ width: 25,
761
+ align: 'center'
762
+ });
763
+ this.doc.rect(left + 301, top, 37.23, defaultItemHeight).fillAndStroke('#DDDDDD', '#1c1c1c');
764
+ this.setLineStyle(0.75, '#1c1c1c');
765
+ this.doc.text('VALOR UNITÁRIO', left + 301, top + 2.9, {
766
+ width: 37.23,
767
+ align: 'center'
768
+ });
769
+ this.doc.rect(left + 338.23, top, 39.23, defaultItemHeight).fillAndStroke('#DDDDDD', '#1c1c1c');
770
+ this.setLineStyle(0.75, '#1c1c1c');
771
+ this.doc.text('VALOR DESCONTO', left + 338.23, top + 2.9, {
772
+ width: 39.23,
773
+ align: 'center'
774
+ });
775
+ this.doc.rect(left + 377.46, top, 33.23, defaultItemHeight).fillAndStroke('#DDDDDD', '#1c1c1c');
776
+ this.setLineStyle(0.75, '#1c1c1c');
777
+ this.doc.text('VALOR LIQUIDO', left + 377.46, top + 2.9, {
778
+ width: 33.23,
779
+ align: 'center'
780
+ });
781
+ this.doc.rect(left + 410.69, top, 38, defaultItemHeight).fillAndStroke('#DDDDDD', '#1c1c1c');
782
+ this.setLineStyle(0.75, '#1c1c1c');
783
+ this.doc.text('BASE CÁLC. ICMS', left + 413.8, top + 2.9, {
784
+ width: 32,
785
+ align: 'center'
786
+ });
787
+ this.doc.rect(left + 448.69, top, 35, defaultItemHeight).fillAndStroke('#DDDDDD', '#1c1c1c');
788
+ this.setLineStyle(0.75, '#1c1c1c');
789
+ this.doc.text('VALOR I.C.M.S.', left + 448.69, top + 2.9, {
790
+ width: 35,
791
+ align: 'center'
792
+ });
793
+ this.doc.rect(left + 483.69, top, 38, defaultItemHeight).fillAndStroke('#DDDDDD', '#1c1c1c');
794
+ this.setLineStyle(0.75, '#1c1c1c');
795
+ this.doc.text('VALOR I.P.I.', left + 490.69, top + 2.9, {
796
+ width: 25,
797
+ align: 'center'
798
+ });
799
+ this.doc.rect(left + 521.69, top, 45.2, 7.5).fillAndStroke('#DDDDDD', '#1c1c1c');
800
+ this.setLineStyle(0.75, '#1c1c1c');
801
+ this.doc.text('ALÍQUOTAS', left + 521.69, top + 2, {
802
+ width: 45,
803
+ align: 'center'
804
+ });
805
+ this.doc.rect(left + 521.69, top + 7.5, 22.5, 7.5).fillAndStroke('#DDDDDD', '#1c1c1c');
806
+ this.setLineStyle(0.75, '#1c1c1c');
807
+ this.doc.text('ICMS', left + 521.69, top + 9.5, {
808
+ width: 22.5,
809
+ align: 'center'
810
+ });
811
+ this.doc.rect(left + 544.19, top + 7.5, 22.75, 7.5).fillAndStroke('#DDDDDD', '#1c1c1c');
812
+ this.setLineStyle(0.75, '#1c1c1c');
813
+ this.doc.text('IPI', left + 544.19, top + 9.5, {
814
+ width: 22.5,
815
+ align: 'center'
816
+ });
817
+ };
818
+ const row = (top, item) => {
819
+ function getCST(ICMS) {
820
+ const chavesICMS = Object.keys(ICMS);
821
+ const listaIcmsSemCST = [
822
+ 'ICMSSN101',
823
+ 'ICMSSN102',
824
+ 'ICMSSN201',
825
+ 'ICMSSN202',
826
+ 'ICMSSN500',
827
+ 'ICMSSN900'
828
+ ];
829
+ const icmsSemCST = listaIcmsSemCST.includes(chavesICMS[0]);
830
+ let CST = '';
831
+ if (chavesICMS.length > 0) {
832
+ const tipoICMS = chavesICMS[0];
833
+ if (!icmsSemCST) {
834
+ CST = ICMS[tipoICMS].CST;
835
+ }
836
+ }
837
+ return CST;
838
+ }
839
+ function getValoresItem(ICMS) {
840
+ const chavesICMS = Object.keys(ICMS);
841
+ const listaIcmsSemvBC = [
842
+ 'ICMS02',
843
+ 'ICMS15',
844
+ 'ICMS30',
845
+ 'ICMS40',
846
+ 'ICMS53',
847
+ 'ICMS60',
848
+ 'ICMS61',
849
+ 'ICMSST',
850
+ 'ICMSSN101',
851
+ 'ICMSSN102',
852
+ 'ICMSSN201',
853
+ 'ICMSSN202',
854
+ 'ICMSSN500'
855
+ ];
856
+ const icmsSemvBC = listaIcmsSemvBC.includes(chavesICMS[0]);
857
+ let vBC = '0,00';
858
+ let vICMS = '0,00';
859
+ let pICMS = '0,00';
860
+ if (chavesICMS.length > 0) {
861
+ const tipoICMS = chavesICMS[0];
862
+ if (!icmsSemvBC) {
863
+ vBC = ICMS[tipoICMS].vBC;
864
+ vICMS = ICMS[tipoICMS].vICMS;
865
+ pICMS = ICMS[tipoICMS].pICMS;
866
+ return {
867
+ vBC: parseFloat(vBC).toFixed(2),
868
+ vICMS: parseFloat(vBC).toFixed(2),
869
+ pICMS: parseFloat(pICMS).toFixed(2)
870
+ };
871
+ }
872
+ }
873
+ return { vBC, vICMS, pICMS };
874
+ }
875
+ function getValoresIPI(IPI) {
876
+ if (!IPI) {
877
+ return {
878
+ vIPI: '0,00',
879
+ pIPI: '0,00'
880
+ };
881
+ }
882
+ let vIPI = parseFloat(String(IPI.IPITrib.vIPI)).toFixed(2);
883
+ let pIPI = parseFloat(String(IPI.IPITrib.pIPI)).toFixed(2);
884
+ return { vIPI, pIPI };
885
+ }
886
+ const CST = getCST(item.imposto.ICMS);
887
+ const { vIPI, pIPI } = getValoresIPI(item.imposto.IPI);
888
+ const { vBC, vICMS, pICMS } = getValoresItem(item.imposto.ICMS);
889
+ const text = item.infAdProd ? `${item.prod.xProd || ''}\n${item.infAdProd}` : item.prod.xProd || '';
890
+ const textHeight = this.doc.heightOfString(text, {
891
+ width: 138,
892
+ align: 'center'
893
+ });
894
+ const itemHeight = Math.max(defaultItemHeight, textHeight + 10); // 10 is padding
895
+ this.setLineStyle(0.75, '#1c1c1c');
896
+ this.doc.rect(left, top, 40, itemHeight).stroke();
897
+ this.doc.font('Times-Roman').fontSize(6).text(item.prod.cProd || '', left + 2, top + 3, {
898
+ width: 40,
899
+ });
900
+ this.doc.rect(left + 40, top, 138, itemHeight).stroke();
901
+ this.doc.text(text, left + 43, top + 4, {
902
+ width: 137,
903
+ });
904
+ this.doc.rect(left + 178, top, 30, itemHeight).stroke();
905
+ this.doc.text(String(item.prod.NCM) || '', left + 178, top + 4, {
906
+ width: 30,
907
+ align: 'center'
908
+ });
909
+ this.doc.rect(left + 208, top, 17, itemHeight).stroke();
910
+ this.doc.text(CST, left + 208, top + 5.9, {
911
+ width: 17,
912
+ align: 'center'
913
+ });
914
+ this.doc.rect(left + 225, top, 28, itemHeight).stroke();
915
+ this.doc.text(String(item.prod.CFOP || ''), left + 225, top + 5.9, {
916
+ width: 28,
917
+ align: 'center'
918
+ });
919
+ this.doc.rect(left + 253, top, 23, itemHeight).stroke();
920
+ this.doc.text(item.prod.uCom || item.prod.uTrib || '', left + 256, top + 5.9, {
921
+ width: 23,
922
+ });
923
+ const quant = parseFloat(String(item.prod.qCom || item.prod.uCom)).toLocaleString('pt-BR', { minimumFractionDigits: 2, maximumFractionDigits: 3 });
924
+ this.doc.rect(left + 276, top, 25, itemHeight).stroke();
925
+ this.doc.text(String(quant || ''), left + 274.5, top + 5.9, {
926
+ width: 25,
927
+ align: 'right'
928
+ });
929
+ const valUnit = parseFloat(String(item.prod.vUnCom || item.prod.vUnTrib || '0')).toLocaleString('pt-BR', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
930
+ this.doc.rect(left + 301, top, 37.23, itemHeight).stroke();
931
+ this.doc.text(valUnit, left + 299.5, top + 5.9, {
932
+ width: 37.23,
933
+ align: 'right'
934
+ });
935
+ const valDesc = parseFloat(String(item.prod.vDesc || '0')).toLocaleString('pt-BR', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
936
+ this.doc.rect(left + 338.23, top, 39.23, itemHeight).stroke();
937
+ this.doc.text(valDesc, left + 336.73, top + 5.9, {
938
+ width: 39.23,
939
+ align: 'right'
940
+ });
941
+ const valLiq = parseFloat(String(item.prod.vProd || '0')).toLocaleString('pt-BR', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
942
+ this.doc.rect(left + 377.46, top, 33.23, itemHeight).stroke();
943
+ this.doc.text(valLiq, left + 375.96, top + 5.9, {
944
+ width: 33.23,
945
+ align: 'right'
946
+ });
947
+ this.doc.rect(left + 410.69, top, 38, itemHeight).stroke();
948
+ this.doc.text(vBC, left + 409.19, top + 5.9, {
949
+ width: 38,
950
+ align: 'right'
951
+ });
952
+ this.doc.rect(left + 448.69, top, 35, itemHeight).stroke();
953
+ this.doc.text(vICMS, left + 447.19, top + 5.9, {
954
+ width: 35,
955
+ align: 'right'
956
+ });
957
+ this.doc.rect(left + 483.69, top, 38, itemHeight).stroke();
958
+ this.doc.text(vIPI, left + 482.19, top + 5.9, {
959
+ width: 38,
960
+ align: 'right'
961
+ });
962
+ this.doc.rect(left + 521.69, top, 22.5, itemHeight).stroke();
963
+ this.doc.text(pICMS, left + 520.19, top + 5.9, {
964
+ width: 22.5,
965
+ align: 'right'
966
+ });
967
+ this.doc.rect(left + 544.19, top, 22.75, itemHeight).stroke();
968
+ this.doc.text(pIPI, left + 542.69, top + 5.9, {
969
+ width: 22.5,
970
+ align: 'right'
971
+ });
972
+ return itemHeight;
973
+ };
974
+ header(458);
975
+ const createTable = (prod) => {
976
+ if (y + defaultItemHeight > this.doc.page.height - 160) {
977
+ this.doc.addPage();
978
+ currentPage++;
979
+ if (currentPage > 0) {
980
+ y = 185;
981
+ this.doc.fontSize(6).font('Times-Bold').fillColor('black').text('DADOS DO PRODUTO / SERVIÇOS', left, 175, {
982
+ characterSpacing: 0.5,
983
+ });
984
+ header(185);
985
+ }
986
+ }
987
+ const itemHeight = row(y + 15, prod);
988
+ y += itemHeight;
989
+ };
990
+ // Adicionando itens da tabela
991
+ if (this.det instanceof Array) {
992
+ for (let i = 0; i < this.det.length; i++) {
993
+ const prod = this.det[i];
994
+ createTable(prod);
995
+ }
996
+ }
997
+ else {
998
+ createTable(this.det);
999
+ }
1000
+ }
1001
+ _buildFooter() {
1002
+ const { left } = this.doc.page.margins;
1003
+ this.setLineStyle(0.75, '#1c1c1c');
1004
+ const topDestinatario = 820.45 - 88.5;
1005
+ this.doc.fontSize(6).font('Times-Bold').text('DADOS ADICIONAIS', left, topDestinatario - 5, {
1006
+ characterSpacing: 0.5,
1007
+ });
1008
+ this.doc.rect(left, topDestinatario, 408, 95).stroke();
1009
+ this.doc.fontSize(5).font('Times-Roman').text('INFORMAÇÕES COMPLEMENTARES', 10, topDestinatario + 4.5, {
1010
+ characterSpacing: 0.5
1011
+ });
1012
+ this.doc.fontSize(8).text(this.infAdic?.infCpl || '', 13, topDestinatario + 13, {
1013
+ characterSpacing: 1,
1014
+ width: 400,
1015
+ });
1016
+ this.doc.rect(left + 408, topDestinatario, 158.93, 95).stroke();
1017
+ this.doc.fontSize(5).text('RESERVADO AO FISCO', 408 + 10, topDestinatario + 4.5, {
1018
+ characterSpacing: 0.5
1019
+ });
1020
+ this.doc.fontSize(8).text(String(this.infAdic?.infAdFisco || ''), 13, topDestinatario + 13, {
1021
+ characterSpacing: 1,
1022
+ width: 400,
1023
+ });
1024
+ if (this.exibirMarcaDaguaDanfe) {
1025
+ const topPosition = Number(Number(this.ide.tpAmb)) !== 2 ? topDestinatario + 38 : topDestinatario + 58;
1026
+ const leftPosition = Number(Number(this.ide.tpAmb)) !== 2 ? left + 150 : left + 100;
1027
+ this.doc.fontSize(26).font('Times-Bold').fillColor('#c7c7c7').text('NFeWizard', leftPosition, topPosition, {
1028
+ characterSpacing: 0.5,
1029
+ });
1030
+ }
1031
+ if (Number(Number(this.ide.tpAmb)) === 2) {
1032
+ this.doc.fontSize(14).font('Times-Bold').fillColor('grey').text('AMBIENTE DE HOMOLOGAÇÃO - NF-E SEM VALOR FISCAL', left + 100, topDestinatario + 45, {
1033
+ characterSpacing: 1
1034
+ });
1035
+ }
1036
+ // .rotate(45, { origin: [0, 0] })
1037
+ }
1038
+ async generatePDF(exibirMarcaDaguaDanfe) {
1039
+ try {
1040
+ this.exibirMarcaDaguaDanfe = exibirMarcaDaguaDanfe || true;
1041
+ const chave = this.chave;
1042
+ await this.generateBarcode(chave);
1043
+ this.doc.pipe(fs.createWriteStream(this.outputPath));
1044
+ this.drawHeader(true);
1045
+ this._buildDestinatario();
1046
+ this._builCalculoImposto();
1047
+ this._builTransporte();
1048
+ this.doc.on('pageAdded', () => {
1049
+ this.drawHeader(false);
1050
+ });
1051
+ this.drawFooter();
1052
+ this.doc.on('pageAdded', () => {
1053
+ this.drawFooter();
1054
+ });
1055
+ this._buildProdutos();
1056
+ this.doc.end();
1057
+ return {
1058
+ message: ` DANFE Gerada em '${this.outputPath}'`,
1059
+ success: true,
1060
+ };
1061
+ }
1062
+ catch (error) {
1063
+ throw new Error(`Erro ao gerar DANFE: ${error.message}`);
1064
+ }
1065
+ }
1066
+ }
1067
+ export default NFEGerarDanfe;
1068
+ //# sourceMappingURL=NFEGerarDanfe.js.map