Training Certificate Generator
A Python script that generates PDF training certificates for Helinks STS workshop participants. After generation, signature, date, and signer name are added via Zoho Sign.
Repository
https://heptapod.helinks.com/helinks/training-certificates
Setup
git clone https://heptapod.helinks.com/helinks/training-certificates.git
cd training-certificates
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Usage
Copy one of the template JSON files and add the participant names:
BASHcp basic_training_certificates.json certificates.jsonEdit
certificates.json— add the actual participant names:JSON{ "training": "Helinks STS Basic Training", "description": "IEC61850 Engineering Process, Substation Configuration Language (SCL), and Helinks STS — covering system specification, system integration, and library-based project engineering.", "participants": [ "José Luis Torres", "Walter Medina", "Jane Smith" ] }Generate the certificates:
BASHpython generate_certificates.py certificates.jsonPDFs are written to
./output/. Use-ofor a different directory:BASHpython generate_certificates.py certificates.json -o certs/Upload the generated PDFs to Zoho Sign to add signature, name, and date.
Available Templates
File | Training |
|---|---|
| Helinks STS Basic Training |
| Helinks STS Advanced Training |
Certificate Descriptions
Training | Description on Certificate |
|---|---|
Basic | IEC61850 Engineering Process, Substation Configuration Language (SCL), and Helinks STS — covering system specification, system integration, and library-based project engineering. |
Advanced | Advanced IEC61850 Engineering with Helinks STS — covering top-down specification, function modeling, templates, custom data models, and signal engineering. |
Dependencies
reportlab and svglib (see requirements.txt). The Helinks logo SVG (helinks_logo_paths.svg) must be in the same directory as the script.
Note: The working file certificates.json is in .gitignore — only the templates are tracked in the repository. Do not commit participant names.