Übergabe von E-Mails als PDF mit eingebetteten Anlagen

This commit is contained in:
2026-09-07 22:33:55 +02:00
parent fd87813cbe
commit d032e3b19c
16 changed files with 1363 additions and 28 deletions

View File

@@ -14,12 +14,18 @@ import { uebersetzeSeite, ruf, fehlerAnzeigen, meldungAnzeigen }
const $ = (id) => document.getElementById(id);
const FELDER = ["baseUrl", "shareBaseUrl", "token", "versionLabel",
"shareDays", "shareTag", "ignorierteKleiner"];
"mailFormat", "pdfSchriftgroesse", "pdfFormat",
"pdfRandLinks", "pdfRandRechts", "pdfRandOben",
"pdfRandUnten", "shareDays", "shareTag",
"ignorierteKleiner"];
document.addEventListener("DOMContentLoaded", async () => {
uebersetzeSeite();
const s = await ladeEinstellungen();
for (const f of FELDER) if ($(f)) $(f).value = s[f] ?? "";
if ($("pdfAnhaengeEinbetten")) {
$("pdfAnhaengeEinbetten").checked = s.pdfAnhaengeEinbetten !== false;
}
$("speichern").addEventListener("click", speichern);
$("pruefen").addEventListener("click", pruefen);
await rechtAnzeigen();
@@ -56,6 +62,13 @@ async function rechtAnzeigen() {
: `Zugriffsrecht fehlt für ${origin} — auf Speichern klicken.`;
}
/** Randangabe lesen und auf einen brauchbaren Bereich begrenzen. */
function rand(id, vorgabe) {
const wert = Number($(id)?.value);
if (!Number.isFinite(wert)) return vorgabe;
return Math.min(60, Math.max(0, wert));
}
function gelesen() {
return {
baseUrl: $("baseUrl").value.trim().replace(/\/+$/, ""),
@@ -64,6 +77,15 @@ function gelesen() {
versionLabel: $("versionLabel").value.trim() || "Thunderbird {datum}",
shareDays: Number($("shareDays").value || 0),
shareTag: $("shareTag").value.trim(),
mailFormat: $("mailFormat")?.value || "pdf",
pdfAnhaengeEinbetten: $("pdfAnhaengeEinbetten")?.checked !== false,
pdfSchriftgroesse: Math.min(16, Math.max(7,
Number($("pdfSchriftgroesse")?.value) || 11)),
pdfFormat: $("pdfFormat")?.value || "a4",
pdfRandLinks: rand("pdfRandLinks", 20),
pdfRandRechts: rand("pdfRandRechts", 10),
pdfRandOben: rand("pdfRandOben", 10),
pdfRandUnten: rand("pdfRandUnten", 10),
ignorierteKleiner: Number($("ignorierteKleiner").value || 0)
};
}