Buchstabe hervorheben
This commit is contained in:
@@ -6,6 +6,7 @@ import * as fs from "fs"
|
||||
import moment from "moment";
|
||||
import { PDFDocument, PDFFont, PDFImage, PDFPage, RotationTypes, StandardFonts, TextAlignment } from "pdf-lib";
|
||||
import { addCheckMark } from "./utils/checkbox.js";
|
||||
import { addText } from "./utils/text.js";
|
||||
|
||||
/* -------------------------------- Pdf Tools ------------------------------- */
|
||||
|
||||
@@ -46,7 +47,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
|
||||
const gebaeudetyp = fillFormField("gebaeudetyp", aufnahme.gebaeudetyp || "")
|
||||
|
||||
const adresse = fillFormField("adresse", objekt.adresse)
|
||||
const adresse = fillFormField("adresse", objekt.adresse || "")
|
||||
|
||||
|
||||
const gebaeudeteil = fillFormField("gebaeudeteil", aufnahme.gebaeudeteil || "")
|
||||
@@ -55,7 +56,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
|
||||
const baujahr_heizung = fillFormField("baujahr_heizung", aufnahme.baujahr_heizung?.toString())
|
||||
|
||||
const einheiten = fillFormField("einheiten", aufnahme.einheiten?.toString())
|
||||
const einheiten = fillFormField("einheiten", (aufnahme.einheiten || 1).toString())
|
||||
|
||||
const nutzflaeche = fillFormField("nutzflaeche", `${aufnahme.nutzflaeche?.toString()}m²`)
|
||||
|
||||
@@ -153,6 +154,22 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
const pfeilWidth = 20
|
||||
const margin = 5;
|
||||
|
||||
// Buchstaben hinzufügen und hervorheben
|
||||
const klassen: [string, number][] = [
|
||||
["A+", 94],
|
||||
["A", 136.5],
|
||||
["B", 175],
|
||||
["C", 215],
|
||||
["D", 264],
|
||||
["E", 320],
|
||||
["F", 382],
|
||||
["G", 447],
|
||||
["H", 495],
|
||||
]
|
||||
for (const klasse of klassen) {
|
||||
addText(page, klasse[0], klasse[1], height - 227, 12, berechnungen?.energieEffizienzKlasse === klasse[0] ? bold : font)
|
||||
}
|
||||
|
||||
page.drawImage(pfeilNachUnten, {
|
||||
x: endenergieverbrauchTranslationX,
|
||||
y: height - 212,
|
||||
@@ -319,11 +336,11 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
addVerbrauch(
|
||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||
aufnahme.brennstoff_1,
|
||||
aufnahme.brennstoff_1 || "",
|
||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchGesamt_1).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
||||
"0",
|
||||
Math.round(berechnungen?.energieVerbrauchHeizung_1).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchHeizung_1 || 0).toString(),
|
||||
berechnungen?.durchschnittsKlimafaktor.toString()
|
||||
);
|
||||
} else {
|
||||
@@ -331,11 +348,11 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
addVerbrauch(
|
||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||
aufnahme.brennstoff_1,
|
||||
aufnahme.brennstoff_1 || "",
|
||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchGesamt_1).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchHeizung_1).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchHeizung_1 || 0).toString(),
|
||||
berechnungen?.durchschnittsKlimafaktor.toString()
|
||||
);
|
||||
}
|
||||
@@ -344,11 +361,11 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
addVerbrauch(
|
||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||
aufnahme.brennstoff_2,
|
||||
aufnahme.brennstoff_2 || "",
|
||||
berechnungen?.brennstoff_2.primaerenergiefaktor.toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchGesamt_2).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_2).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchHeizung_2).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchGesamt_2 || 0).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_2 || 0).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchHeizung_2 || 0).toString(),
|
||||
berechnungen?.durchschnittsKlimafaktor.toString()
|
||||
);
|
||||
}
|
||||
@@ -363,8 +380,8 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||
"Warmwasserzuschlag",
|
||||
berechnungen?.primaerfaktorww.toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||
"0",
|
||||
"0"
|
||||
);
|
||||
@@ -381,9 +398,9 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||
"Leerstandszuschlag",
|
||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||
Math.round(berechnungen?.leerstandsZuschlagHeizung + berechnungen?.leerstandsZuschlagWarmwasser).toString(),
|
||||
Math.round(berechnungen?.leerstandsZuschlagWarmwasser).toString(),
|
||||
Math.round(berechnungen?.leerstandsZuschlagHeizung).toString(),
|
||||
Math.round((berechnungen?.leerstandsZuschlagHeizung || 0) + (berechnungen?.leerstandsZuschlagWarmwasser || 0)).toString(),
|
||||
Math.round((berechnungen?.leerstandsZuschlagWarmwasser || 0)).toString(),
|
||||
Math.round((berechnungen?.leerstandsZuschlagHeizung || 0)).toString(),
|
||||
berechnungen?.durchschnittsKlimafaktor.toString()
|
||||
);
|
||||
} else {
|
||||
@@ -392,7 +409,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||
"Leerstandszuschlag",
|
||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||
Math.round(berechnungen?.leerstandsZuschlagHeizung + berechnungen?.leerstandsZuschlagWarmwasser).toString(),
|
||||
Math.round((berechnungen?.leerstandsZuschlagHeizung || 0) + (berechnungen?.leerstandsZuschlagWarmwasser || 0)).toString(),
|
||||
"0",
|
||||
"0",
|
||||
berechnungen?.durchschnittsKlimafaktor.toString()
|
||||
@@ -411,7 +428,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||
"Leerstandszuschlag",
|
||||
berechnungen?.primaerfaktorww.toString(),
|
||||
Math.round(berechnungen?.kuehlungsZuschlag).toString(),
|
||||
Math.round(berechnungen?.kuehlungsZuschlag || 0).toString(),
|
||||
"0",
|
||||
"0",
|
||||
"1.8"
|
||||
|
||||
7
src/lib/pdf/utils/text.ts
Normal file
7
src/lib/pdf/utils/text.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import { PDFField, PDFFont, PDFPage } from "pdf-lib";
|
||||
|
||||
export function addText(page: PDFPage, text: string, x: number, y: number, size: number, font: PDFFont) {
|
||||
page.drawText(text, {
|
||||
font, x, y, size
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user