Buchstabe hervorheben
This commit is contained in:
@@ -6,6 +6,7 @@ import * as fs from "fs"
|
|||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { PDFDocument, PDFFont, PDFImage, PDFPage, RotationTypes, StandardFonts, TextAlignment } from "pdf-lib";
|
import { PDFDocument, PDFFont, PDFImage, PDFPage, RotationTypes, StandardFonts, TextAlignment } from "pdf-lib";
|
||||||
import { addCheckMark } from "./utils/checkbox.js";
|
import { addCheckMark } from "./utils/checkbox.js";
|
||||||
|
import { addText } from "./utils/text.js";
|
||||||
|
|
||||||
/* -------------------------------- Pdf Tools ------------------------------- */
|
/* -------------------------------- Pdf Tools ------------------------------- */
|
||||||
|
|
||||||
@@ -46,7 +47,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
|
|
||||||
const gebaeudetyp = fillFormField("gebaeudetyp", aufnahme.gebaeudetyp || "")
|
const gebaeudetyp = fillFormField("gebaeudetyp", aufnahme.gebaeudetyp || "")
|
||||||
|
|
||||||
const adresse = fillFormField("adresse", objekt.adresse)
|
const adresse = fillFormField("adresse", objekt.adresse || "")
|
||||||
|
|
||||||
|
|
||||||
const gebaeudeteil = fillFormField("gebaeudeteil", aufnahme.gebaeudeteil || "")
|
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 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²`)
|
const nutzflaeche = fillFormField("nutzflaeche", `${aufnahme.nutzflaeche?.toString()}m²`)
|
||||||
|
|
||||||
@@ -153,6 +154,22 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
const pfeilWidth = 20
|
const pfeilWidth = 20
|
||||||
const margin = 5;
|
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, {
|
page.drawImage(pfeilNachUnten, {
|
||||||
x: endenergieverbrauchTranslationX,
|
x: endenergieverbrauchTranslationX,
|
||||||
y: height - 212,
|
y: height - 212,
|
||||||
@@ -319,11 +336,11 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
addVerbrauch(
|
addVerbrauch(
|
||||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||||
aufnahme.brennstoff_1,
|
aufnahme.brennstoff_1 || "",
|
||||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchGesamt_1).toString(),
|
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
||||||
"0",
|
"0",
|
||||||
Math.round(berechnungen?.energieVerbrauchHeizung_1).toString(),
|
Math.round(berechnungen?.energieVerbrauchHeizung_1 || 0).toString(),
|
||||||
berechnungen?.durchschnittsKlimafaktor.toString()
|
berechnungen?.durchschnittsKlimafaktor.toString()
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@@ -331,11 +348,11 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
addVerbrauch(
|
addVerbrauch(
|
||||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||||
aufnahme.brennstoff_1,
|
aufnahme.brennstoff_1 || "",
|
||||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchGesamt_1).toString(),
|
Math.round(berechnungen?.energieVerbrauchGesamt_1 || 0).toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1).toString(),
|
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchHeizung_1).toString(),
|
Math.round(berechnungen?.energieVerbrauchHeizung_1 || 0).toString(),
|
||||||
berechnungen?.durchschnittsKlimafaktor.toString()
|
berechnungen?.durchschnittsKlimafaktor.toString()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -344,11 +361,11 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
addVerbrauch(
|
addVerbrauch(
|
||||||
moment(ausweis.startdatum).format("MM.YYYY"),
|
moment(ausweis.startdatum).format("MM.YYYY"),
|
||||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||||
aufnahme.brennstoff_2,
|
aufnahme.brennstoff_2 || "",
|
||||||
berechnungen?.brennstoff_2.primaerenergiefaktor.toString(),
|
berechnungen?.brennstoff_2.primaerenergiefaktor.toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchGesamt_2).toString(),
|
Math.round(berechnungen?.energieVerbrauchGesamt_2 || 0).toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_2).toString(),
|
Math.round(berechnungen?.energieVerbrauchWarmwasser_2 || 0).toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchHeizung_2).toString(),
|
Math.round(berechnungen?.energieVerbrauchHeizung_2 || 0).toString(),
|
||||||
berechnungen?.durchschnittsKlimafaktor.toString()
|
berechnungen?.durchschnittsKlimafaktor.toString()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -363,8 +380,8 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||||
"Warmwasserzuschlag",
|
"Warmwasserzuschlag",
|
||||||
berechnungen?.primaerfaktorww.toString(),
|
berechnungen?.primaerfaktorww.toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1).toString(),
|
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||||
Math.round(berechnungen?.energieVerbrauchWarmwasser_1).toString(),
|
Math.round(berechnungen?.energieVerbrauchWarmwasser_1 || 0).toString(),
|
||||||
"0",
|
"0",
|
||||||
"0"
|
"0"
|
||||||
);
|
);
|
||||||
@@ -381,9 +398,9 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||||
"Leerstandszuschlag",
|
"Leerstandszuschlag",
|
||||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||||
Math.round(berechnungen?.leerstandsZuschlagHeizung + berechnungen?.leerstandsZuschlagWarmwasser).toString(),
|
Math.round((berechnungen?.leerstandsZuschlagHeizung || 0) + (berechnungen?.leerstandsZuschlagWarmwasser || 0)).toString(),
|
||||||
Math.round(berechnungen?.leerstandsZuschlagWarmwasser).toString(),
|
Math.round((berechnungen?.leerstandsZuschlagWarmwasser || 0)).toString(),
|
||||||
Math.round(berechnungen?.leerstandsZuschlagHeizung).toString(),
|
Math.round((berechnungen?.leerstandsZuschlagHeizung || 0)).toString(),
|
||||||
berechnungen?.durchschnittsKlimafaktor.toString()
|
berechnungen?.durchschnittsKlimafaktor.toString()
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@@ -392,7 +409,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||||
"Leerstandszuschlag",
|
"Leerstandszuschlag",
|
||||||
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
berechnungen?.brennstoff_1.primaerenergiefaktor.toString(),
|
||||||
Math.round(berechnungen?.leerstandsZuschlagHeizung + berechnungen?.leerstandsZuschlagWarmwasser).toString(),
|
Math.round((berechnungen?.leerstandsZuschlagHeizung || 0) + (berechnungen?.leerstandsZuschlagWarmwasser || 0)).toString(),
|
||||||
"0",
|
"0",
|
||||||
"0",
|
"0",
|
||||||
berechnungen?.durchschnittsKlimafaktor.toString()
|
berechnungen?.durchschnittsKlimafaktor.toString()
|
||||||
@@ -411,7 +428,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
|
|||||||
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
moment(ausweis.startdatum).add(3, "years").format("MM.YYYY"),
|
||||||
"Leerstandszuschlag",
|
"Leerstandszuschlag",
|
||||||
berechnungen?.primaerfaktorww.toString(),
|
berechnungen?.primaerfaktorww.toString(),
|
||||||
Math.round(berechnungen?.kuehlungsZuschlag).toString(),
|
Math.round(berechnungen?.kuehlungsZuschlag || 0).toString(),
|
||||||
"0",
|
"0",
|
||||||
"0",
|
"0",
|
||||||
"1.8"
|
"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