1. ReportLab: 2. WeasyPrint: 3. Jinja2: python from relatorio.templates.opendocument import Template def generate_report(data): template = Template(template_path) with open(output_path, "wb") as f: data = { } generate_report(data)