Untitled

 avatar
unknown
plain_text
a year ago
1.5 kB
15
Indexable
from reportlab.lib.pagesizes import landscape, A4 from reportlab.lib.units import inch from reportlab.pdfgen import canvas from reportlab.lib import colors

def create_certificate(name: str, title: str, filename: str = "certificate.pdf") -> None: """ Generates a PDF certificate with given name and title. """ # Setup canvas c = canvas.Canvas(filename, pagesize=landscape(A4)) width, height = landscape(A4)

# Draw border
margin = 30
c.setStrokeColor(colors.darkblue)
c.setLineWidth(6)
c.rect(margin, margin, width - 2 * margin, height - 2 * margin)

# Heading
c.setFont("Times-Bold", 36)
c.setFillColor(colors.darkblue)
c.drawCentredString(width / 2, height - 120, "Certificate of Achievement")

# Subheading
c.setFont("Helvetica", 18)
c.setFillColor(colors.black)
c.drawCentredString(width / 2, height - 180, "This certificate is proudly presented to")

# Recipient Name
c.setFont("Times-BoldItalic", 32)
c.setFillColor(colors.red)
c.drawCentredString(width / 2, height - 250, name)

# Title/Role
c.setFont("Helvetica-Oblique", 20)
c.setFillColor(colors.black)
c.drawCentredString(width / 2, height - 300, f"For outstanding performance as a {title}")

# Footer
c.setFont("Helvetica", 14)
c.drawString(100, 100, "Authorized Signature: __________________________")
c.drawRightString(width - 100, 100, "Date: __________________")

# Save file
c.save()
print(f"Certificate saved as {filename}")

if name == "main": create_certificate("Mohammed Adnan", "Digital Marketing Specialist")

Editor is loading...
Leave a Comment