from __future__ import annotations from pathlib import Path from weasyprint import HTML class OrionReportService: chapters = [ "Deckblatt", "Inhaltsverzeichnis", "Zusammenfassung", "Gerät", "Kunde", "Normen", "Prüfmittel", "Programme", "Beladung", "Messungen", "Diagramme", "Empfehlungen", "Anlagen", ] def render_pdf(self, title: str, output_path: Path) -> Path: chapter_markup = "".join(f"

{chapter}

" for chapter in self.chapters) html = f"

{title}

{chapter_markup}" HTML(string=html).write_pdf(output_path) return output_path