ABDALLAH31's picture
Create report.py
1722de8 verified
raw
history blame contribute delete
814 Bytes
from fpdf import FPDF
def sanitize_text(text):
# Replaces problematic characters with safe equivalents
return text.replace("●", "*").encode("latin-1", "replace").decode("latin-1")
def generate_pdf(results, overall_score, filename="ContractRiskReport.pdf"):
pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=12)
pdf.cell(200, 10, txt="Contract Risk Analysis Report", ln=True, align="C")
pdf.ln()
pdf.cell(200, 10, txt=f"Overall Risk Score: {overall_score:.2f}", ln=True)
for r in results:
pdf.set_text_color(255, 0, 0) if r['risk_level'] == "High" else pdf.set_text_color(0)
clause_text = sanitize_text(r['clause']) # 👈 sanitize here
pdf.multi_cell(0, 10, f"[{r['risk_level']}] {clause_text}")
pdf.output(filename)
return filename