InsightForge-AI / pdf_report.py
HarshaX's picture
Upload 5 files
cf24096 verified
Raw
History Blame Contribute Delete
1.53 kB
from fpdf import FPDF
import datetime
class PDF(FPDF):
def header(self):
self.set_font('Arial', 'B', 12)
self.cell(0, 10, 'InsightForge AI - AutoML Report', border=False, ln=True, align='C')
self.ln(5)
def footer(self):
self.set_y(-15)
self.set_font('Arial', 'I', 8)
self.cell(0, 10, f'Page {self.page_no()}', align='C')
def chapter_title(self, title):
self.set_font('Arial', 'B', 12)
self.set_fill_color(200, 220, 255)
self.cell(0, 10, title, ln=True, fill=True)
self.ln(4)
def chapter_body(self, text):
self.set_font('Arial', '', 11)
self.multi_cell(0, 10, text)
self.ln()
def generate_pdf(raw_df, model_results, best_model_name, problem_type):
pdf = PDF()
pdf.add_page()
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
pdf.set_font('Arial', '', 12)
pdf.cell(0, 10, f"Generated on: {now}", ln=True)
pdf.ln(5)
pdf.chapter_title("πŸ“Š Dataset Preview")
preview = raw_df.head().to_string(index=False)
pdf.chapter_body(preview)
pdf.chapter_title("🎯 Problem Type")
pdf.chapter_body(f"This task was identified as a {problem_type.upper()} problem.")
pdf.chapter_title("πŸ“ˆ Model Comparison")
result_text = model_results.to_string(index=False)
pdf.chapter_body(result_text)
pdf.chapter_title("πŸ† Best Model")
pdf.chapter_body(f"The best-performing model was: {best_model_name}")
pdf.output("InsightForge_AI_Report.pdf")