@alexssmusica/node-pdf-nfe 1.0.62 → 1.1.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 (78) hide show
  1. package/README.md +22 -21
  2. package/lib/application/helpers/generate-pdf/nfe/campo.js +1 -15
  3. package/lib/application/helpers/generate-pdf/nfe/cria-layout.js +1 -144
  4. package/lib/application/helpers/generate-pdf/nfe/default.js +1 -27
  5. package/lib/application/helpers/generate-pdf/nfe/gerar-itens.js +1 -276
  6. package/lib/application/helpers/generate-pdf/nfe/get-dados-adicionais.js +1 -54
  7. package/lib/application/helpers/generate-pdf/nfe/get-dados-emitente.js +1 -310
  8. package/lib/application/helpers/generate-pdf/nfe/get-destinatario-remetente.js +1 -124
  9. package/lib/application/helpers/generate-pdf/nfe/get-fatura-duplicata.js +1 -62
  10. package/lib/application/helpers/generate-pdf/nfe/get-homologacao.js +1 -25
  11. package/lib/application/helpers/generate-pdf/nfe/get-imposto.js +1 -220
  12. package/lib/application/helpers/generate-pdf/nfe/get-iss.js +1 -64
  13. package/lib/application/helpers/generate-pdf/nfe/get-menu-itens.js +1 -200
  14. package/lib/application/helpers/generate-pdf/nfe/get-recibo.js +1 -103
  15. package/lib/application/helpers/generate-pdf/nfe/get-transporte.js +1 -144
  16. package/lib/application/helpers/generate-pdf/nfe/italico.js +1 -16
  17. package/lib/application/helpers/generate-pdf/nfe/linha-horizontal-tracejada.js +1 -9
  18. package/lib/application/helpers/generate-pdf/nfe/linha-horizontal.js +1 -17
  19. package/lib/application/helpers/generate-pdf/nfe/linha-vertical.js +1 -11
  20. package/lib/application/helpers/generate-pdf/nfe/load-fontes.js +1 -32
  21. package/lib/application/helpers/generate-pdf/nfe/negrito.js +1 -16
  22. package/lib/application/helpers/generate-pdf/nfe/normal.js +1 -16
  23. package/lib/application/helpers/generate-pdf/nfe/options-doc.js +1 -15
  24. package/lib/application/helpers/generate-pdf/nfe/secao.js +1 -17
  25. package/lib/application/helpers/generate-pdf/nfe/titulo.js +1 -17
  26. package/lib/application/helpers/xml/deserialize.js +1 -26
  27. package/lib/application/helpers/xml/index.js +1 -18
  28. package/lib/domain/use-cases/pdf/index.js +1 -27
  29. package/lib/domain/use-cases/pdf/pdf-NFCe.js +1 -689
  30. package/lib/domain/use-cases/pdf/pdf-NFe.js +1 -44
  31. package/lib/domain/use-cases/utils/data-atual.js +1 -13
  32. package/lib/domain/use-cases/utils/index.js +1 -19
  33. package/lib/domain/use-cases/utils/intl-number-format.js +1 -8
  34. package/lib/index.js +1 -6
  35. package/lib/types/generate-pdf.d.ts +244 -0
  36. package/lib/types/generate-pdf.js +1 -0
  37. package/lib/types/index.d.ts +0 -1
  38. package/lib/types/index.js +1 -21
  39. package/lib/types/nfe-proc.d.ts +42 -0
  40. package/lib/types/nfe-proc.js +1 -0
  41. package/lib/types/schema.d.ts +875 -0
  42. package/lib/types/schema.js +1 -0
  43. package/package.json +62 -57
  44. package/lib/application/helpers/generate-pdf/nfe/campo.js.map +0 -1
  45. package/lib/application/helpers/generate-pdf/nfe/cria-layout.js.map +0 -1
  46. package/lib/application/helpers/generate-pdf/nfe/default.js.map +0 -1
  47. package/lib/application/helpers/generate-pdf/nfe/gerar-itens.js.map +0 -1
  48. package/lib/application/helpers/generate-pdf/nfe/get-dados-adicionais.js.map +0 -1
  49. package/lib/application/helpers/generate-pdf/nfe/get-dados-emitente.js.map +0 -1
  50. package/lib/application/helpers/generate-pdf/nfe/get-destinatario-remetente.js.map +0 -1
  51. package/lib/application/helpers/generate-pdf/nfe/get-fatura-duplicata.js.map +0 -1
  52. package/lib/application/helpers/generate-pdf/nfe/get-homologacao.js.map +0 -1
  53. package/lib/application/helpers/generate-pdf/nfe/get-imposto.js.map +0 -1
  54. package/lib/application/helpers/generate-pdf/nfe/get-iss.js.map +0 -1
  55. package/lib/application/helpers/generate-pdf/nfe/get-menu-itens.js.map +0 -1
  56. package/lib/application/helpers/generate-pdf/nfe/get-recibo.js.map +0 -1
  57. package/lib/application/helpers/generate-pdf/nfe/get-transporte.js.map +0 -1
  58. package/lib/application/helpers/generate-pdf/nfe/italico.js.map +0 -1
  59. package/lib/application/helpers/generate-pdf/nfe/linha-horizontal-tracejada.js.map +0 -1
  60. package/lib/application/helpers/generate-pdf/nfe/linha-horizontal.js.map +0 -1
  61. package/lib/application/helpers/generate-pdf/nfe/linha-vertical.js.map +0 -1
  62. package/lib/application/helpers/generate-pdf/nfe/load-fontes.js.map +0 -1
  63. package/lib/application/helpers/generate-pdf/nfe/negrito.js.map +0 -1
  64. package/lib/application/helpers/generate-pdf/nfe/normal.js.map +0 -1
  65. package/lib/application/helpers/generate-pdf/nfe/options-doc.js.map +0 -1
  66. package/lib/application/helpers/generate-pdf/nfe/secao.js.map +0 -1
  67. package/lib/application/helpers/generate-pdf/nfe/titulo.js.map +0 -1
  68. package/lib/application/helpers/xml/deserialize.js.map +0 -1
  69. package/lib/application/helpers/xml/index.js.map +0 -1
  70. package/lib/domain/use-cases/pdf/index.js.map +0 -1
  71. package/lib/domain/use-cases/pdf/pdf-NFCe.js.map +0 -1
  72. package/lib/domain/use-cases/pdf/pdf-NFe.js.map +0 -1
  73. package/lib/domain/use-cases/utils/data-atual.js.map +0 -1
  74. package/lib/domain/use-cases/utils/index.js.map +0 -1
  75. package/lib/domain/use-cases/utils/intl-number-format.js.map +0 -1
  76. package/lib/index.js.map +0 -1
  77. package/lib/tsconfig.tsbuildinfo +0 -1
  78. package/lib/types/index.js.map +0 -1
