prasad799596 commited on
Commit
ea13b05
·
verified ·
1 Parent(s): 5090a10

Create pdf_generator.py

Browse files
Files changed (1) hide show
  1. pdf_generator.py +75 -0
pdf_generator.py ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from reportlab.lib.pagesizes import letter
2
+ from reportlab.platypus import (
3
+ SimpleDocTemplate,
4
+ Paragraph,
5
+ Spacer,
6
+ )
7
+ from reportlab.lib.styles import getSampleStyleSheet
8
+ from io import BytesIO
9
+
10
+
11
+ def generate_pdf(user_data, roi_data, synopsis):
12
+
13
+ buffer = BytesIO()
14
+
15
+ doc = SimpleDocTemplate(
16
+ buffer,
17
+ pagesize=letter,
18
+ )
19
+
20
+ styles = getSampleStyleSheet()
21
+
22
+ elements = []
23
+
24
+ title = Paragraph(
25
+ "<b>AI ROI Savings Report</b>",
26
+ styles['Title']
27
+ )
28
+
29
+ elements.append(title)
30
+ elements.append(Spacer(1, 20))
31
+
32
+ user_heading = Paragraph(
33
+ "<b>User Details</b>",
34
+ styles['Heading2']
35
+ )
36
+
37
+ elements.append(user_heading)
38
+
39
+ for key, value in user_data.items():
40
+ text = Paragraph(f"<b>{key}:</b> {value}", styles['BodyText'])
41
+ elements.append(text)
42
+
43
+ elements.append(Spacer(1, 20))
44
+
45
+ roi_heading = Paragraph(
46
+ "<b>ROI Calculation Results</b>",
47
+ styles['Heading2']
48
+ )
49
+
50
+ elements.append(roi_heading)
51
+
52
+ for key, value in roi_data.items():
53
+ text = Paragraph(f"<b>{key}:</b> INR {value}", styles['BodyText'])
54
+ elements.append(text)
55
+
56
+ elements.append(Spacer(1, 20))
57
+
58
+ synopsis_heading = Paragraph(
59
+ "<b>Project Synopsis</b>",
60
+ styles['Heading2']
61
+ )
62
+
63
+ elements.append(synopsis_heading)
64
+
65
+ synopsis_text = Paragraph(synopsis, styles['BodyText'])
66
+
67
+ elements.append(synopsis_text)
68
+
69
+ doc.build(elements)
70
+
71
+ pdf = buffer.getvalue()
72
+
73
+ buffer.close()
74
+
75
+ return pdf