Hidayatmahar commited on
Commit
b47c5bd
·
verified ·
1 Parent(s): fac866c

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -0
app.py ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from reportlab.lib.pagesizes import letter
3
+ from reportlab.pdfgen import canvas
4
+ import io
5
+
6
+ # Function to create PDF with user inputs
7
+ def create_pdf(topic, session, name, roll_number, year):
8
+ buffer = io.BytesIO()
9
+ c = canvas.Canvas(buffer, pagesize=letter)
10
+
11
+ # Customizable content
12
+ c.drawString(100, 750, f"Topic: {topic}")
13
+ c.drawString(100, 730, f"Session: {session}")
14
+ c.drawString(100, 710, f"Name: {name}")
15
+ c.drawString(100, 690, f"Roll Number: {roll_number}")
16
+ c.drawString(100, 670, f"Year: {year}")
17
+
18
+ # Finalize PDF
19
+ c.save()
20
+ buffer.seek(0)
21
+ return buffer
22
+
23
+ # Streamlit interface
24
+ st.title("PDF Generator with Custom Variables")
25
+
26
+ # User inputs for PDF customization
27
+ topic = st.text_input("Enter Topic")
28
+ session = st.text_input("Enter Session")
29
+ name = st.text_input("Enter Name")
30
+ roll_number = st.text_input("Enter Roll Number")
31
+ year = st.text_input("Enter Year")
32
+
33
+ # Button to generate PDF
34
+ if st.button("Generate PDF"):
35
+ if all([topic, session, name, roll_number, year]):
36
+ pdf = create_pdf(topic, session, name, roll_number, year)
37
+ st.download_button(
38
+ label="Download PDF",
39
+ data=pdf,
40
+ file_name="custom_document.pdf",
41
+ mime="application/pdf"
42
+ )
43
+ else:
44
+ st.error("Please fill all fields before generating the PDF")