From 361f9d0bbebe773fd5934f27be8b5b1d92da8aec Mon Sep 17 00:00:00 2001 From: RGalyaviev Date: Thu, 4 Sep 2025 08:54:48 +0300 Subject: [PATCH] PDF export: sanitize HTML (remove ", "", html, flags=re.I | re.S) + html = re.sub(r"\sstyle=(\"|\')(.*?)\1", "", html, flags=re.I | re.S) + html = re.sub(r"]*>.*?", "", html, flags=re.I | re.S) + return html + def _wrap_html_for_export(title: str, html: str) -> str: head_title = f"{title}" if title else "" return ( @@ -280,7 +288,8 @@ def create_app(): def export_pdf(uid: str): row = _fetch_page(uid) title = row["title"] or f"page-{uid[:8]}" - html_doc = _wrap_html_for_export(title, row["html"]) + cleaned = _sanitize_html_for_pdf(row["html"]) + html_doc = _wrap_html_for_export(title, cleaned) out = BytesIO() pisa.CreatePDF(src=html_doc, dest=out) out.seek(0)