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

Bash
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

  1. Copy one of the template JSON files and add the participant names:

    Bash
    cp basic_training_certificates.json certificates.json
    
  2. Edit 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"
      ]
    }
    
  3. Generate the certificates:

    Bash
    python generate_certificates.py certificates.json
    

    PDFs are written to ./output/. Use -o for a different directory:

    Bash
    python generate_certificates.py certificates.json -o certs/
    
  4. Upload the generated PDFs to Zoho Sign to add signature, name, and date.

Available Templates

File

Training

basic_training_certificates.json

Helinks STS Basic Training

advanced_training_certificates.json

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.