""" NRU Worksheet PDF — PDF generation using weasyprint. Extracted from nru_worksheet_generator.py for modularity. """ from typing import List, Dict, Tuple from nru_worksheet_html import generate_nru_worksheet_html async def generate_nru_pdf(entries: List[Dict], title: str = "Vokabeltest", include_solutions: bool = True) -> Tuple[bytes, bytes]: """ Generate NRU worksheet PDFs. Returns: Tuple of (worksheet_pdf_bytes, solution_pdf_bytes) """ from weasyprint import HTML # Generate worksheet HTML worksheet_html = generate_nru_worksheet_html(entries, title, show_solutions=False) worksheet_pdf = HTML(string=worksheet_html).write_pdf() # Generate solution HTML solution_pdf = None if include_solutions: solution_html = generate_nru_worksheet_html(entries, title, show_solutions=True) solution_pdf = HTML(string=solution_html).write_pdf() return worksheet_pdf, solution_pdf