@measurequick/measurequick-report-generator 1.4.31 → 1.4.34
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.
- package/package.json +1 -1
- package/report-gen-scripts/bluvac-report.js +5 -6
- package/report-gen-scripts/classic-report.js +2 -2
- package/report-gen-scripts/full-report.js +15 -15
- package/report-gen-scripts/photos-report-s3.js +14 -10
- package/report-gen-scripts/photos-report.js +5 -4
- package/report-gen-scripts/ptcs-heat-pump-report.js +23 -20
- package/report-gen-scripts/sign-terms-conditions.js +15 -12
package/package.json
CHANGED
|
@@ -6,10 +6,9 @@ import * as util from '../util.js';
|
|
|
6
6
|
|
|
7
7
|
export async function getReport(payload) {
|
|
8
8
|
try {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
9
|
+
const pdfDoc = await PDFDocument.load(util._base64ToArrayBuffer(payload.meta.base64));
|
|
10
|
+
return { status: 200, data: await pdfDoc.saveAsBase64({ dataUri: true }) };
|
|
11
|
+
} catch (error) {
|
|
12
|
+
return { status: 400, data: error };
|
|
13
|
+
}
|
|
15
14
|
}
|
|
@@ -3980,9 +3980,9 @@ export async function getReport(payload) {
|
|
|
3980
3980
|
printText('The cooling efficiency is verified to test your unit’s actual electrical consumption compared to the relative efficiency of properly installed modern cooling equipment.', y, 'normal', fs);
|
|
3981
3981
|
}
|
|
3982
3982
|
|
|
3983
|
-
return await doc.output('datauristring');
|
|
3983
|
+
return { status: 200, data: await doc.output('datauristring') };
|
|
3984
3984
|
} catch (error) {
|
|
3985
|
-
return error;
|
|
3985
|
+
return { status: 400, data: error };
|
|
3986
3986
|
}
|
|
3987
3987
|
}
|
|
3988
3988
|
|
|
@@ -25,7 +25,7 @@ export async function getReport(payload) {
|
|
|
25
25
|
/******** COVER SHEET (1 PAGE) *********/
|
|
26
26
|
try {
|
|
27
27
|
let coverPageBase64 = payload.meta.pdf_settings.includeCoverPage ? await coverPage.getReport(payload) : false;
|
|
28
|
-
const coverPageDoc = coverPageBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(coverPageBase64)) : false;
|
|
28
|
+
const coverPageDoc = coverPageBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(coverPageBase64.data)) : false;
|
|
29
29
|
const [_coverPageDoc] = coverPageDoc ? await coreDoc.copyPages(coverPageDoc, [0]) : false;
|
|
30
30
|
if (_coverPageDoc) coreDoc.insertPage(coreDoc.getPages().length, _coverPageDoc);
|
|
31
31
|
} catch (error) {
|
|
@@ -37,7 +37,7 @@ export async function getReport(payload) {
|
|
|
37
37
|
if (payload.meta.report_mode == "goettl") {
|
|
38
38
|
if (payload.tests && payload.tests[0] && payload.tests[0].testInfo && payload.tests[0].testInfo && payload.tests[0].testInfo.mode !== 'efficiency-nist') {
|
|
39
39
|
let vitalsReportBase64 = await vitalsCoolingReport.getReport(payload, payload.tests[0]);
|
|
40
|
-
const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64));
|
|
40
|
+
const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64.data));
|
|
41
41
|
const [_vitalsReportPg1] = await coreDoc.copyPages(vitalsReportDoc, [0]);
|
|
42
42
|
const [_vitalsReportPg2] = await coreDoc.copyPages(vitalsReportDoc, [1]);
|
|
43
43
|
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1);
|
|
@@ -45,7 +45,7 @@ export async function getReport(payload) {
|
|
|
45
45
|
}
|
|
46
46
|
if (payload.tests && payload.tests[1] && payload.tests[1].testInfo && payload.tests[1].testInfo && payload.tests[1].testInfo.mode !== 'efficiency-nist') {
|
|
47
47
|
let vitalsReportBase64_ = payload.meta.report_mode == "goettl" ? await vitalsHeatingReport.getReport(payload, payload.tests[1]) : await vitalsCoolingReport.getReport(payload, payload.tests[1]);
|
|
48
|
-
const vitalsReportDoc_ = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64_));
|
|
48
|
+
const vitalsReportDoc_ = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64_.data));
|
|
49
49
|
const [_vitalsReportPg1_] = await coreDoc.copyPages(vitalsReportDoc_, [0]);
|
|
50
50
|
const [_vitalsReportPg2_] = await coreDoc.copyPages(vitalsReportDoc_, [1]);
|
|
51
51
|
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1_);
|
|
@@ -54,7 +54,7 @@ export async function getReport(payload) {
|
|
|
54
54
|
} else if (payload.tests && payload.tests[0] && payload.tests[0].testInfo && payload.tests[0].testInfo && payload.tests[0].testInfo.mode !== 'efficiency-nist') {
|
|
55
55
|
payload.meta.header = "Test In A/C Vitals";
|
|
56
56
|
let vitalsReportBase64 = payload.meta.report_mode == "cooling" ? await vitalsCoolingReport.getReport(payload) : await vitalsHeatingReport.getReport(payload);
|
|
57
|
-
const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64));
|
|
57
|
+
const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64.data));
|
|
58
58
|
const [_vitalsReportPg1] = await coreDoc.copyPages(vitalsReportDoc, [0]);
|
|
59
59
|
const [_vitalsReportPg2] = await coreDoc.copyPages(vitalsReportDoc, [1]);
|
|
60
60
|
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1);
|
|
@@ -68,7 +68,7 @@ export async function getReport(payload) {
|
|
|
68
68
|
try {
|
|
69
69
|
// TODO: investigate bug, reading 'title1' of undefined
|
|
70
70
|
let measurementDetailsBase64 = await measurementDetails.getReport(payload);
|
|
71
|
-
const measurementDetailsDoc = measurementDetailsBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsBase64)) : false;
|
|
71
|
+
const measurementDetailsDoc = measurementDetailsBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsBase64.data)) : false;
|
|
72
72
|
const [_measurementDetailsDoc] = measurementDetailsDoc ? await coreDoc.copyPages(measurementDetailsDoc, [0]) : false;
|
|
73
73
|
if (_measurementDetailsDoc) coreDoc.insertPage(coreDoc.getPages().length, _measurementDetailsDoc);
|
|
74
74
|
} catch (error) {
|
|
@@ -79,7 +79,7 @@ export async function getReport(payload) {
|
|
|
79
79
|
try {
|
|
80
80
|
if (payload.acca) {
|
|
81
81
|
let measurementDetailsAccaBase64 = await measurementDetailsAcca.getReport(payload);
|
|
82
|
-
const measurementDetailsAccaDoc = measurementDetailsAccaBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsAccaBase64)) : false;
|
|
82
|
+
const measurementDetailsAccaDoc = measurementDetailsAccaBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsAccaBase64.data)) : false;
|
|
83
83
|
const [_measurementDetailsAccaDoc] = measurementDetailsAccaDoc ? await coreDoc.copyPages(measurementDetailsAccaDoc, [0]) : false;
|
|
84
84
|
if (_measurementDetailsAccaDoc) coreDoc.insertPage(coreDoc.getPages().length, _measurementDetailsAccaDoc);
|
|
85
85
|
}
|
|
@@ -92,7 +92,7 @@ export async function getReport(payload) {
|
|
|
92
92
|
if (payload.tests && payload.tests[1] && payload.tests[1].testInfo && payload.tests[1].testInfo.mode !== 'efficiency-nist') {
|
|
93
93
|
payload.meta.header = "Test Out A/C Vitals";
|
|
94
94
|
let vitalsReportBase64 = payload.meta.report_mode == "cooling" ? await vitalsCoolingReport.getReport(payload, payload.tests[1]) : await vitalsHeatingReport.getReport(payload, payload.tests[1]);
|
|
95
|
-
const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64));
|
|
95
|
+
const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64.data));
|
|
96
96
|
const [_vitalsReportPg1] = await coreDoc.copyPages(vitalsReportDoc, [0]);
|
|
97
97
|
const [_vitalsReportPg2] = await coreDoc.copyPages(vitalsReportDoc, [1]);
|
|
98
98
|
coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1);
|
|
@@ -106,7 +106,7 @@ export async function getReport(payload) {
|
|
|
106
106
|
try {
|
|
107
107
|
if (payload.tests.length > 1) {
|
|
108
108
|
let measurementDetailsBase64 = await measurementDetails.getReport(payload);
|
|
109
|
-
const measurementDetailsDoc = measurementDetailsBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsBase64)) : false;
|
|
109
|
+
const measurementDetailsDoc = measurementDetailsBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsBase64.data)) : false;
|
|
110
110
|
const [_measurementDetailsDocPg2] = measurementDetailsDoc ? await coreDoc.copyPages(measurementDetailsDoc, [1]) : false;
|
|
111
111
|
if (_measurementDetailsDocPg2) coreDoc.insertPage(coreDoc.getPages().length, _measurementDetailsDocPg2);
|
|
112
112
|
}
|
|
@@ -118,7 +118,7 @@ export async function getReport(payload) {
|
|
|
118
118
|
try {
|
|
119
119
|
if (payload.acca && payload.tests.length > 1) {
|
|
120
120
|
let measurementDetailsAccaBase64 = await measurementDetailsAcca.getReport(payload);
|
|
121
|
-
const measurementDetailsAccaDoc = measurementDetailsAccaBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsAccaBase64)) : false;
|
|
121
|
+
const measurementDetailsAccaDoc = measurementDetailsAccaBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsAccaBase64.data)) : false;
|
|
122
122
|
const [_measurementDetailsAccaDocPg2] = measurementDetailsAccaDoc ? await coreDoc.copyPages(measurementDetailsAccaDoc, [1]) : false;
|
|
123
123
|
if (_measurementDetailsAccaDocPg2) coreDoc.insertPage(coreDoc.getPages().length, _measurementDetailsAccaDocPg2);
|
|
124
124
|
}
|
|
@@ -131,12 +131,12 @@ export async function getReport(payload) {
|
|
|
131
131
|
if (payload.acca && payload.equipment.certificates) {
|
|
132
132
|
if (payload.equipment.certificates.esvi) {
|
|
133
133
|
let energyStarCertificateBase64 = await energyStarCertificate.getReport(payload);
|
|
134
|
-
const energyStarCertificateDoc = energyStarCertificateBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(energyStarCertificateBase64)) : false;
|
|
134
|
+
const energyStarCertificateDoc = energyStarCertificateBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(energyStarCertificateBase64.data)) : false;
|
|
135
135
|
const [_energyStarCertificateDoc] = accaCertificateDoc ? await coreDoc.copyPages(energyStarCertificateDoc, [1]) : false;
|
|
136
136
|
if (_energyStarCertificateDoc) coreDoc.insertPage(coreDoc.getPages().length, _energyStarCertificateDoc);
|
|
137
137
|
} else if (payload.equipment.certificates.acca_qi || payload.equipment.certificates.acca_veo) {
|
|
138
138
|
let accaCertificateBase64 = await accaCertificate.getReport(payload);
|
|
139
|
-
const accaCertificateDoc = accaCertificateBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(accaCertificateBase64)) : false;
|
|
139
|
+
const accaCertificateDoc = accaCertificateBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(accaCertificateBase64.data)) : false;
|
|
140
140
|
const [_accaCertificateDoc] = accaCertificateDoc ? await coreDoc.copyPages(accaCertificateDoc, [1]) : false;
|
|
141
141
|
if (_accaCertificateDoc) coreDoc.insertPage(coreDoc.getPages().length, _accaCertificateDoc);
|
|
142
142
|
}
|
|
@@ -149,7 +149,7 @@ export async function getReport(payload) {
|
|
|
149
149
|
if (payload.project.evacuation_pdf && payload.meta.pdf_settings.includeBluvacReport) {
|
|
150
150
|
try {
|
|
151
151
|
let bluvacReportBase64 = payload.project.evacuation_pdf;
|
|
152
|
-
const bluvacReportDoc = bluvacReportBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(bluvacReportBase64)) : false;
|
|
152
|
+
const bluvacReportDoc = bluvacReportBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(bluvacReportBase64.data)) : false;
|
|
153
153
|
const [_bluvacReportDoc] = bluvacReportDoc ? await coreDoc.copyPages(bluvacReportDoc, [0]) : false;
|
|
154
154
|
if (_bluvacReportDoc) coreDoc.insertPage(coreDoc.getPages().length, _bluvacReportDoc);
|
|
155
155
|
} catch (error) {
|
|
@@ -161,7 +161,7 @@ export async function getReport(payload) {
|
|
|
161
161
|
if (!util.projectIsGoettl(payload.project)) {
|
|
162
162
|
try {
|
|
163
163
|
let correctiveMeasuresBase64 = await correctiveMeasures.getReport(payload);
|
|
164
|
-
const correctiveMeasuresDoc = correctiveMeasuresBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(correctiveMeasuresBase64)) : false;
|
|
164
|
+
const correctiveMeasuresDoc = correctiveMeasuresBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(correctiveMeasuresBase64.data)) : false;
|
|
165
165
|
const [_correctiveMeasuresDoc] = correctiveMeasuresDoc ? await coreDoc.copyPages(correctiveMeasuresDoc, [0]) : false;
|
|
166
166
|
if (correctiveMeasuresDoc.getPages().length > 1) {
|
|
167
167
|
const [_correctiveMeasuresDocPage2] = correctiveMeasuresDoc ? await coreDoc.copyPages(correctiveMeasuresDoc, [1]) : false;
|
|
@@ -177,7 +177,7 @@ export async function getReport(payload) {
|
|
|
177
177
|
try {
|
|
178
178
|
let selectedPhotosReport = payload.meta.origin == 'virtuoso' ? photosReportS3 : photosReport;
|
|
179
179
|
let photosReportBase64 = (payload.meta.pdf_settings.includePhotos && payload.meta.photo_count > 0) ? await selectedPhotosReport.getReport(payload) : false;
|
|
180
|
-
const photosReportDoc = photosReportBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(photosReportBase64)) : false;
|
|
180
|
+
const photosReportDoc = photosReportBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(photosReportBase64.data)) : false;
|
|
181
181
|
for (let i = 0; (photosReportDoc && i < photosReportDoc.getPages().length); i++) {
|
|
182
182
|
const [_photosReport] = await coreDoc.copyPages(photosReportDoc, [i]);
|
|
183
183
|
coreDoc.insertPage(coreDoc.getPages().length, _photosReport);
|
|
@@ -189,7 +189,7 @@ export async function getReport(payload) {
|
|
|
189
189
|
/******** SYSTEM INFO (1 PAGE) *********/
|
|
190
190
|
try {
|
|
191
191
|
let systemInfoPageBase64 = await systemInfoPage.getReport(payload);
|
|
192
|
-
const systemInfoPageDoc = systemInfoPageBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(systemInfoPageBase64)) : false;
|
|
192
|
+
const systemInfoPageDoc = systemInfoPageBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(systemInfoPageBase64.data)) : false;
|
|
193
193
|
const [_systemInfoPageDoc] = systemInfoPageDoc ? await coreDoc.copyPages(systemInfoPageDoc, [0]) : false;
|
|
194
194
|
if (_systemInfoPageDoc) coreDoc.insertPage(coreDoc.getPages().length, _systemInfoPageDoc);
|
|
195
195
|
} catch (error) {
|
|
@@ -7,17 +7,18 @@ import * as util from '../util.js';
|
|
|
7
7
|
|
|
8
8
|
export async function getReport(payload) {
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
try {
|
|
11
|
+
const mqLogoBytes = util._base64ToArrayBuffer(base64.mqLogo);
|
|
11
12
|
let maxPhotosPerPage = payload.meta.pdf_settings.maxPhotosPerPage ? payload.meta.pdf_settings.maxPhotosPerPage : 2;
|
|
12
13
|
|
|
13
14
|
// Layout Configuration
|
|
14
15
|
let docs = [], forms = [], page = photos6, pSize = "Small";
|
|
15
16
|
if (maxPhotosPerPage == 4) {
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
page = photos4;
|
|
18
|
+
pSize = "Mid";
|
|
18
19
|
} else if (maxPhotosPerPage == 2) {
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
page = photos2;
|
|
21
|
+
pSize = "Large";
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
// Process All Photos
|
|
@@ -49,8 +50,8 @@ export async function getReport(payload) {
|
|
|
49
50
|
}
|
|
50
51
|
let imageToSet;
|
|
51
52
|
if (photo && photo.base64 && typeof photo.base64 == 'string') {
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
if (photo.base64 && photo.base64.includes("image/jpeg")) imageToSet = await docs[docIndex].embedJpg(util._base64ToArrayBuffer(photo.base64));
|
|
54
|
+
else if (photo.base64 && photo.base64.includes("image/png")) imageToSet = await docs[docIndex].embedPng(util._base64ToArrayBuffer(photo.base64));
|
|
54
55
|
}
|
|
55
56
|
if (imageToSet) forms[docIndex].getButton(`photo${pSize}${photoPosition}`).setImage(imageToSet);
|
|
56
57
|
let caption = photo.section;
|
|
@@ -66,8 +67,11 @@ export async function getReport(payload) {
|
|
|
66
67
|
forms.forEach(form => { form.flatten() });
|
|
67
68
|
let pdfDoc = await PDFDocument.create();
|
|
68
69
|
for (let i = 0; i < docs.length; i++) {
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
const [nextPage] = await pdfDoc.copyPages(docs[i], [0]);
|
|
71
|
+
pdfDoc.insertPage(i, nextPage);
|
|
71
72
|
}
|
|
72
|
-
return await pdfDoc.saveAsBase64({ dataUri: true });
|
|
73
|
+
return { status: 200, data: await pdfDoc.saveAsBase64({ dataUri: true }) };
|
|
74
|
+
} catch (error) {
|
|
75
|
+
return { status: 400, data: error };
|
|
76
|
+
}
|
|
73
77
|
}
|
|
@@ -134,9 +134,10 @@ export async function getReport(payload) {
|
|
|
134
134
|
pdfDoc.insertPage(i, nextPage);
|
|
135
135
|
}
|
|
136
136
|
return { status: 200, data: await pdfDoc.saveAsBase64({ dataUri: true }) };
|
|
137
|
+
} else {
|
|
138
|
+
return { status: 400, data: 'No photos to print on report' };
|
|
137
139
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
} catch (error) { }
|
|
140
|
+
} catch (error) {
|
|
141
|
+
return { status: 400, data: error };
|
|
142
|
+
}
|
|
142
143
|
}
|
|
@@ -3,24 +3,27 @@ import * as pdf from '../base-64/ptcs-heat-pump.js';
|
|
|
3
3
|
import * as util from '../util.js';
|
|
4
4
|
|
|
5
5
|
export async function getReport(payload) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
6
|
+
try {
|
|
7
|
+
const formPdfBytes = util._base64ToArrayBuffer(pdf.base64);
|
|
8
|
+
const pdfDoc = await PDFDocument.load(formPdfBytes);
|
|
9
|
+
const photoBytesStripHeat = util._base64ToArrayBuffer(payload.images.imageStripHeatBase64);
|
|
10
|
+
const photoBytesHpThermostat = util._base64ToArrayBuffer(payload.images.imageHpThermostatBase64);
|
|
11
|
+
var imageStripHeat;
|
|
12
|
+
var imageHpThermostat;
|
|
13
|
+
if (photoBytesStripHeat) imageStripHeat = await pdfDoc.embedJpg(photoBytesStripHeat);
|
|
14
|
+
if (photoBytesHpThermostat) imageHpThermostat = await pdfDoc.embedJpg(photoBytesHpThermostat);
|
|
15
|
+
const form = pdfDoc.getForm();
|
|
16
|
+
Object.keys(payload.textFields).forEach(fieldKey => {
|
|
17
|
+
if (payload.textFields[fieldKey]) form.getTextField(fieldKey).setText(`${payload.textFields[fieldKey]}`);
|
|
18
|
+
});
|
|
19
|
+
Object.keys(payload.checkFields).forEach(fieldKey => {
|
|
20
|
+
if (payload.checkFields[fieldKey]) form.getCheckBox(`${payload.checkFields[fieldKey]}`).check();
|
|
21
|
+
});
|
|
22
|
+
if (imageStripHeat) form.getButton("customImage1").setImage(imageStripHeat);
|
|
23
|
+
if (imageHpThermostat) form.getButton("customImage2").setImage(imageHpThermostat);
|
|
24
|
+
form.flatten();
|
|
25
|
+
return { status: 200, data: await pdfDoc.saveAsBase64({ dataUri: true }) };
|
|
26
|
+
} catch (error) {
|
|
27
|
+
return { status: 400, data: error };
|
|
28
|
+
}
|
|
26
29
|
}
|
|
@@ -5,18 +5,21 @@ import * as termsConditionsArkansas from '../base-64/terms-arkansas-thermostat.j
|
|
|
5
5
|
import * as util from '../util.js';
|
|
6
6
|
|
|
7
7
|
export async function getReport(payload) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
try {
|
|
9
|
+
let termsConditionsBase64 = getPdfBase64(payload.meta.signature_type);
|
|
10
|
+
if (termsConditionsBase64) {
|
|
11
|
+
const formPdfBytes = util._base64ToArrayBuffer(termsConditionsBase64);
|
|
12
|
+
const pdfDoc = await PDFDocument.load(formPdfBytes);
|
|
13
|
+
const signatureBytes = util._base64ToArrayBuffer(payload.signatureBase64);
|
|
14
|
+
const signature = await pdfDoc.embedPng(signatureBytes);
|
|
15
|
+
const form = pdfDoc.getForm();
|
|
16
|
+
form.getButton("SignatureCustomer").setImage(signature);
|
|
17
|
+
form.flatten();
|
|
18
|
+
return { status: 200, data: await pdfDoc.saveAsBase64({ dataUri: true }) };
|
|
19
|
+
} else return { status: 400, data: 'Could not load base document to apply signature' };
|
|
20
|
+
} catch (error) {
|
|
21
|
+
return { status: 400, data: error };
|
|
22
|
+
}
|
|
20
23
|
}
|
|
21
24
|
|
|
22
25
|
function getPdfBase64(reportType) {
|