PDF gefixt !!
This commit is contained in:
@@ -4,14 +4,12 @@ import { Enums } from "#lib/server/prisma.js";
|
||||
import * as fs from "fs"
|
||||
import moment from "moment";
|
||||
import { PDFDocument, PDFFont, PDFImage, PDFPage, StandardFonts } from "pdf-lib";
|
||||
import { addCheckMark } from "./utils/checkbox.js";
|
||||
import { addText } from "./utils/text.js";
|
||||
import { addAnsichtsausweisLabel, addDatumGEG, addRegistriernummer } from "./utils/helpers.js";
|
||||
import { getS3File } from "#lib/s3.js";
|
||||
import { endEnergieVerbrauchVerbrauchsausweisGewerbe_2016_Server } from "#lib/Berechnungen/VerbrauchsausweisGewerbe/VerbrauchsausweisGewerbe_2016_Server.js";
|
||||
|
||||
|
||||
|
||||
export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewerbeClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: BildClient[], user: BenutzerClient, vorschau = true) {
|
||||
const VerbrauchsausweisWohnenGEG2024PDF = fs.readFileSync(new URL("../../../public/pdf/templates/GEG24_Nichtwohngebaeude.pdf", import.meta.url), "base64");
|
||||
const pdf = await PDFDocument.load(VerbrauchsausweisWohnenGEG2024PDF)
|
||||
@@ -104,7 +102,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
||||
})
|
||||
|
||||
if (ausweis.warmwasser_enthalten) {
|
||||
pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, {
|
||||
pages[3].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, {
|
||||
x: 211,
|
||||
y: height - 299,
|
||||
size: 10
|
||||
@@ -113,30 +111,73 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
||||
|
||||
|
||||
if (aufnahme.lueftung === Enums.Lueftungskonzept.Fensterlueftung) {
|
||||
addCheckMark(pages[0], 213, height - 334)
|
||||
pages[0].drawText("x", {
|
||||
x: 214,
|
||||
y: height - 342,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
} else if (aufnahme.lueftung === Enums.Lueftungskonzept.Schachtlueftung) {
|
||||
addCheckMark(pages[0], 213, height - 345)
|
||||
pages[0].drawText("x", {
|
||||
x: 214,
|
||||
y: height - 353,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
} else if (aufnahme.lueftung === Enums.Lueftungskonzept.LueftungsanlageMitWaermerueckgewinnung) {
|
||||
addCheckMark(pages[0], 355, height - 334)
|
||||
pages[0].drawText("x", {
|
||||
x: 356,
|
||||
y: height - 342,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
} else if (aufnahme.lueftung === Enums.Lueftungskonzept.LueftungsanlageOhneWaermerueckgewinnung) {
|
||||
addCheckMark(pages[0], 355, height - 345)
|
||||
pages[0].drawText("x", {
|
||||
x: 356,
|
||||
y: height - 353,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
|
||||
// Kühlung
|
||||
if (aufnahme.kuehlung === "1") {
|
||||
addCheckMark(pages[0], 213, height - 362.5)
|
||||
} else {
|
||||
addCheckMark(pages[0], 355, height - 373.5)
|
||||
if (aufnahme.kuehlung === "1" && aufnahme.kuehlung !== null) {
|
||||
pages[0].drawText("x", {
|
||||
x: 356,
|
||||
y: height - 370.5,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
|
||||
if (ausweis.ausstellgrund === Enums.Ausstellgrund.Neubau) {
|
||||
addCheckMark(pages[0], 213, height - 406)
|
||||
pages[0].drawText("x", {
|
||||
x: 214,
|
||||
y: height - 414,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
} else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Vermietung) {
|
||||
addCheckMark(pages[0], 213, height - 417)
|
||||
pages[0].drawText("x", {
|
||||
x: 214,
|
||||
y: height - 425,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
} else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Modernisierung) {
|
||||
addCheckMark(pages[0], 344.5, height - 406)
|
||||
pages[0].drawText("x", {
|
||||
x: 345.5,
|
||||
y: height - 414,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
} else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Sonstiges) {
|
||||
addCheckMark(pages[0], 463, height - 417)
|
||||
pages[0].drawText("x", {
|
||||
x: 464,
|
||||
y: height - 425,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
// Aushangpflicht
|
||||
// addCheckMark(pages[0], 463, height - 406)
|
||||
@@ -162,11 +203,21 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
||||
}
|
||||
}
|
||||
|
||||
// Checkmark Angabe energetische Qualität des Gebäudes.
|
||||
addCheckMark(pages[0], 40, height - 550)
|
||||
// Checkmark Verbrauchsausweis.
|
||||
pages[0].drawText("x", {
|
||||
x: 41,
|
||||
y: height - 558,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
|
||||
// Datenerhebung durch Eigentümer
|
||||
addCheckMark(pages[0], 295, height - 580)
|
||||
pages[0].drawText("x", {
|
||||
x: 296.5,
|
||||
y: height - 587.5,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
|
||||
// Ausstellungsdatum
|
||||
pages[0].drawText(moment().format("DD.MM.YYYY"), {
|
||||
@@ -187,7 +238,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
||||
// Stempel und Unterschrift
|
||||
if (ausweis.ausgestellt || !vorschau) {
|
||||
const stempel = await pdf.embedPng(fs.readFileSync(new URL("../../../public/pdf/images/stempel-unterschrift.png", import.meta.url), "base64"));
|
||||
const stempelHeight = 60
|
||||
const stempelHeight = 65
|
||||
|
||||
pages[0].drawImage(stempel, {
|
||||
x: 450,
|
||||
@@ -426,35 +477,75 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
||||
addEnergieverbrauchSkalaPfeile(pages[2])
|
||||
|
||||
if (ausweis.warmwasser_enthalten) {
|
||||
addCheckMark(pages[2], 41, height - 293)
|
||||
pages[2].drawText("x", {
|
||||
x: 42,
|
||||
y: height - 301,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
|
||||
if (aufnahme.kuehlung === "1") {
|
||||
addCheckMark(pages[2], 41, height - 305)
|
||||
if (ausweis.kuehlung_enthalten) {
|
||||
pages[2].drawText("x", {
|
||||
x: 42,
|
||||
y: height - 313,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
|
||||
if (ausweis.stromverbrauch_enthaelt_heizung) {
|
||||
addCheckMark(pages[2], 41, height - 456)
|
||||
pages[2].drawText("x", {
|
||||
x: 42,
|
||||
y: height - 464,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
|
||||
if (ausweis.stromverbrauch_enthaelt_warmwasser) {
|
||||
addCheckMark(pages[2], 131, height - 456)
|
||||
pages[2].drawText("x", {
|
||||
x: 132,
|
||||
y: height - 464,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
|
||||
if (ausweis.stromverbrauch_enthaelt_lueftung) {
|
||||
addCheckMark(pages[2], 218, height - 456)
|
||||
pages[2].drawText("x", {
|
||||
x: 219,
|
||||
y: height - 464,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
|
||||
if (ausweis.stromverbrauch_enthaelt_beleuchtung) {
|
||||
addCheckMark(pages[2], 281, height - 456)
|
||||
pages[2].drawText("x", {
|
||||
x: 282,
|
||||
y: height - 464,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
|
||||
if (ausweis.stromverbrauch_enthaelt_kuehlung) {
|
||||
addCheckMark(pages[2], 422, height - 456)
|
||||
pages[2].drawText("x", {
|
||||
x: 423,
|
||||
y: height - 464,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
|
||||
if (ausweis.stromverbrauch_enthaelt_sonstige) {
|
||||
addCheckMark(pages[2], 492, height - 456)
|
||||
pages[2].drawText("x", {
|
||||
x: 493,
|
||||
y: height - 464,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
|
||||
addText(pages[2], berechnungen?.primaerEnergieVerbrauchGesamt.toString() || "", 475, height - 637, 10, font)
|
||||
@@ -548,7 +639,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
||||
|
||||
const addVerbrauch = addVerbrauchGenerator();
|
||||
|
||||
if (ausweis.warmwasser_enthalten) {
|
||||
if (!ausweis.warmwasser_enthalten) {
|
||||
// Mit Warmwasserzuschlag
|
||||
addVerbrauch(
|
||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||
@@ -556,7 +647,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
||||
ausweis.brennstoff_1 || "",
|
||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||
"0",
|
||||
berechnungen?.endEnergieVerbrauchKuehlungsZuschlag_1,
|
||||
Math.round(berechnungen?.energieVerbrauchHeizung_1 || 0).toString(),
|
||||
berechnungen?.durchschnittsKlimafaktor.toString(),
|
||||
@@ -595,22 +686,22 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
||||
|
||||
|
||||
// TODO
|
||||
// if (!ausweis.warmwasser_enthalten) {
|
||||
// /**
|
||||
// * Dezentrale Warmwasserversorgung - Pauschale Erhöhung um 20kWh/m²
|
||||
// * @link https://www.bundesanzeiger.de/pub/publication/MRYM4nI84Sdlr0EIvvW?2
|
||||
// */
|
||||
// addVerbrauch(
|
||||
// moment(ausweis.startdatum).format("MM.YYYY"),
|
||||
// moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||
// "Warmwasserzuschlag",
|
||||
// berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||
// Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||
// Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||
// 0,
|
||||
// "0"
|
||||
// );
|
||||
// }
|
||||
if (!ausweis.warmwasser_enthalten) {
|
||||
/**
|
||||
* Dezentrale Warmwasserversorgung - Pauschale Erhöhung um 20kWh/m²
|
||||
* @link https://www.bundesanzeiger.de/pub/publication/MRYM4nI84Sdlr0EIvvW?2
|
||||
*/
|
||||
addVerbrauch(
|
||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||
"Warmwasserzuschlag",
|
||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||
0,
|
||||
"0"
|
||||
);
|
||||
}
|
||||
|
||||
if (aufnahme.leerstand && aufnahme.leerstand > 0) {
|
||||
/**
|
||||
@@ -642,7 +733,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
||||
}
|
||||
}
|
||||
|
||||
if (aufnahme.kuehlung === "1") {
|
||||
if (aufnahme.kuehlung) {
|
||||
/**
|
||||
* Kühlungszuschlag - Pauschale Erhöhung um 6kWh/m²
|
||||
* Primärenergiefaktor Strom
|
||||
@@ -655,7 +746,7 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe
|
||||
"",
|
||||
// TODO
|
||||
// berechnungen?.primaerfaktorww.toString(),
|
||||
Math.round(berechnungen?.kuehlungsZuschlag || 0).toString(),
|
||||
Math.round(berechnungen?.kuehlungsZuschlag_1 || 0).toString(),
|
||||
"0",
|
||||
0,
|
||||
""
|
||||
|
||||
@@ -4,7 +4,6 @@ import { Enums } from "#lib/server/prisma.js";
|
||||
import * as fs from "fs"
|
||||
import moment from "moment";
|
||||
import { PDFDocument, PDFFont, PDFImage, PDFPage, StandardFonts } from "pdf-lib";
|
||||
import { addCheckMark } from "./utils/checkbox.js";
|
||||
import { addText } from "./utils/text.js";
|
||||
import { addAnsichtsausweisLabel, addDatumGEG, addRegistriernummer } from "./utils/helpers.js";
|
||||
import { getS3File } from "#lib/s3.js";
|
||||
@@ -12,7 +11,6 @@ import { endEnergieVerbrauchVerbrauchsausweis_2016_Server } from "#lib/Berechnun
|
||||
|
||||
/* -------------------------------- Pdf Tools ------------------------------- */
|
||||
|
||||
|
||||
export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohnenClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: BildClient[], user: BenutzerClient, vorschau = true) {
|
||||
const VerbrauchsausweisWohnenGEG2024PDF = fs.readFileSync(new URL("../../../public/pdf/templates/GEG24_Wohngebaeude_ohne_pfeile.pdf", import.meta.url), "base64");
|
||||
const pdf = await PDFDocument.load(VerbrauchsausweisWohnenGEG2024PDF)
|
||||
@@ -29,6 +27,18 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
const font = await pdf.embedFont(StandardFonts.Helvetica)
|
||||
const bold = await pdf.embedFont(StandardFonts.HelveticaBold)
|
||||
|
||||
|
||||
for (let i = 0; i < pages.length; i++) {
|
||||
const page = pages[i];
|
||||
if (vorschau) {
|
||||
addAnsichtsausweisLabel(page, font)
|
||||
}
|
||||
addDatumGEG(page, font)
|
||||
if (i !== pages.length - 1) {
|
||||
addRegistriernummer(page, font, ausweis.registriernummer || "")
|
||||
}
|
||||
}
|
||||
|
||||
pages[0].drawText(`ID: ${ausweis.id || ""}`, {
|
||||
x: 211,
|
||||
y: height - 112.5,
|
||||
@@ -41,6 +51,23 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
size: 10
|
||||
})
|
||||
|
||||
const bild = bilder && bilder.find(image => image.kategorie === Enums.BilderKategorie.Gebaeude);
|
||||
|
||||
if (bild) {
|
||||
const file = await getS3File("ibc-images", `${bild.id}.jpg`);
|
||||
|
||||
if (file) {
|
||||
let image: PDFImage;
|
||||
image = await pdf.embedJpg(file)
|
||||
pages[0].drawImage(image, {
|
||||
x: 460.5,
|
||||
y: height - 289,
|
||||
width: 111,
|
||||
height: 138
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
pages[0].drawText(objekt.adresse || "", {
|
||||
x: 211,
|
||||
y: height - 194,
|
||||
@@ -77,6 +104,15 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
size: 10
|
||||
})
|
||||
|
||||
// Nach 82 aus Wohnfläche ermittelt
|
||||
if (aufnahme.nutzflaeche == 0) {
|
||||
pages[0].drawText("x", {
|
||||
x: 275,
|
||||
y: height - 285,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
|
||||
pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, {
|
||||
x: 211,
|
||||
@@ -84,6 +120,14 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
size: 10
|
||||
})
|
||||
|
||||
if (ausweis.warmwasser_enthalten) {
|
||||
pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, {
|
||||
x: 211,
|
||||
y: height - 299,
|
||||
size: 10
|
||||
})
|
||||
}
|
||||
|
||||
if (ausweis.warmwasser_enthalten) {
|
||||
pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, {
|
||||
x: 211,
|
||||
@@ -93,6 +137,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
}
|
||||
|
||||
|
||||
|
||||
const erneuerbareEnergienVerwendung = []
|
||||
|
||||
if (ausweis.alternative_heizung) {
|
||||
@@ -117,67 +162,98 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
size: 8
|
||||
})
|
||||
|
||||
if (ausweis.warmwasser_enthalten) {
|
||||
pages[0].drawText(`${ausweis.brennstoff_1}, ${ausweis.brennstoff_2 || ""}`, {
|
||||
x: 211,
|
||||
y: height - 299,
|
||||
size: 10
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
if (aufnahme.lueftung === Enums.Lueftungskonzept.Fensterlueftung) {
|
||||
addCheckMark(pages[0], 213, height - 347)
|
||||
pages[0].drawText("x", {
|
||||
x: 214,
|
||||
y: height - 293,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
} else if (aufnahme.lueftung === Enums.Lueftungskonzept.Schachtlueftung) {
|
||||
addCheckMark(pages[0], 213, height - 358)
|
||||
pages[0].drawText("x", {
|
||||
x: 214,
|
||||
y: height - 366,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
} else if (aufnahme.lueftung === Enums.Lueftungskonzept.LueftungsanlageMitWaermerueckgewinnung) {
|
||||
addCheckMark(pages[0], 355, height - 347)
|
||||
pages[0].drawText("x", {
|
||||
x: 356,
|
||||
y: height - 355,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
} else if (aufnahme.lueftung === Enums.Lueftungskonzept.LueftungsanlageOhneWaermerueckgewinnung) {
|
||||
addCheckMark(pages[0], 355, height - 358)
|
||||
pages[0].drawText("x", {
|
||||
x: 356,
|
||||
y: height - 366,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
|
||||
// Kühlung
|
||||
if (aufnahme.kuehlung === "1") {
|
||||
addCheckMark(pages[0], 213, height - 375.5)
|
||||
pages[0].drawText("x", {
|
||||
x: 213,
|
||||
y: height - 383.5,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
} else {
|
||||
pages[0].drawText("x", {
|
||||
x: 356,
|
||||
y: height - 394.5,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
|
||||
if (ausweis.ausstellgrund === Enums.Ausstellgrund.Neubau) {
|
||||
addCheckMark(pages[0], 213, height - 419)
|
||||
pages[0].drawText("x", {
|
||||
x: 214,
|
||||
y: height - 427,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
} else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Vermietung || ausweis.ausstellgrund === Enums.Ausstellgrund.Verkauf) {
|
||||
addCheckMark(pages[0], 213, height - 430)
|
||||
pages[0].drawText("x", {
|
||||
x: 214,
|
||||
y: height - 438,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
} else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Modernisierung) {
|
||||
addCheckMark(pages[0], 344.5, height - 419)
|
||||
pages[0].drawText("x", {
|
||||
x: 345.5,
|
||||
y: height - 427,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
} else if (ausweis.ausstellgrund === Enums.Ausstellgrund.Sonstiges) {
|
||||
addCheckMark(pages[0], 463, height - 419)
|
||||
}
|
||||
|
||||
const bild = bilder && bilder.find(image => image.kategorie === Enums.BilderKategorie.Gebaeude);
|
||||
|
||||
if (bild) {
|
||||
const file = await getS3File("ibc-images", `${bild.id}.jpg`);
|
||||
|
||||
if (file) {
|
||||
let image: PDFImage;
|
||||
image = await pdf.embedJpg(file)
|
||||
pages[0].drawImage(image, {
|
||||
x: 460.5,
|
||||
y: height - 289,
|
||||
width: 111,
|
||||
height: 138
|
||||
pages[0].drawText("x", {
|
||||
x: 464,
|
||||
y: height - 427,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// Nach 82 aus Wohnfläche ermittelt
|
||||
if (aufnahme.nutzflaeche == 0) {
|
||||
addCheckMark(pages[0], 274, height - 277)
|
||||
}
|
||||
|
||||
// Checkmark Angabe energetische Qualität des Gebäudes.
|
||||
addCheckMark(pages[0], 43, height - 560)
|
||||
// Checkmark Angabe Verbrauchsausweis
|
||||
pages[0].drawText("x", {
|
||||
x: 44,
|
||||
y: height - 568,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
|
||||
// Datenerhebung durch Eigentümer
|
||||
addCheckMark(pages[0], 298, height - 590)
|
||||
pages[0].drawText("x", {
|
||||
x: 299,
|
||||
y: height - 598,
|
||||
size: 10,
|
||||
font: bold
|
||||
})
|
||||
|
||||
// Ausstellungsdatum
|
||||
pages[0].drawText(moment().format("DD.MM.YYYY"), {
|
||||
@@ -198,7 +274,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
// Stempel und Unterschrift
|
||||
if (!vorschau) {
|
||||
const stempel = await pdf.embedPng(fs.readFileSync(new URL("../../../public/pdf/images/stempel-unterschrift.png", import.meta.url), "base64"));
|
||||
const stempelHeight = 60
|
||||
const stempelHeight = 65
|
||||
|
||||
pages[0].drawImage(stempel, {
|
||||
x: 450,
|
||||
@@ -326,7 +402,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
}
|
||||
}
|
||||
|
||||
addEnergieverbrauchSkalaPfeile(pages[2])
|
||||
|
||||
|
||||
// CO2 Emissionen
|
||||
pages[2].drawText(berechnungen?.co2EmissionenGesamt.toString() || "", {
|
||||
@@ -336,6 +412,8 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
size: 10
|
||||
})
|
||||
|
||||
addEnergieverbrauchSkalaPfeile(pages[2])
|
||||
|
||||
// Endenergieverbrauch
|
||||
pages[2].drawText(berechnungen?.endEnergieVerbrauchGesamt.toString() || "", {
|
||||
x: 455,
|
||||
@@ -593,16 +671,5 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
addEmpfehlung(empfehlung.anlagenteil, empfehlung.description, true, empfehlung.amortisationszeit, empfehlung.kosten)
|
||||
}
|
||||
|
||||
for (let i = 0; i < pages.length; i++) {
|
||||
const page = pages[i];
|
||||
if (vorschau) {
|
||||
addAnsichtsausweisLabel(page, font)
|
||||
}
|
||||
addDatumGEG(page, font)
|
||||
if (i !== pages.length - 1) {
|
||||
addRegistriernummer(page, font, ausweis.registriernummer || "")
|
||||
}
|
||||
}
|
||||
|
||||
return pdf.save();
|
||||
}
|
||||
Reference in New Issue
Block a user