Print ANYTHING in StoryLine

By adding a new tab in the player properties panel and assigning it to execute the "window.print();" JavaScript, you can allow your participants to print any/every slide in your StoryLine projects including "Notes" or "Certificate" slides! No need to create a complex JavaScript course certificate solution, simply build a beautiful slide and let your users print it directly from the StoryLine player!

For SL 3 and 360 users, you can also move, reformat, hide, and reveal the button so you can take control over what users can print.

I've included the screen shots I used in the video in the attached Word document along with the JavaScript code snippets and an SL3 .story file.

197 Replies
Bruce Roberts

Hi Jacek,

If you want your learners only to see specific parts of your lesson, possibly the easiest way forward using standard functionality would be to publish your lesson in MS Word format, adjust the resulting document to suit your learner requirements and then embed that word document into your lesson behind a button as a PDF for learners to download and print at their leisure?

Matthew Bibby
Amanda Schuster

Has anyone tried to do the print screen and have it sent via email, without having the learner attach it to an email? I need to have the learner click one button and have the print screen attach to the email to send. 

That's not possible using this approach.

You'd need a third party service to handle sending the email (so it happens without user involvement and can send the attachment). And the PDF would need to be generated in a different way to accommodate this. 

Kristen Llobrera

Did anyone else have problems with the print function printing everything on the screen? The entire right side of the screen is missing. If I manually change my print settings to change to landscape and scale down the size, then it will show everything, but I can't assume that the users will figure that out on their own. There's also a HUGE left margin that takes up a lot of room.  I'm using the Modern player in 360, but seem to have the same problem if i switch the Classic player too. Same problem in both Chrome and IE. Any ideas?


I'm working on an "Introduction to JavaScript Programming for StoryLine Users" 1 day workshop. I haven't landed on a price yet but I am looking to determine how much interest there might be in the community for this.  I would love for users to have some understanding of what they are copying and pasting so they can trouble shoot the code for themselves when things go wrong or maybe even improve the code for the next person in the community. 

Jodi Sansone

Hi Owen,

I would be really interested if it you think it met the needs of someone like me.  I have no javascript experience and I rely on the Articulate forums to find solutions to my issues.  If I get in too deep I  try to find an acceptable "non-javascript" alternative.   I usually give it a try, and then take the "L".

Here's an example of something that has been bugging me that has a javascript solution that I can't make work.  It bugs me that you can't use one piece of music/audio across a whole story.  I have read all the forums about this topic and I can never get the javascript to work because I don't fundamentally know the rules of the game.  If you could solve that one problem for me I would be a happy woman for a very long time.  If you work independently contact me at and I'll buy a private tutorial.  Seriously.  


Because of the way the StoryLine "stage" sits in a page, there isn't a way that I know of to print all of the StoryLine pages.  If you need to do this, your best bet is to create a PDF file of your course and add it as a resource file that participants can access, save, and print.

onEnterFrame (James Kingsley)

There really are not any 'slides' until they are loaded into the player. And even if you did load them all... at what point in each slide's timeline would you want to print it? Often devs animate the content onto the slide so if you printed the slide at 0 seconds it might be blank. 

onEnterFrame (James Kingsley)

I have been working on a new method to print ONLY the slide for CoursePortfolios.  Give this a try and let me know what sort of success you have please?

var _0x6d8d=["\x68\x65\x6C\x70\x65\x72\x73\x2F\x73\x6C\x69\x64\x65\x54\x68\x75\x6D\x62","\x3C\x69\x66\x72\x61\x6D\x65\x20\x69\x64\x3D\x22\x67\x66\x6F\x72\x63\x65\x22\x20\x20\x77\x69\x64\x74\x68\x3D\x22\x37\x32\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x35\x34\x30\x22\x3E\x3C\x2F\x69\x66\x72\x61\x6D\x65\x3E","\x61\x70\x70\x65\x6E\x64","\x62\x6F\x64\x79","\x63\x6F\x6E\x74\x65\x6E\x74\x44\x6F\x63\x75\x6D\x65\x6E\x74","\x64\x6F\x63\x75\x6D\x65\x6E\x74","\x63\x6F\x6E\x74\x65\x6E\x74\x57\x69\x6E\x64\x6F\x77","\x68\x74\x6D\x6C","\x67\x65\x6E\x65\x72\x61\x74\x65","\x77\x72\x69\x74\x65","\x63\x6C\x6F\x73\x65","\x70\x72\x69\x6E\x74","\x67\x65\x74","\x23\x67\x66\x6F\x72\x63\x65","\x72\x65\x6D\x6F\x76\x65"];var kingsley=require(_0x6d8d[0]);var hldr=$(_0x6d8d[1]);$(_0x6d8d[3])[_0x6d8d[2]](hldr);var fd=hldr[0][_0x6d8d[4]]|| hldr[0][_0x6d8d[6]][_0x6d8d[5]];fd[_0x6d8d[9]](kingsley[_0x6d8d[8]]()[_0x6d8d[7]]);fd[_0x6d8d[10]]();setTimeout(function(){$(_0x6d8d[13])[_0x6d8d[12]](0)[_0x6d8d[6]][_0x6d8d[11]]();$(_0x6d8d[13])[_0x6d8d[14]]()},100)