certificate-generator

安装量: 40
排名: #18004

安装

npx skills add https://github.com/dkyazzentwatwa/chatgpt-skills --skill certificate-generator

Certificate Generator

Create professional certificates for courses, achievements, events, and awards. Supports batch generation from CSV files with customizable templates and branding.

Quick Start from scripts.certificate_gen import CertificateGenerator

Single certificate

cert = CertificateGenerator() cert.set_title("Certificate of Completion") cert.set_recipient("John Smith") cert.set_achievement("Python Programming Course") cert.set_date("December 14, 2024") cert.generate().save("certificate.pdf")

Batch from CSV

CertificateGenerator.batch_generate( "students.csv", template="achievement", title="Certificate of Completion", achievement="Data Science Bootcamp", output_dir="./certificates/" )

Features Professional Templates: Modern, classic, elegant, minimal styles Custom Branding: Logo, colors, signatures Batch Generation: Create hundreds of certificates from CSV Dynamic Fields: Name, date, achievement, instructor, etc. Signatures: Text or image signatures with titles Certificate IDs: Auto-generated unique identifiers Export: PDF output, landscape or portrait API Reference Initialization cert = CertificateGenerator()

With template

cert = CertificateGenerator(template="elegant")

Certificate Content

Title

cert.set_title("Certificate of Completion") cert.set_title("Certificate of Achievement")

Recipient name

cert.set_recipient("Jane Doe")

Achievement/course/event

cert.set_achievement("Advanced Python Programming") cert.set_achievement("for outstanding performance in the 2024 Hackathon")

Description (optional)

cert.set_description( "Has successfully completed the 40-hour intensive course " "covering advanced topics in Python programming." )

Date

cert.set_date("December 14, 2024") cert.set_date_auto() # Use today's date

Certificate ID (auto-generated if not set)

cert.set_certificate_id("CERT-2024-001")

Branding

Organization name

cert.set_organization("Acme Academy")

Logo

cert.set_logo("logo.png") cert.set_logo("logo.png", width=200)

Colors

cert.set_colors( primary="#1e3a5f", # Main color (title, borders) accent="#c9a227", # Accent color (decorations) text="#333333" # Text color )

Signatures

Text signature

cert.add_signature( name="Dr. Jane Smith", title="Program Director" )

Multiple signatures

cert.add_signature("John Doe", "CEO") cert.add_signature("Jane Smith", "Head of Training")

Image signature

cert.add_signature( name="Dr. Jane Smith", title="Program Director", signature_image="signature.png" )

Templates

Available templates

cert.set_template("modern") # Clean, contemporary design cert.set_template("classic") # Traditional, formal design cert.set_template("elegant") # Decorative borders, serif fonts cert.set_template("minimal") # Simple, clean design cert.set_template("academic") # University/school style

Orientation

cert.set_orientation("landscape") # Default cert.set_orientation("portrait")

Generation and Export

Generate certificate

cert.generate()

Save to PDF

cert.save("certificate.pdf")

Get PDF bytes

pdf_bytes = cert.to_bytes()

Batch Generation From CSV

CSV with recipient data

CertificateGenerator.batch_generate( csv_file="students.csv", template="achievement", title="Certificate of Completion", achievement="Python Fundamentals", organization="Code Academy", output_dir="./certificates/" )

CSV Format name,date,course,certificate_id John Smith,2024-12-14,Python 101,CERT-001 Jane Doe,2024-12-14,Python 101,CERT-002 Bob Johnson,2024-12-14,Python 101,CERT-003

Programmatic Batch recipients = [ {"name": "John Smith", "course": "Python 101"}, {"name": "Jane Doe", "course": "Data Science"}, {"name": "Bob Johnson", "course": "Machine Learning"} ]

for r in recipients: cert = CertificateGenerator(template="modern") cert.set_title("Certificate of Completion") cert.set_recipient(r["name"]) cert.set_achievement(r["course"]) cert.set_date_auto() cert.generate() cert.save(f"certificates/{r['name'].replace(' ', '_')}.pdf")

CLI Usage

Single certificate

python certificate_gen.py \ --recipient "John Smith" \ --title "Certificate of Completion" \ --achievement "Python Course" \ --output certificate.pdf

With options

python certificate_gen.py \ --recipient "Jane Doe" \ --title "Certificate of Achievement" \ --achievement "Excellence in Data Science" \ --organization "Data Academy" \ --template elegant \ --logo logo.png \ --output achievement.pdf

Batch from CSV

python certificate_gen.py \ --batch students.csv \ --title "Certificate of Completion" \ --achievement "Bootcamp Graduate" \ --template modern \ --output-dir ./certificates/

CLI Arguments Argument Description Default --recipient Recipient name Required --title Certificate title Certificate --achievement Achievement text - --description Description text - --organization Organization name - --date Certificate date Today --template Template style modern --logo Logo image path - --output Output PDF path certificate.pdf --batch CSV file for batch - --output-dir Output directory (batch) ./ Templates Modern

Clean, contemporary design with:

Sans-serif fonts Minimal decorations Bold color accents Professional look Classic

Traditional design with:

Serif fonts Formal layout Border decorations Timeless elegance Elegant

Decorative design with:

Ornate borders Script fonts for name Gold accents Premium feel Minimal

Simple design with:

Clean typography No decorations Lots of white space Modern simplicity Academic

University style with:

Seal/crest placement Formal typography Official appearance Traditional layout Examples Course Completion Certificate cert = CertificateGenerator(template="modern") cert.set_title("Certificate of Completion") cert.set_recipient("John Smith") cert.set_achievement("Full Stack Web Development") cert.set_description( "Has successfully completed the 12-week intensive program " "covering HTML, CSS, JavaScript, React, Node.js, and databases." ) cert.set_organization("Tech Academy") cert.set_logo("tech_academy_logo.png") cert.set_date("December 14, 2024") cert.add_signature("Sarah Johnson", "Program Director") cert.generate().save("completion_cert.pdf")

Achievement Award cert = CertificateGenerator(template="elegant") cert.set_title("Certificate of Achievement") cert.set_recipient("Jane Doe") cert.set_achievement("First Place - Annual Hackathon 2024") cert.set_organization("Innovation Labs") cert.set_colors(primary="#1a1a2e", accent="#d4af37") cert.add_signature("Michael Chen", "CEO") cert.add_signature("Emily Brown", "CTO") cert.generate().save("achievement_award.pdf")

Workshop Participation cert = CertificateGenerator(template="minimal") cert.set_title("Certificate of Participation") cert.set_recipient("Bob Wilson") cert.set_achievement("Machine Learning Workshop") cert.set_description("Attended the 2-day intensive workshop on Dec 12-13, 2024") cert.set_date_auto() cert.generate().save("workshop_cert.pdf")

Batch Employee Training

training_completed.csv

name,department,course

Alice,Engineering,Safety Training

Bob,Sales,Product Training

Carol,HR,Compliance Training

CertificateGenerator.batch_generate( csv_file="training_completed.csv", template="classic", title="Training Completion Certificate", organization="Acme Corp", logo="acme_logo.png", output_dir="./training_certs/", filename_pattern="{name}_{course}.pdf" )

Dependencies reportlab>=4.0.0 Pillow>=10.0.0

Limitations PDF output only (no PNG/image export) Pre-defined templates (no custom HTML/CSS) Maximum 3 signatures per certificate Logo should be PNG or JPEG English templates only (RTL languages not supported)

返回排行榜