import streamlit as st from docx import Document import fitz # PyMuPDF import io st.set_page_config(page_title="AKP Analyse für GWV", layout="centered") st.title("AKP Analyse für GWV") st.markdown("Lade ein Auskundungsprotokoll (PDF) hoch und erhalte den Analysebericht als Word-Datei.") uploaded_file = st.file_uploader("PDF-Datei hochladen", type=["pdf"]) if uploaded_file: st.success("Datei erfolgreich hochgeladen. Analyse wird durchgeführt...") pdf_bytes = uploaded_file.read() pdf = fitz.open(stream=pdf_bytes, filetype="pdf") # Einfacher Text-Scan zur Extraktion von KLS-ID und Adresse (Platzhalter) full_text = "" for page in pdf: full_text += page.get_text() kls_id = "Unbekannt" adresse = "Nicht erkannt" for line in full_text.splitlines(): if "KLS-ID" in line: kls_id = line.split(":")[-1].strip() if "Adresse" in line: adresse = line.split(":")[-1].strip() # Analysebericht generieren doc = Document() doc.add_heading(f"AKP Analyse – KLS-ID: {kls_id}", 0) doc.add_heading("Grunddaten", level=1) doc.add_paragraph(f"KLS-ID: {kls_id}") doc.add_paragraph(f"Adresse: {adresse}") doc.add_paragraph("NE4 Bauweise: FTTH") doc.add_paragraph("Gebäudeart: Mehrfamilienhaus") doc.add_paragraph("Gebäudeklasse: GK1-2") doc.add_heading("Hinweise & Verpflichtungen", level=1) doc.add_paragraph("Alle in den Wohnungen verlegten Glasfaserkabel müssen bis zum GF-AP weitergeführt werden.") doc.add_paragraph("GF-TA-Abschlüsse müssen montiert werden.") doc.add_heading("Gezielte Fragen", level=1) doc.add_paragraph("1. Wurden die Glasfaserkabel weitergeführt?") doc.add_paragraph("2. Sind alle GF-TAs vorbereitet?") doc.add_heading("Allgemeine Fragen", level=1) doc.add_paragraph("1. Ist die Adresse korrekt?") doc.add_paragraph("2. Ist der Montageort zugänglich?") doc.add_paragraph("3. Gibt es Parkmöglichkeiten?") doc.add_paragraph("4. Gibt es eine Kontaktperson vor Ort?") output = io.BytesIO() doc.save(output) output.seek(0) st.success("Analyse abgeschlossen. Du kannst den Bericht jetzt herunterladen.") st.download_button( label="📄 Bericht herunterladen", data=output, file_name=f"AKP_Analyse_KLSID_{kls_id}.docx", mime="application/vnd.openxmlformats-officedocument.wordprocessingml.document" )