From 66a2cfc37841d9834ca2ea4d4bb9c7b817512140 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 6 Feb 2026 10:55:41 +0100 Subject: [PATCH] Refactor PDF text extraction and update configuration handling in Satzung upload process This commit removes the PDF text extraction logic and replaces it with a fallback mechanism that retains existing content or provides a neutral message. The configuration update now only sets the PDF path without automatically generating HTML content, improving clarity and maintaining the integrity of the existing data. --- server/api/cms/satzung-upload.post.js | 109 +++----------------------- 1 file changed, 10 insertions(+), 99 deletions(-) diff --git a/server/api/cms/satzung-upload.post.js b/server/api/cms/satzung-upload.post.js index 737e7ee..db9f601 100644 --- a/server/api/cms/satzung-upload.post.js +++ b/server/api/cms/satzung-upload.post.js @@ -96,112 +96,23 @@ export default defineEventHandler(async (event) => { // Zusätzliche Validierung: Magic-Bytes prüfen (mimetype kann gespooft sein) await assertPdfMagicHeader(file.path) - // PDF-Text extrahieren mit pdftotext (falls verfügbar) oder Fallback - let extractedText = '' - - try { - // Versuche pdftotext zu verwenden (falls auf dem System installiert) - const { stdout } = await execAsync(`pdftotext "${file.path}" -`) - extractedText = stdout - } catch (_error) { - console.log('pdftotext nicht verfügbar, verwende Fallback-Text') - // Fallback: Verwende den bekannten Satzungsinhalt - extractedText = `Vereinssatzung - -Die Satzung des Harheimer Tischtennis Clubs regelt die Grundlagen unseres Vereins. - -§ 1 Name, Sitz und Geschäftsjahr - -(1) Der Verein führt den Namen "Harheimer Tischtennis-Club 1954 e.V." (HTC). - -(2) Der Verein hat seinen Sitz in Frankfurt am Main. - -(3) Das Geschäftsjahr ist das Kalenderjahr. - -§ 2 Zweck des Vereins - -(1) Der Verein bezweckt die Förderung des Tischtennissports und die Pflege der Geselligkeit seiner Mitglieder. - -(2) Der Verein ist selbstlos tätig; er verfolgt nicht in erster Linie eigenwirtschaftliche Zwecke. - -§ 3 Mitgliedschaft - -(1) Mitglied des Vereins kann jede natürliche Person werden, die die Ziele des Vereins unterstützt. - -(2) Der Antrag auf Mitgliedschaft ist schriftlich an den Vorstand zu richten. - -(3) Über die Aufnahme entscheidet der Vorstand. - -§ 4 Rechte und Pflichten der Mitglieder - -(1) Die Mitglieder haben das Recht, an den Veranstaltungen des Vereins teilzunehmen und die Einrichtungen des Vereins zu benutzen. - -(2) Die Mitglieder sind verpflichtet, die Satzung und die Beschlüsse der Vereinsorgane zu beachten und den Mitgliedsbeitrag zu entrichten. - -§ 5 Mitgliedsbeiträge - -(1) Die Höhe der Mitgliedsbeiträge wird von der Mitgliederversammlung festgesetzt. - -(2) Die Mitgliedsbeiträge sind im Voraus zu entrichten. - -§ 6 Beendigung der Mitgliedschaft - -(1) Die Mitgliedschaft endet durch Austritt, Ausschluss oder Tod. - -(2) Der Austritt erfolgt durch schriftliche Erklärung gegenüber dem Vorstand. - -(3) Ein Mitglied kann aus wichtigem Grund ausgeschlossen werden. - -§ 7 Organe des Vereins - -Organe des Vereins sind: -• die Mitgliederversammlung -• der Vorstand - -§ 8 Mitgliederversammlung - -(1) Die Mitgliederversammlung ist das oberste Organ des Vereins. - -(2) Sie wird vom Vorsitzenden mindestens einmal im Jahr einberufen. - -(3) Die Mitgliederversammlung beschließt über alle wichtigen Angelegenheiten des Vereins. - -§ 9 Vorstand - -(1) Der Vorstand besteht aus: -• dem Vorsitzenden -• dem stellvertretenden Vorsitzenden -• dem Kassenwart -• dem Schriftführer - -(2) Der Vorstand wird von der Mitgliederversammlung gewählt. - -(3) Der Vorstand führt die Geschäfte des Vereins. - -§ 10 Satzungsänderungen - -Satzungsänderungen können nur in einer Mitgliederversammlung mit einer Mehrheit von zwei Dritteln der anwesenden Mitglieder beschlossen werden. - -§ 11 Auflösung des Vereins - -(1) Die Auflösung des Vereins kann nur in einer Mitgliederversammlung mit einer Mehrheit von drei Vierteln der anwesenden Mitglieder beschlossen werden. - -(2) Bei Auflösung des Vereins fällt das Vereinsvermögen an eine gemeinnützige Organisation.` - } - - // Text in HTML-Format konvertieren - const htmlContent = convertTextToHtml(extractedText) - - // Config aktualisieren + // Config aktualisieren: Nur PDF-Pfad setzen, HTML-Inhalt nicht automatisch neu generieren const configPath = getDataPath('config.json') const configData = JSON.parse(await fs.readFile(configPath, 'utf-8')) + if (!configData.seiten) { + configData.seiten = {} + } + + const previousContent = configData.seiten.satzung?.content || '' + configData.seiten.satzung = { pdfUrl: '/documents/satzung.pdf', - content: htmlContent + // Entweder bestehenden Text behalten oder einen neutralen Hinweis setzen + content: previousContent || '

Die gültige Satzung des Harheimer Tischtennis-Club 1954 e. V. steht als PDF zum Download bereit. Die PDF-Fassung ist rechtlich verbindlich.

' } - await fs.writeFile(configPath, JSON.stringify(configData, null, 2)) + await fs.writeFile(configPath, JSON.stringify(configData, null, 2), 'utf-8') return { success: true,