This commit is contained in:
gsinghpal
2026-02-23 00:32:20 -05:00
parent d6bac8e623
commit e8e554de95
549 changed files with 1330 additions and 124935 deletions

View File

@@ -109,13 +109,25 @@ class PDFTemplateFiller:
if field_type in ('text', 'date'):
c.setFont(font_name, font_size)
c.drawString(abs_x, abs_y, str(value))
text_val = str(value)
field_h = field.get('height', 0.018) * page_h
text_y = abs_y - field_h + (field_h - font_size) / 2
align = field.get('text_align', 'left')
if align == 'center':
center_x = abs_x + (field.get('width', 0.15) * page_w) / 2
c.drawCentredString(center_x, text_y, text_val)
elif align == 'right':
right_x = abs_x + field.get('width', 0.15) * page_w
c.drawRightString(right_x, text_y, text_val)
else:
c.drawString(abs_x, text_y, text_val)
elif field_type == 'checkbox':
if value: # Only draw if truthy
# Checkmark using ZapfDingbats (same as sign module)
if value:
c.setFont('ZapfDingbats', font_size)
c.drawString(abs_x, abs_y, '4') # checkmark character
cb_h = field.get('height', 0.018) * page_h
cb_y = abs_y - cb_h + (cb_h - font_size) / 2
c.drawString(abs_x, cb_y, '4')
elif field_type == 'signature':
sig_data = signatures.get(field_key)