AI_Doctors / backend /pdf_utils.py
NandanData's picture
Upload 19 files
b171cab verified
from reportlab.lib.pagesizes import A4
from reportlab.pdfgen import canvas
from reportlab.lib.units import mm
def generate_pdf(path, title, soap, summary):
c=canvas.Canvas(path,pagesize=A4)
W,H=A4; x=20*mm; y=H-25*mm
def p(label,txt):
nonlocal y
c.setFont("Helvetica-Bold",12); c.drawString(x,y,label); y-=6*mm
c.setFont("Helvetica",10)
for line in txt.split("\n"):
c.drawString(x,y,line); y-=5*mm
y-=3*mm
p("Title",title)
p("Subjective",soap.get("subjective",""))
p("Objective",soap.get("objective",""))
p("Assessment","\n".join(soap.get("assessment",[])))
p("Plan","\n".join(soap.get("plan",[])))
p("Red Flags","\n".join(soap.get("red_flags",[])))
p("Summary",summary or "")
c.showPage(); c.save()