ConvertPDF / app.py
SuriRaja's picture
Update app.py
983f7ff verified
raw
history blame contribute delete
982 Bytes
import gradio as gr
import pandas as pd
from fpdf import FPDF
def excel_to_pdf(file):
# Load Excel file
df = pd.read_excel(file.name)
# Create PDF object
pdf = FPDF()
pdf.add_page()
# Add table headers
pdf.set_font("Arial", size=12)
col_width = pdf.w / (len(df.columns) + 1)
row_height = pdf.font_size
for col in df.columns:
pdf.cell(col_width, row_height, col, border=1)
pdf.ln(row_height)
# Add table rows
for row in df.itertuples(index=False):
for item in row:
pdf.cell(col_width, row_height, str(item), border=1)
pdf.ln(row_height)
# Save PDF to a file
output_pdf = "output.pdf"
pdf.output(output_pdf)
return output_pdf
# Gradio Interface
iface = gr.Interface(
fn=excel_to_pdf,
inputs=gr.File(label="Upload Excel File", type="filepath"),
outputs=gr.File(label="Download PDF File")
)
if __name__ == "__main__":
iface.launch()