2 changed files with 72 additions and 2 deletions
@ -0,0 +1,70 @@ |
|||
#!/usr/bin/env python3 |
|||
# -*- coding: utf-8 -*- |
|||
|
|||
import sys |
|||
import traceback |
|||
from Reader import * |
|||
|
|||
# Copyright by JK 2018 |
|||
# License: MIT |
|||
# https://www.reportlab.com/docs/reportlab-userguide.pdf |
|||
|
|||
if len(sys.argv) > 1: |
|||
event = sys.argv[1] |
|||
else: |
|||
event = "Use ARG1 as event" |
|||
|
|||
if len(sys.argv) > 2: |
|||
attendeesFile = sys.argv[2] |
|||
else: |
|||
attendeesFile = "attendees.txt" |
|||
|
|||
print("This script generates a template for the Avery L4785 form") |
|||
|
|||
data = loadData(attendeesFile) |
|||
|
|||
doc = PDFDoc("badges-A4", 21, 29.7) |
|||
c = 0 |
|||
printerCorrection = 0.2 |
|||
|
|||
for p in data: |
|||
try: |
|||
# check for image |
|||
if c % 10 == 0: |
|||
offset_x = 1.97 - printerCorrection |
|||
elif c % 10 == 5: |
|||
offset_x = 8 + 1.97 + 1.5 - printerCorrection |
|||
|
|||
if c % 5 == 0: |
|||
offset_y = 1.35 |
|||
else: |
|||
offset_y += 5.5 |
|||
|
|||
img = doc.subImage(offset_x, offset_y , 8, 5) |
|||
img.addImg("../assets/background2", 0, 0, 0.7) |
|||
|
|||
img.addImg("../assets/reading-logo", 0.1, 0.8, 0.1) |
|||
img.addKeyVal("Department of", 0.37, 0.87, size=0.035, color=(0,0.2,0), font="Helvetica") |
|||
img.addKeyVal("Computer Science", 0.37, 0.81, size=0.05, color=(0,0.2,0), font="Helvetica") |
|||
#img.addImg("logo", 0.7, 0.8, 0.1) |
|||
|
|||
#img.drawRectBorder(0, 0, 1, 1) |
|||
size = 0.2 |
|||
if len(p[0]) > 12: |
|||
size = 0.2 * 12 / len(p[0]) |
|||
|
|||
img.addKeyValCenter(p[0], 0.5, 0.5, size=size, font="Helvetica") |
|||
img.addKeyValCenter(p[1], 0.5, 0.37, size=0.07, font="Helvetica-Oblique") |
|||
|
|||
img.addKeyValCenter(event, 0.5, 0.2, size=0.07, font="Helvetica-Oblique") |
|||
|
|||
if c % 10 == 9: |
|||
doc.newpage() |
|||
c+=1 |
|||
except: |
|||
print("Unexpected error when processing %s" %(p)) |
|||
traceback.print_exc() |
|||
|
|||
doc.save() |
|||
|
|||
print("In printing dialog set the defaults for scaling but use the manual feed!") |
Loading…
Reference in new issue