Spaces:
Running
Running
Update pdf_generator.py
Browse files- pdf_generator.py +10 -5
pdf_generator.py
CHANGED
@@ -38,13 +38,13 @@ class SliderFlowable(Flowable):
|
|
38 |
drawing.add(String(0, 60, self.name, fontSize=12, fillColor=colors.HexColor("#26004d")))
|
39 |
|
40 |
# Add range labels
|
41 |
-
min_str = self.
|
42 |
-
max_str = self.
|
43 |
drawing.add(String(40, 35, min_str, fontSize=10, fillColor=colors.HexColor("#26004d")))
|
44 |
drawing.add(String(340, 35, max_str, fontSize=10, fillColor=colors.HexColor("#26004d")))
|
45 |
|
46 |
# Add value label
|
47 |
-
value_str = self.
|
48 |
drawing.add(String(value_width - 20, 60, value_str, fontSize=10, fillColor=colors.HexColor("#26004d")))
|
49 |
|
50 |
# Add value marker
|
@@ -52,14 +52,19 @@ class SliderFlowable(Flowable):
|
|
52 |
|
53 |
drawing.drawOn(self.canv, 0, 0)
|
54 |
|
55 |
-
def
|
56 |
if self.is_percentage:
|
57 |
-
return f"{value
|
58 |
elif self.is_integer:
|
59 |
return f"{int(value)}"
|
60 |
else:
|
61 |
return f"{value:.2f}"
|
62 |
|
|
|
|
|
|
|
|
|
|
|
63 |
def create_styles():
|
64 |
styles = getSampleStyleSheet()
|
65 |
styles['Title'].fontName = 'Helvetica-Bold'
|
|
|
38 |
drawing.add(String(0, 60, self.name, fontSize=12, fillColor=colors.HexColor("#26004d")))
|
39 |
|
40 |
# Add range labels
|
41 |
+
min_str = self.format_label(self.min_val)
|
42 |
+
max_str = self.format_label(self.max_val)
|
43 |
drawing.add(String(40, 35, min_str, fontSize=10, fillColor=colors.HexColor("#26004d")))
|
44 |
drawing.add(String(340, 35, max_str, fontSize=10, fillColor=colors.HexColor("#26004d")))
|
45 |
|
46 |
# Add value label
|
47 |
+
value_str = self.format_label(self.value)
|
48 |
drawing.add(String(value_width - 20, 60, value_str, fontSize=10, fillColor=colors.HexColor("#26004d")))
|
49 |
|
50 |
# Add value marker
|
|
|
52 |
|
53 |
drawing.drawOn(self.canv, 0, 0)
|
54 |
|
55 |
+
def format_label(self, value):
|
56 |
if self.is_percentage:
|
57 |
+
return f"{value}%"
|
58 |
elif self.is_integer:
|
59 |
return f"{int(value)}"
|
60 |
else:
|
61 |
return f"{value:.2f}"
|
62 |
|
63 |
+
def format_value(self, value):
|
64 |
+
if self.is_percentage:
|
65 |
+
return value / 100 # Convert percentage back to decimal for calculations
|
66 |
+
return value
|
67 |
+
|
68 |
def create_styles():
|
69 |
styles = getSampleStyleSheet()
|
70 |
styles['Title'].fontName = 'Helvetica-Bold'
|