diff --git a/src/lib/pdf/elements/Image.ts b/src/lib/pdf/elements/Image.ts index 9e0ce5e3..5805ddc3 100644 --- a/src/lib/pdf/elements/Image.ts +++ b/src/lib/pdf/elements/Image.ts @@ -2,6 +2,7 @@ import { PDFPage, PDFFont, rgb, RGB, PDFImage } from 'pdf-lib'; import { PDFElement, Size } from './PDFElement.js'; import { Margin, Padding } from './Layout.js'; import * as fs from "fs" +import { getS3File } from '#lib/s3.js'; export interface ImageOptions { margin?: Margin, @@ -43,11 +44,12 @@ export class Image extends PDFElement { async draw(page: PDFPage, x: number, y: number) { let embed: PDFImage; if (this.options.src) { - if (!fs.existsSync(this.options.src)) { + const img = await getS3File("ibc-images", this.options.src); + + if (!img) { return; } - const img = fs.readFileSync(this.options.src) if (this.options.src.split(".").pop() === "png") { embed = await page.doc.embedPng(img) } else { diff --git a/src/lib/pdf/pdfDatenblattVerbrauchsausweisGewerbe.ts b/src/lib/pdf/pdfDatenblattVerbrauchsausweisGewerbe.ts index b363db7d..1cced804 100644 --- a/src/lib/pdf/pdfDatenblattVerbrauchsausweisGewerbe.ts +++ b/src/lib/pdf/pdfDatenblattVerbrauchsausweisGewerbe.ts @@ -364,7 +364,7 @@ export async function pdfDatenblattVerbrauchsausweisGewerbe(ausweis: Verbrauchsa } if (bild.uid) { - image = `` + image = `` } if (images.length > 0) { diff --git a/src/lib/pdf/pdfDatenblattVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfDatenblattVerbrauchsausweisWohnen.ts index 21daada6..882b4a16 100644 --- a/src/lib/pdf/pdfDatenblattVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfDatenblattVerbrauchsausweisWohnen.ts @@ -307,7 +307,7 @@ export async function pdfDatenblattVerbrauchsausweisWohnen(ausweis: Verbrauchsau } if (bild.uid) { - image = `` + image = `` } if (images.length > 0) { diff --git a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts index b7ae927d..96e83eb9 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisGewerbe.ts @@ -10,6 +10,7 @@ import { addText } from "./utils/text.js"; import { addAnsichtsausweisLabel, addDatumGEG } from "./utils/helpers.js"; import { PERSISTENT_DIR } from "#lib/server/constants.js"; import { fileURLToPath } from "url"; +import { getS3File } from "#lib/s3.js"; export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewerbeClient, aufnahme: AufnahmeClient, objekt: ObjektClient, bilder: BildClient[], user: BenutzerClient) { @@ -141,21 +142,20 @@ export async function pdfVerbrauchsausweisGewerbe(ausweis: VerbrauchsausweisGewe const bild = bilder && bilder.find(image => image.kategorie === Enums.BilderKategorie.Gebaeude); - if (bild) { - const path = `${PERSISTENT_DIR}/images/${bild.uid}.jpg`; - - if (fs.existsSync(path)) { - const file = fs.readFileSync(fileURLToPath(new URL(path, import.meta.url))) - let image: PDFImage; - image = await pdf.embedJpg(file) - pages[0].drawImage(image, { - x: 460.5, - y: height - 289, - width: 111, - height: 138 - }) - } + if (bild) { + const file = await getS3File("ibc-images", `${bild.uid}.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 + }) } + } // Checkmark Angabe energetische Qualität des Gebäudes. addCheckMark(pages[0], 40, height - 550) diff --git a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts index 27d2b6bf..9c333bb2 100644 --- a/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts +++ b/src/lib/pdf/pdfVerbrauchsausweisWohnen.ts @@ -10,6 +10,7 @@ import { addText } from "./utils/text.js"; import { addAnsichtsausweisLabel, addDatumGEG } from "./utils/helpers.js"; import { fileURLToPath } from "url"; import { PERSISTENT_DIR } from "#lib/server/constants.js"; +import { getS3File } from "#lib/s3.js"; /* -------------------------------- Pdf Tools ------------------------------- */ @@ -148,10 +149,9 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne const bild = bilder && bilder.find(image => image.kategorie === Enums.BilderKategorie.Gebaeude); if (bild) { - const path = `${PERSISTENT_DIR}/images/${bild.uid}.jpg`; + const file = await getS3File("ibc-images", `${bild.uid}.jpg`); - if (fs.existsSync(path)) { - const file = fs.readFileSync(fileURLToPath(new URL(path, import.meta.url))) + if (file) { let image: PDFImage; image = await pdf.embedJpg(file) pages[0].drawImage(image, {