@@ -1,689 +1 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.pdfNFCe = void 0;
7
- const date_fns_1 = require("date-fns");
8
- const pdfkit_1 = __importDefault(require("pdfkit"));
9
- const qrcode_1 = __importDefault(require("qrcode"));
10
- const load_fontes_1 = require("../../../application/helpers/generate-pdf/nfe/load-fontes");
11
- const negrito_1 = require("../../../application/helpers/generate-pdf/nfe/negrito");
12
- const normal_1 = require("../../../application/helpers/generate-pdf/nfe/normal");
13
- const utils_1 = require("../utils");
14
- async function pdfNFCe(nf, pathLogo) {
15
- const { NFe, protNFe } = nf;
16
- const { infProt } = protNFe;
17
- const { ide, emit, det, total, pag, dest, infAdic } = NFe.infNFe;
18
- const larguraPagina = 201;
19
- const margemPadrao = 2.5;
20
- const doc = new pdfkit_1.default({
21
- size: [larguraPagina, 1000],
22
- margins: {
23
- top: margemPadrao,
24
- bottom: 0,
25
- left: margemPadrao,
26
- right: margemPadrao
27
- }
28
- });
29
- (0, load_fontes_1.loadFontsNFCe)(doc);
30
- (0, negrito_1.negrito)({
31
- doc,
32
- value: emit.xNome,
33
- x: 0,
34
- y: doc.y,
35
- largura: larguraPagina,
36
- tamanho: 10,
37
- ajusteX: 0,
38
- ajusteY: 0,
39
- margemEsquerda: 0,
40
- margemTopo: 0
41
- });
42
- (0, negrito_1.negrito)({
43
- doc,
44
- value: emit.CNPJ.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/, '$1.$2.$3/$4-$5'),
45
- x: 0,
46
- y: doc.y,
47
- largura: larguraPagina,
48
- tamanho: 10,
49
- ajusteX: 0,
50
- ajusteY: 0,
51
- margemEsquerda: 0,
52
- margemTopo: 0
53
- });
54
- (0, normal_1.normal)({
55
- doc,
56
- value: `${emit.enderEmit.xLgr}, ${emit.enderEmit.nro}${emit.enderEmit.xCpl !== undefined ? ' ' + emit.enderEmit.xCpl : ''}. ${emit.enderEmit.xBairro}, ${emit.enderEmit.xMun}-${emit.enderEmit.UF}. ${emit.enderEmit.CEP}`,
57
- x: 0,
58
- y: doc.y,
59
- largura: larguraPagina,
60
- tamanho: 8,
61
- ajusteX: 0,
62
- ajusteY: 0,
63
- margemEsquerda: 0,
64
- margemTopo: 0
65
- });
66
- doc.y += 5;
67
- (0, negrito_1.negrito)({
68
- doc,
69
- value: 'Documento Auxiliar da Nota Fiscal de Consumidor Eletronica',
70
- x: 0,
71
- y: doc.y,
72
- largura: larguraPagina,
73
- tamanho: 8,
74
- ajusteX: 0,
75
- ajusteY: 0,
76
- margemEsquerda: 0,
77
- margemTopo: 0
78
- });
79
- doc.y += 5;
80
- let posicao = doc.y;
81
- (0, negrito_1.negrito)({
82
- doc,
83
- value: 'CODIGO',
84
- x: 0,
85
- y: posicao,
86
- largura: 26.5,
87
- tamanho: 8,
88
- ajusteX: 0,
89
- ajusteY: 0,
90
- margemEsquerda: margemPadrao,
91
- margemTopo: 0,
92
- alinhamento: 'left'
93
- });
94
- (0, negrito_1.negrito)({
95
- doc,
96
- value: 'DESCRICAO',
97
- x: 31,
98
- y: posicao,
99
- largura: 74.5,
100
- tamanho: 8,
101
- ajusteX: 0,
102
- ajusteY: 0,
103
- margemEsquerda: 0,
104
- margemTopo: 0,
105
- alinhamento: 'left'
106
- });
107
- (0, negrito_1.negrito)({
108
- doc,
109
- value: 'UN',
110
- x: 105,
111
- y: posicao,
112
- largura: 15,
113
- tamanho: 8,
114
- ajusteX: 0,
115
- ajusteY: 0,
116
- margemEsquerda: 0,
117
- margemTopo: 0,
118
- alinhamento: 'center'
119
- });
120
- (0, negrito_1.negrito)({
121
- doc,
122
- value: 'QTD',
123
- x: 120,
124
- y: posicao,
125
- largura: 20,
126
- tamanho: 8,
127
- ajusteX: 0,
128
- ajusteY: 0,
129
- margemEsquerda: 0,
130
- margemTopo: 0,
131
- alinhamento: 'center'
132
- });
133
- (0, negrito_1.negrito)({
134
- doc,
135
- value: 'VL UN',
136
- x: 140,
137
- y: posicao,
138
- largura: 27,
139
- tamanho: 8,
140
- ajusteX: 0,
141
- ajusteY: 0,
142
- margemEsquerda: 0,
143
- margemTopo: 0,
144
- alinhamento: 'center'
145
- });
146
- (0, negrito_1.negrito)({
147
- doc,
148
- value: 'VL TOTAL',
149
- x: 167,
150
- y: posicao,
151
- largura: larguraPagina - 167,
152
- tamanho: 8,
153
- ajusteX: 0,
154
- ajusteY: 0,
155
- margemEsquerda: 0,
156
- margemTopo: 0,
157
- alinhamento: 'center'
158
- });
159
- det.forEach((element) => {
160
- posicao = doc.y;
161
- (0, normal_1.normal)({
162
- doc,
163
- value: element.prod.cProd.padStart(9, '0'),
164
- x: 0 + margemPadrao,
165
- y: posicao,
166
- largura: 28,
167
- tamanho: 6,
168
- ajusteX: 0,
169
- ajusteY: 0,
170
- margemEsquerda: 0,
171
- margemTopo: 0,
172
- alinhamento: 'left'
173
- });
174
- (0, normal_1.normal)({
175
- doc,
176
- value: ajusteTamanhoTexto(doc, 'NOTA FISCAL EMITIDA EM AMB', 73.5),
177
- x: 31,
178
- y: posicao,
179
- largura: 73.5,
180
- tamanho: 6,
181
- ajusteX: 0,
182
- ajusteY: 0,
183
- margemEsquerda: 0,
184
- margemTopo: 0,
185
- alinhamento: 'left'
186
- });
187
- (0, normal_1.normal)({
188
- doc,
189
- value: element.prod.uCom,
190
- x: 105,
191
- y: posicao,
192
- largura: 15,
193
- tamanho: 6,
194
- ajusteX: 0,
195
- ajusteY: 0,
196
- margemEsquerda: 0,
197
- margemTopo: 0,
198
- alinhamento: 'center'
199
- });
200
- (0, normal_1.normal)({
201
- doc,
202
- value: (0, utils_1.formatMoney)(element.prod.qCom, 3),
203
- x: 120,
204
- y: posicao,
205
- largura: 20,
206
- tamanho: 6,
207
- ajusteX: 0,
208
- ajusteY: 0,
209
- margemEsquerda: 0,
210
- margemTopo: 0,
211
- alinhamento: 'center'
212
- });
213
- (0, normal_1.normal)({
214
- doc,
215
- value: (0, utils_1.formatMoney)(element.prod.vUnCom, 2),
216
- x: 140,
217
- y: posicao,
218
- largura: 27,
219
- tamanho: 6,
220
- ajusteX: 0,
221
- ajusteY: 0,
222
- margemEsquerda: 0,
223
- margemTopo: 0,
224
- alinhamento: 'center'
225
- });
226
- (0, normal_1.normal)({
227
- doc,
228
- value: (0, utils_1.formatMoney)(element.prod.vProd, 2),
229
- x: 167,
230
- y: posicao,
231
- largura: larguraPagina - 167,
232
- tamanho: 6,
233
- ajusteX: 0,
234
- ajusteY: 0,
235
- margemEsquerda: 0,
236
- margemTopo: 0,
237
- alinhamento: 'center'
238
- });
239
- posicao += 7;
240
- });
241
- doc.y += 2;
242
- (0, normal_1.normal)({
243
- doc,
244
- value: 'Quantidade Total de Itens',
245
- x: margemPadrao,
246
- y: doc.y,
247
- largura: larguraPagina,
248
- tamanho: 7,
249
- ajusteX: 0,
250
- ajusteY: 0,
251
- margemEsquerda: 0,
252
- margemTopo: 0,
253
- alinhamento: 'left'
254
- });
255
- doc.y -= 7;
256
- (0, normal_1.normal)({
257
- doc,
258
- value: String(det.length),
259
- x: 0,
260
- y: doc.y,
261
- largura: larguraPagina - margemPadrao,
262
- tamanho: 7,
263
- ajusteX: 0,
264
- ajusteY: 0,
265
- margemEsquerda: 0,
266
- margemTopo: 0,
267
- alinhamento: 'right'
268
- });
269
- (0, normal_1.normal)({
270
- doc,
271
- value: 'Valor Total',
272
- x: margemPadrao,
273
- y: doc.y,
274
- largura: larguraPagina,
275
- tamanho: 7,
276
- ajusteX: 0,
277
- ajusteY: 0,
278
- margemEsquerda: 0,
279
- margemTopo: 0,
280
- alinhamento: 'left'
281
- });
282
- doc.y -= 7;
283
- (0, normal_1.normal)({
284
- doc,
285
- value: (0, utils_1.formatMoney)(total.ICMSTot.vProd, 2),
286
- x: 0,
287
- y: doc.y,
288
- largura: larguraPagina - margemPadrao,
289
- tamanho: 7,
290
- ajusteX: 0,
291
- ajusteY: 0,
292
- margemEsquerda: 0,
293
- margemTopo: 0,
294
- alinhamento: 'right'
295
- });
296
- (0, normal_1.normal)({
297
- doc,
298
- value: 'Desconto',
299
- x: margemPadrao,
300
- y: doc.y,
301
- largura: larguraPagina,
302
- tamanho: 7,
303
- ajusteX: 0,
304
- ajusteY: 0,
305
- margemEsquerda: 0,
306
- margemTopo: 0,
307
- alinhamento: 'left'
308
- });
309
- doc.y -= 7;
310
- (0, normal_1.normal)({
311
- doc,
312
- value: (0, utils_1.formatMoney)(total.ICMSTot.vDesc, 2),
313
- x: 0,
314
- y: doc.y,
315
- largura: larguraPagina - margemPadrao,
316
- tamanho: 7,
317
- ajusteX: 0,
318
- ajusteY: 0,
319
- margemEsquerda: 0,
320
- margemTopo: 0,
321
- alinhamento: 'right'
322
- });
323
- (0, normal_1.normal)({
324
- doc,
325
- value: 'Adicional/Frete/Seguro',
326
- x: margemPadrao,
327
- y: doc.y,
328
- largura: larguraPagina,
329
- tamanho: 7,
330
- ajusteX: 0,
331
- ajusteY: 0,
332
- margemEsquerda: 0,
333
- margemTopo: 0,
334
- alinhamento: 'left'
335
- });
336
- doc.y -= 7;
337
- (0, normal_1.normal)({
338
- doc,
339
- value: (0, utils_1.formatMoney)(total.ICMSTot.vFrete, 2),
340
- x: 0,
341
- y: doc.y,
342
- largura: larguraPagina - margemPadrao,
343
- tamanho: 7,
344
- ajusteX: 0,
345
- ajusteY: 0,
346
- margemEsquerda: 0,
347
- margemTopo: 0,
348
- alinhamento: 'right'
349
- });
350
- (0, normal_1.normal)({
351
- doc,
352
- value: 'Valor a Pagar',
353
- x: margemPadrao,
354
- y: doc.y,
355
- largura: larguraPagina,
356
- tamanho: 7,
357
- ajusteX: 0,
358
- ajusteY: 0,
359
- margemEsquerda: 0,
360
- margemTopo: 0,
361
- alinhamento: 'left'
362
- });
363
- doc.y -= 7;
364
- (0, normal_1.normal)({
365
- doc,
366
- value: (0, utils_1.formatMoney)(total.ICMSTot.vNF, 2),
367
- x: 0,
368
- y: doc.y,
369
- largura: larguraPagina - margemPadrao,
370
- tamanho: 7,
371
- ajusteX: 0,
372
- ajusteY: 0,
373
- margemEsquerda: 0,
374
- margemTopo: 0,
375
- alinhamento: 'right'
376
- });
377
- doc.y += 5;
378
- (0, normal_1.normal)({
379
- doc,
380
- value: 'FORMA DE PAGAMENTO',
381
- x: margemPadrao,
382
- y: doc.y,
383
- largura: larguraPagina,
384
- tamanho: 7,
385
- ajusteX: 0,
386
- ajusteY: 0,
387
- margemEsquerda: 0,
388
- margemTopo: 0,
389
- alinhamento: 'left'
390
- });
391
- doc.y -= 7;
392
- (0, normal_1.normal)({
393
- doc,
394
- value: 'VALOR PAGO',
395
- x: 0,
396
- y: doc.y,
397
- largura: larguraPagina - margemPadrao,
398
- tamanho: 7,
399
- ajusteX: 0,
400
- ajusteY: 0,
401
- margemEsquerda: 0,
402
- margemTopo: 0,
403
- alinhamento: 'right'
404
- });
405
- pag.detPag.forEach((element) => {
406
- (0, normal_1.normal)({
407
- doc,
408
- value: getPagName(element.tPag),
409
- x: margemPadrao,
410
- y: doc.y,
411
- largura: larguraPagina,
412
- tamanho: 7,
413
- ajusteX: 0,
414
- ajusteY: 0,
415
- margemEsquerda: 0,
416
- margemTopo: 0,
417
- alinhamento: 'left'
418
- });
419
- doc.y -= 7;
420
- (0, normal_1.normal)({
421
- doc,
422
- value: (0, utils_1.formatMoney)(element.vPag, 2),
423
- x: 0,
424
- y: doc.y,
425
- largura: larguraPagina - margemPadrao,
426
- tamanho: 7,
427
- ajusteX: 0,
428
- ajusteY: 0,
429
- margemEsquerda: 0,
430
- margemTopo: 0,
431
- alinhamento: 'right'
432
- });
433
- });
434
- (0, normal_1.normal)({
435
- doc,
436
- value: 'TROCO',
437
- x: margemPadrao,
438
- y: doc.y,
439
- largura: larguraPagina,
440
- tamanho: 7,
441
- ajusteX: 0,
442
- ajusteY: 0,
443
- margemEsquerda: 0,
444
- margemTopo: 0,
445
- alinhamento: 'left'
446
- });
447
- doc.y -= 7;
448
- (0, normal_1.normal)({
449
- doc,
450
- value: (0, utils_1.formatMoney)(pag.vTroco ?? 0, 2),
451
- x: 0,
452
- y: doc.y,
453
- largura: larguraPagina - margemPadrao,
454
- tamanho: 7,
455
- ajusteX: 0,
456
- ajusteY: 0,
457
- margemEsquerda: 0,
458
- margemTopo: 0,
459
- alinhamento: 'right'
460
- });
461
- doc.y += 7;
462
- (0, negrito_1.negrito)({
463
- doc,
464
- value: 'Consulte pela chave de acesso em',
465
- x: 0,
466
- y: doc.y,
467
- largura: larguraPagina - margemPadrao * 2,
468
- tamanho: 8,
469
- ajusteX: 0,
470
- ajusteY: 0,
471
- margemEsquerda: 0,
472
- margemTopo: 0,
473
- alinhamento: 'center'
474
- });
475
- (0, normal_1.normal)({
476
- doc,
477
- value: NFe.infNFeSupl?.urlChave ?? '',
478
- x: 0,
479
- y: doc.y,
480
- largura: larguraPagina - margemPadrao,
481
- tamanho: 7,
482
- ajusteX: 0,
483
- ajusteY: 0,
484
- margemEsquerda: 0,
485
- margemTopo: 0,
486
- alinhamento: 'center'
487
- });
488
- doc.y += 7;
489
- (0, normal_1.normal)({
490
- doc,
491
- value: nf.protNFe.infProt.chNFe.replace(/(.{4})(?=.)/g, '$1 '),
492
- x: 0,
493
- y: doc.y,
494
- largura: larguraPagina - margemPadrao,
495
- tamanho: 7,
496
- ajusteX: 0,
497
- ajusteY: 0,
498
- margemEsquerda: 0,
499
- margemTopo: 0,
500
- alinhamento: 'center'
501
- });
502
- doc.y += 7;
503
- (0, normal_1.normal)({
504
- doc,
505
- value: dest?.xNome !== undefined ? dest.xNome : 'CONSUMIDOR NAO IDENTIFICADO',
506
- x: margemPadrao,
507
- y: doc.y,
508
- largura: larguraPagina - margemPadrao,
509
- tamanho: 7,
510
- ajusteX: 0,
511
- ajusteY: 0,
512
- margemEsquerda: 0,
513
- margemTopo: 0,
514
- alinhamento: 'justify'
515
- });
516
- if (dest?.CNPJ !== undefined) {
517
- (0, normal_1.normal)({
518
- doc,
519
- value: 'CNPJ: ' + dest.CNPJ?.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/, '$1.$2.$3/$4-$5'),
520
- x: doc.x,
521
- y: doc.y,
522
- largura: 112,
523
- tamanho: 7,
524
- ajusteX: 0,
525
- ajusteY: 0,
526
- margemEsquerda: 0,
527
- margemTopo: 0,
528
- alinhamento: 'left'
529
- });
530
- }
531
- else if (dest?.CPF !== undefined) {
532
- (0, normal_1.normal)({
533
- doc,
534
- value: 'CPF: ' + dest.CPF?.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/, '$1.$2.$3/$4-$5'),
535
- x: doc.x,
536
- y: doc.y,
537
- largura: 112,
538
- tamanho: 7,
539
- ajusteX: 0,
540
- ajusteY: 0,
541
- margemEsquerda: 0,
542
- margemTopo: 0,
543
- alinhamento: 'left'
544
- });
545
- }
546
- doc.y += 7;
547
- (0, normal_1.normal)({
548
- doc,
549
- value: `NFC-e Série ${ide.serie} Nº ${ide.nNF} Data Emissão: ${(0, date_fns_1.format)((0, date_fns_1.parseISO)(ide.dhEmi), 'dd/MM/yyyy HH:mm:ss')}`,
550
- x: doc.x,
551
- y: doc.y,
552
- largura: larguraPagina - margemPadrao,
553
- tamanho: 7,
554
- ajusteX: 0,
555
- ajusteY: 0,
556
- margemEsquerda: 0,
557
- margemTopo: 0,
558
- alinhamento: 'center'
559
- });
560
- (0, normal_1.normal)({
561
- doc,
562
- value: 'Consulta via Leitor QR Code',
563
- x: margemPadrao,
564
- y: doc.y,
565
- largura: larguraPagina - margemPadrao,
566
- tamanho: 7,
567
- ajusteX: 0,
568
- ajusteY: 0,
569
- margemEsquerda: 0,
570
- margemTopo: 0,
571
- alinhamento: 'center'
572
- });
573
- (0, normal_1.normal)({
574
- doc,
575
- value: `Protocolo de Autorização: ${infProt.nProt}`,
576
- x: doc.x,
577
- y: doc.y,
578
- largura: larguraPagina - margemPadrao,
579
- tamanho: 7,
580
- ajusteX: 0,
581
- ajusteY: 0,
582
- margemEsquerda: 0,
583
- margemTopo: 0,
584
- alinhamento: 'left'
585
- });
586
- (0, normal_1.normal)({
587
- doc,
588
- value: infProt.dhRecbto ? `Data Autorização: ${(0, date_fns_1.format)((0, date_fns_1.parseISO)(infProt.dhRecbto), 'dd/MM/yyyy HH:mm:ss')}` : '',
589
- x: doc.x,
590
- y: doc.y,
591
- largura: 112,
592
- tamanho: 7,
593
- ajusteX: 0,
594
- ajusteY: 0,
595
- margemEsquerda: 0,
596
- margemTopo: 0,
597
- alinhamento: 'left'
598
- });
599
- doc.y += 7;
600
- (0, normal_1.normal)({
601
- doc,
602
- value: 'Informacoes de interesse do contribuinte:',
603
- x: 0,
604
- y: doc.y,
605
- largura: larguraPagina - margemPadrao,
606
- tamanho: 7,
607
- ajusteX: 0,
608
- ajusteY: 0,
609
- margemEsquerda: 0,
610
- margemTopo: 0,
611
- alinhamento: 'center'
612
- });
613
- (0, normal_1.normal)({
614
- doc,
615
- value: infAdic.infCpl ?? '',
616
- x: 0,
617
- y: doc.y,
618
- largura: larguraPagina - margemPadrao,
619
- tamanho: 7,
620
- ajusteX: 0,
621
- ajusteY: 0,
622
- margemEsquerda: 0,
623
- margemTopo: 0,
624
- alinhamento: 'center'
625
- });
626
- const qrImage = await qrcode_1.default.toDataURL(NFe.infNFeSupl?.qrCode ?? '');
627
- doc.image(qrImage, larguraPagina / 2 - 45, doc.y, { fit: [90, 90], align: 'center' });
628
- doc.end();
629
- return doc;
630
- }
631
- exports.pdfNFCe = pdfNFCe;
632
- function ajusteTamanhoTexto(doc, value, tamanho) {
633
- while (doc.widthOfString(value) > tamanho) {
634
- value = value.substring(0, value.length - 1);
635
- }
636
- return value;
637
- }
638
- function getPagName(value) {
639
- if (value === '01') {
640
- return 'Dinheiro';
641
- }
642
- if (value === '02') {
643
- return 'Cheque';
644
- }
645
- if (value === '03') {
646
- return 'Cartão de Crédito';
647
- }
648
- if (value === '04') {
649
- return 'Cartão de Débito';
650
- }
651
- if (value === '05') {
652
- return 'Crédito Loja';
653
- }
654
- if (value === '10') {
655
- return 'Vale Alimentação';
656
- }
657
- if (value === '11') {
658
- return 'Vale Refeição';
659
- }
660
- if (value === '12') {
661
- return 'Vale Presente';
662
- }
663
- if (value === '13') {
664
- return 'Vale Combustível';
665
- }
666
- if (value === '14') {
667
- return 'Duplicata Mercantil';
668
- }
669
- if (value === '15') {
670
- return 'Boleto Bancário';
671
- }
672
- if (value === '16') {
673
- return 'Depósito Bancário';
674
- }
675
- if (value === '17') {
676
- return 'Pagamento Instantâneo (PIX)';
677
- }
678
- if (value === '18') {
679
- return 'Transferência bancária, Carteira Digital';
680
- }
681
- if (value === '19') {
682
- return 'Programa de fidelidade, CashBack, Crédito Virtual';
683
- }
684
- if (value === '90') {
685
- return 'Sem pagamento';
686
- }
687
- return 'Outros';
688
- }
689
- //# sourceMappingURL=pdf-NFCe.js.map
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.pdfNFCe=void 0;const date_fns_1=require("date-fns"),pdfkit_1=__importDefault(require("pdfkit")),qrcode_1=__importDefault(require("qrcode")),load_fontes_1=require("../../../application/helpers/generate-pdf/nfe/load-fontes"),negrito_1=require("../../../application/helpers/generate-pdf/nfe/negrito"),normal_1=require("../../../application/helpers/generate-pdf/nfe/normal"),utils_1=require("../utils");async function pdfNFCe(a){const{NFe:b,protNFe:c}=a,{infProt:d}=c,{ide:e,emit:f,det:g,total:h,pag:i,dest:j,infAdic:k}=b.infNFe,l=201,m=2.5,n=new pdfkit_1.default({size:[l,1e3],margins:{top:m,bottom:0,left:m,right:m}});(0,load_fontes_1.loadFontsNFCe)(n),(0,negrito_1.negrito)({doc:n,value:f.xNome,x:0,y:n.y,largura:l,tamanho:10,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0}),(0,negrito_1.negrito)({doc:n,value:f.CNPJ.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/,"$1.$2.$3/$4-$5"),x:0,y:n.y,largura:l,tamanho:10,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0}),(0,normal_1.normal)({doc:n,value:`${f.enderEmit.xLgr}, ${f.enderEmit.nro}${void 0===f.enderEmit.xCpl?"":" "+f.enderEmit.xCpl}. ${f.enderEmit.xBairro}, ${f.enderEmit.xMun}-${f.enderEmit.UF}. ${f.enderEmit.CEP}`,x:0,y:n.y,largura:l,tamanho:8,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0}),n.y+=5,(0,negrito_1.negrito)({doc:n,value:"Documento Auxiliar da Nota Fiscal de Consumidor Eletronica",x:0,y:n.y,largura:l,tamanho:8,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0}),n.y+=5;let o=n.y;(0,negrito_1.negrito)({doc:n,value:"CODIGO",x:0,y:o,largura:26.5,tamanho:8,ajusteX:0,ajusteY:0,margemEsquerda:m,margemTopo:0,alinhamento:"left"}),(0,negrito_1.negrito)({doc:n,value:"DESCRICAO",x:31,y:o,largura:74.5,tamanho:8,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}),(0,negrito_1.negrito)({doc:n,value:"UN",x:105,y:o,largura:15,tamanho:8,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"}),(0,negrito_1.negrito)({doc:n,value:"QTD",x:120,y:o,largura:20,tamanho:8,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"}),(0,negrito_1.negrito)({doc:n,value:"VL UN",x:140,y:o,largura:27,tamanho:8,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"}),(0,negrito_1.negrito)({doc:n,value:"VL TOTAL",x:167,y:o,largura:l-167,tamanho:8,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"}),g.forEach(a=>{o=n.y,(0,normal_1.normal)({doc:n,value:a.prod.cProd.padStart(9,"0"),x:0+m,y:o,largura:28,tamanho:6,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}),(0,normal_1.normal)({doc:n,value:ajusteTamanhoTexto(n,"NOTA FISCAL EMITIDA EM AMB",73.5),x:31,y:o,largura:73.5,tamanho:6,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}),(0,normal_1.normal)({doc:n,value:a.prod.uCom,x:105,y:o,largura:15,tamanho:6,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"}),(0,normal_1.normal)({doc:n,value:(0,utils_1.formatMoney)(a.prod.qCom,3),x:120,y:o,largura:20,tamanho:6,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"}),(0,normal_1.normal)({doc:n,value:(0,utils_1.formatMoney)(a.prod.vUnCom,2),x:140,y:o,largura:27,tamanho:6,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"}),(0,normal_1.normal)({doc:n,value:(0,utils_1.formatMoney)(a.prod.vProd,2),x:167,y:o,largura:l-167,tamanho:6,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"}),o+=7}),n.y+=2,(0,normal_1.normal)({doc:n,value:"Quantidade Total de Itens",x:m,y:n.y,largura:l,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}),n.y-=7,(0,normal_1.normal)({doc:n,value:g.length+"",x:0,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"right"}),(0,normal_1.normal)({doc:n,value:"Valor Total",x:m,y:n.y,largura:l,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}),n.y-=7,(0,normal_1.normal)({doc:n,value:(0,utils_1.formatMoney)(h.ICMSTot.vProd,2),x:0,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"right"}),(0,normal_1.normal)({doc:n,value:"Desconto",x:m,y:n.y,largura:l,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}),n.y-=7,(0,normal_1.normal)({doc:n,value:(0,utils_1.formatMoney)(h.ICMSTot.vDesc,2),x:0,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"right"}),(0,normal_1.normal)({doc:n,value:"Adicional/Frete/Seguro",x:m,y:n.y,largura:l,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}),n.y-=7,(0,normal_1.normal)({doc:n,value:(0,utils_1.formatMoney)(h.ICMSTot.vFrete,2),x:0,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"right"}),(0,normal_1.normal)({doc:n,value:"Valor a Pagar",x:m,y:n.y,largura:l,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}),n.y-=7,(0,normal_1.normal)({doc:n,value:(0,utils_1.formatMoney)(h.ICMSTot.vNF,2),x:0,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"right"}),n.y+=5,(0,normal_1.normal)({doc:n,value:"FORMA DE PAGAMENTO",x:m,y:n.y,largura:l,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}),n.y-=7,(0,normal_1.normal)({doc:n,value:"VALOR PAGO",x:0,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"right"}),i.detPag.forEach(a=>{(0,normal_1.normal)({doc:n,value:getPagName(a.tPag),x:m,y:n.y,largura:l,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}),n.y-=7,(0,normal_1.normal)({doc:n,value:(0,utils_1.formatMoney)(a.vPag,2),x:0,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"right"})}),(0,normal_1.normal)({doc:n,value:"TROCO",x:m,y:n.y,largura:l,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}),n.y-=7,(0,normal_1.normal)({doc:n,value:(0,utils_1.formatMoney)(i.vTroco??0,2),x:0,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"right"}),n.y+=7,(0,negrito_1.negrito)({doc:n,value:"Consulte pela chave de acesso em",x:0,y:n.y,largura:l-2*m,tamanho:8,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"}),(0,normal_1.normal)({doc:n,value:b.infNFeSupl?.urlChave??"",x:0,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"}),n.y+=7,(0,normal_1.normal)({doc:n,value:a.protNFe.infProt.chNFe.replace(/(.{4})(?=.)/g,"$1 "),x:0,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"}),n.y+=7,(0,normal_1.normal)({doc:n,value:void 0===j?.xNome?"CONSUMIDOR NAO IDENTIFICADO":j.xNome,x:m,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"justify"}),void 0===j?.CNPJ?void 0!==j?.CPF&&(0,normal_1.normal)({doc:n,value:"CPF: "+j.CPF?.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/,"$1.$2.$3/$4-$5"),x:n.x,y:n.y,largura:112,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}):(0,normal_1.normal)({doc:n,value:"CNPJ: "+j.CNPJ?.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/,"$1.$2.$3/$4-$5"),x:n.x,y:n.y,largura:112,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}),n.y+=7,(0,normal_1.normal)({doc:n,value:`NFC-e Série ${e.serie} Nº ${e.nNF} Data Emissão: ${(0,date_fns_1.format)((0,date_fns_1.parseISO)(e.dhEmi),"dd/MM/yyyy HH:mm:ss")}`,x:n.x,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"}),(0,normal_1.normal)({doc:n,value:"Consulta via Leitor QR Code",x:m,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"}),(0,normal_1.normal)({doc:n,value:`Protocolo de Autorização: ${d.nProt}`,x:n.x,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}),(0,normal_1.normal)({doc:n,value:d.dhRecbto?`Data Autorização: ${(0,date_fns_1.format)((0,date_fns_1.parseISO)(d.dhRecbto),"dd/MM/yyyy HH:mm:ss")}`:"",x:n.x,y:n.y,largura:112,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"left"}),n.y+=7,(0,normal_1.normal)({doc:n,value:"Informacoes de interesse do contribuinte:",x:0,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"}),(0,normal_1.normal)({doc:n,value:k.infCpl??"",x:0,y:n.y,largura:l-m,tamanho:7,ajusteX:0,ajusteY:0,margemEsquerda:0,margemTopo:0,alinhamento:"center"});const p=await qrcode_1.default.toDataURL(b.infNFeSupl?.qrCode??"");return n.image(p,l/2-45,n.y,{fit:[90,90],align:"center"}),n.end(),n}exports.pdfNFCe=pdfNFCe;function ajusteTamanhoTexto(a,b,c){for(;a.widthOfString(b)>c;)b=b.substring(0,b.length-1);return b}function getPagName(a){return"01"===a?"Dinheiro":"02"===a?"Cheque":"03"===a?"Cart\xE3o de Cr\xE9dito":"04"===a?"Cart\xE3o de D\xE9bito":"05"===a?"Cr\xE9dito Loja":"10"===a?"Vale Alimenta\xE7\xE3o":"11"===a?"Vale Refei\xE7\xE3o":"12"===a?"Vale Presente":"13"===a?"Vale Combust\xEDvel":"14"===a?"Duplicata Mercantil":"15"===a?"Boleto Banc\xE1rio":"16"===a?"Dep\xF3sito Banc\xE1rio":"17"===a?"Pagamento Instant\xE2neo (PIX)":"18"===a?"Transfer\xEAncia banc\xE1ria, Carteira Digital":"19"===a?"Programa de fidelidade, CashBack, Cr\xE9dito Virtual":"90"===a?"Sem pagamento":"Outros"}