Six Ways to Generate a Certificate of Completion

Have you ever wanted to generate a certificate of completion at the end of a Storyline course?

Perhaps your workplace requires that these certificates get printed so they can be filed away? Or maybe you just want to reward learners for finishing the course?

While many LMS's can generate certificates for learners, if you need to build your own, you may find yourself unsure of where to start.

Rather than focusing on one way of generating a certificate, let's look at some of the great solutions that have been shared by others in the past.

This way, you'll be able to pick the solution that works best for you.

See here for more details.

 

24 Replies
Matthew Bibby

Thanks Vickie.

There is nothing in that project that will print the certificate. The only JavaScript you've included is that which generates the date.

You can add window.print(); to the bottom of your JavaScript which will result in it being printed, however, this happens when the certificate first loads so, unfortunately, it doesn't allow for the user to enter their name. 

Here is a demo.

And here is the javaScript used:

var m_names = new Array("January", "February", "March",
"April", "May", "June", "July", "August", "September",
"October", "November", "December");
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth();
var yyyy = today.getFullYear();
if(dd<10) { dd='0'+dd}
var date= dd+' '+m_names[mm]+', '+yyyy;
var player = GetPlayer();
player.SetVar("SystemDate",date);
window.print();
Vickie Sublette

oh cool! That would be perfect. Your demo is great!

What if I added a previous section where they entered their name? Could I do that in Storyline? However, I'm thinking that the variable wouldn't carry over from one Storyline page to another, though, because you can only add one Storyline page at a time, right?

Thank you for your help!

 

Matthew Bibby

Or you could just add a button to the Storyline slide that says "Print". That way, people can add their name, then hit that.

So this JavaScript would run when the timeline starts (to generate the date):

var m_names = new Array("January", "February", "March",
"April", "May", "June", "July", "August", "September",
"October", "November", "December");
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth();
var yyyy = today.getFullYear();
if(dd<10) { dd='0'+dd}
var date= dd+' '+m_names[mm]+', '+yyyy;
var player = GetPlayer();
player.SetVar("SystemDate",date);

Then this JavaScript would run when the Print button is pressed:

window.print();