Certificate of Completion
A landscape training/course completion certificate - fill it once, or batch-generate one PDF per student straight from a roster CSV.

Certificate of Completion
A classic landscape certificate - recipient name, course/program name, completion date, an issuing organization, and an instructor signature - suitable for training providers, workshops, schools, and associations.
What's included
- A decorative double border with a serif title and a script-font recipient name
- A gold starburst above the title and a navy/gold ribbon seal near the bottom, both real vector SVG artwork
- Optional organization logo and instructor signature images
roster.csv- a ready-to-run sample batch input (see below)
Examples for Authors
- CSV batch generation - this project is built specifically to demonstrate Yatate's batch feature: run
roster.csv(columns:recipient_name,course_name,completion_date- matchingform.json's own field ids exactly) through the app's Batch menu item (or the--batchCLI flag) to generate one certificate PDF per row in one pass, withdefaultsupplying the organization-level fields the CSV doesn't drive (issuing organization, instructor name/title). - Hand-authored SVG ornaments -
starburst.svg/seal.svgare plain vector artwork (a polygon star, circles, a couple of ribbon-tail polygons) referenced fromoverlay.jsonimage blocks exactly like a raster logo would be ("source": "assets:seal.svg") - rendered as real, crisp vector output, not rasterized. The root<svg>needs explicit numericwidth/heightattributes matching itsviewBox(not100%), which some vector-editor exports use by default and this app's SVG renderer doesn't handle. - Reformatting an engine-side date -
process.jsreformatscompletion_datewithformatDate()beforeoverlay()ever reads it, the same convention every other date-bearing project in this library uses. - A certificate look built mostly from
box/text/imageblocks - the ornamental border, rule lines, and underline are plainboxblocks; the elegant recipient-name treatment is just a script font (GreatVibes) at a larger size.
Customizing
Swap PTSerif/GreatVibes for any other bundled font family to change the tone (a sans-serif family reads more modern/corporate; a different script family changes the signature-style name treatment). Recolor starburst.svg/seal.svg's fill/stroke hex values to match a different palette, or remove either image block entirely. Add your own logo/signature images via the optional fields.