129 lines
2.2 KiB
JavaScript
129 lines
2.2 KiB
JavaScript
async function createPDFV1(_alarmData) {
|
|
const doc = new jsPDF();
|
|
//Header
|
|
doc.addImage(
|
|
Logo,
|
|
"PNG",
|
|
150,
|
|
5,
|
|
44.35, 15.25
|
|
);
|
|
|
|
doc.setFontSize(20);
|
|
doc.text("Alarmdepesche", 10, 15);
|
|
|
|
//Body
|
|
//labels
|
|
doc.setDrawColor(0);
|
|
doc.setFillColor(87, 85, 81);
|
|
doc.rect(9, 37, 40, 8, 'FD');
|
|
|
|
doc.setFontSize(10);
|
|
doc.setTextColor(255, 255, 255);
|
|
doc.text(
|
|
"Einsatznummer",
|
|
10,
|
|
40
|
|
);
|
|
doc.setFontSize(12);
|
|
doc.text(_alarmData.foreign_id,
|
|
47,
|
|
44, { align: "right" }
|
|
)
|
|
|
|
|
|
doc.setDrawColor(0);
|
|
doc.setFillColor(87, 85, 81);
|
|
doc.rect(59, 37, 40, 8, 'FD');
|
|
|
|
doc.setFontSize(10);
|
|
doc.setTextColor(255, 255, 255);
|
|
doc.text(
|
|
"Alarmzeitpunkt",
|
|
60,
|
|
40
|
|
);
|
|
doc.setFontSize(12);
|
|
doc.text(new Date(_alarmData.ts_create * 1000).toLocaleString().slice(0, -3),
|
|
97,
|
|
44, { align: "right" }
|
|
)
|
|
|
|
doc.setDrawColor(0);
|
|
doc.setFillColor(87, 85, 81);
|
|
doc.rect(9, 57, 90, 8, 'FD');
|
|
|
|
doc.setFontSize(10);
|
|
doc.setTextColor(255, 255, 255);
|
|
doc.text(
|
|
"Stichwort",
|
|
10,
|
|
60
|
|
);
|
|
doc.setFontSize(12);
|
|
doc.text(_alarmData.title,
|
|
97,
|
|
64, { align: "right" }
|
|
)
|
|
|
|
doc.setDrawColor(0);
|
|
doc.setFillColor(87, 85, 81);
|
|
doc.rect(9, 77, 90, 24, 'FD');
|
|
|
|
doc.setFontSize(10);
|
|
doc.setTextColor(255, 255, 255);
|
|
doc.text(
|
|
"Informationen",
|
|
10,
|
|
80
|
|
);
|
|
doc.setFontSize(12);
|
|
doc.text(_alarmData.text.split("RIC")[0].match(/.{1,41}/g).join("\n"),
|
|
10,
|
|
84,
|
|
)
|
|
|
|
doc.setDrawColor(0);
|
|
doc.setFillColor(87, 85, 81);
|
|
doc.rect(9, 107, 90, 8, 'FD');
|
|
|
|
doc.setFontSize(10);
|
|
doc.setTextColor(255, 255, 255);
|
|
doc.text(
|
|
"Adresse",
|
|
10,
|
|
110
|
|
);
|
|
doc.setFontSize(12);
|
|
doc.text(_alarmData.address,
|
|
97,
|
|
114, { align: "right" }
|
|
)
|
|
|
|
doc.setDrawColor(0);
|
|
doc.setFillColor(87, 85, 81);
|
|
doc.rect(129, 37, 60, 8, 'FD');
|
|
|
|
doc.setFontSize(16);
|
|
doc.setTextColor(255, 255, 255);
|
|
doc.text(
|
|
"Fahrzeuge",
|
|
145,
|
|
43
|
|
);
|
|
|
|
doc.setFontSize(12);
|
|
doc.setTextColor(0, 0, 0);
|
|
for (let i = 0; i < _alarmData.vehicle.length; i++) {
|
|
doc.text(findVehicleNameByID(_alarmData.vehicle[i]), 130, 52 + (i * 7));
|
|
}
|
|
|
|
await puppeteerGetImage(_alarmData.lat, _alarmData.lng)
|
|
|
|
const mapImg = fs.readFileSync("map.png", "base64")
|
|
|
|
doc.addImage(mapImg, 10, 150);
|
|
|
|
doc.save(cacheFolder + _alarmData.foreign_id + ".pdf");
|
|
};
|