Print ANYTHING in StoryLine
Jul 10, 2017
By
OWEN HOLT
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.
206 Replies
Hi Owen,
I've tried this in Chrome, Firefox, and Edge, and I cannot get the Print Page tab to show up. When I click on David Anderson's Articulate Review example, I don't see the Print Page tab on the example.
I'm wondering if something has changed since this example was published? Is David's published example working for anyone? https://360.articulate.com/review/content/3ba1dd6a-db77-4452-bb4b-ca6cd211c83f/review
There is something strange going on with his published example. If you refresh the page and watch closely, you will see the Print Tab there for a brief moment. I wonder if something changed in SL 360 that might be causing this? Maybe a new bug?
It is still working fine for me in my published files using SL3.
Yes, I noticed that. The same thing happens to my SL 360 published version--a brief flicker of the Print Tab, then it disappears.
My work didn't spring for 360 so I am unable to troubleshoot that. The fact that it is a new/recent behavior tells me they changed something in the code. I would shoot support an email.
Thank you for the sample
great work
I works for me in firefox and chrome but it will not print in IE
any ideas
Still working for me in IE. Maybe a browser setting?
Since Articulate doesn't support Javascript, I'm not sure that would help.
I'm going to try other alternatives--if I can't figure out a solution, I'll give Articulate support a try.
Thanks, Owen!
Thank you for the share Owen!
My pleasure.
Has anyone had had issues with this method not working in Internet Explorer 11? Keep getting an error message when click the newly added print button. Not being able to print a slide/screen is the only thing holding us up here. Would be nice if a preconfigured button was rolled out...
I just tested it in edge, and while the page set up was a little weird, it printed fine.
I would look at this MS support thread and see if any of the suggestions work for you.
https://support.microsoft.com/en-us/help/973479/unable-to-print-or-view-the-print-preview-of-a-webpage-in-internet-exp
This works great, but is there a way to print a region of the screen (the slide only) vs the entire player?
What's odd is my player is blue, but when printing only the player buttons show as blue; the rest of the player has no color.
Hi Owen, thanks for this PRINT button - it's great! BUT I I have just realized following phenomenon:
Image 1: here you can see the PRINT button, when I go through the course.
When I am working on the slide and exit the course - then restart the course with the question "Would you like to resume where you left off" - clicking on YES - then the PRINT button is again at the top "Image 2)
I am using following JavaScript on this slide: $("#tab-customlink").show();
Do you have any idea, what went wrong on my side?
Hi Jeffery, I am trying this now and have problems printing from Edge. I would be grateful to know if you have any more details on the browser issues.
Best, Steve
Steve,
To be honest, I did not solve printing from Edge. I have told my clients to use either Firefox or Chrome and that has been working. It looks like from comments in the community the results of printing from Edge are mixed. Wish I had a better answer.
Jeffrey Riley
Thanks Jeffery, I just hate saying "you can print this slide but...." in a lesson.
Best, Steve
Hi Owen ... just looked at your tutorial on getting the print button to appear at the bottom of the screen... Great Job!! Two questions:
1. It appears that you would need to trigger the "Hide" script... $("#tab-customlink").hide(); ... on every screen except the one you want to print if you don't want the Player print option to appear on the other screens. Is that correct?
2. I also can not make it work in IE .... any ideas on what settings to check? Thank You!!
-Malcolm
Print is not working in IE 11.
I keep coming back to this again and again. Such a useful tip. Thanks Owen.
I have problems too with internet explorer.
I get the same error and I don't know what to do :( I'm trying to see if there is a way people can save their certificates in pdf or something like that rather than printing.
Hi Owen thanks for the great tip. I tried your example package. When published in SL3 as HTML5 with Flash fallback (and vice versa), I can see it working as a Flash version, but not as HTML5 in IE. No joy at all with Chrome as it does not work with HTML5 and the Flash version gives me a blank page.
To add to my challenges, "window.print()" works fine to run as Javascript, but stretches to fit, distorting the image. Any suggestions would be hugely helpful - thanks.
I am publishing both from SL3 and 360 with HTML5 and the print function is still working for me. I am primarily testing in chrome.
Hi Owen,
I've published your example to Articulate TempShare. It would be really useful to know if this works for you - if you could possibly spare the time?
If it doesn't , it's my SL3 installation mucking up your example.
If it does work for you, it's probably something like my browser settings.
(These links will work until 22/06/2018)
HTML5 version
http://s3.amazonaws.com/tempshare-stage.storyline.articulate.com/sto_1cfpjaeq21de21sbb12jh9br11po9/story_html5.html
Flash version:
http://s3.amazonaws.com/tempshare-stage.storyline.articulate.com/sto_1cfpjaeq21de21sbb12jh9br11po9/story_flash.html
Cheers!
It is working for me in Chrome and Edge.
There are a couple of added bits of JS functionality in the file that work in HTML5 but not flash. The 1st bit of code, finds the tab you added, moves it to the bottom of the player, and re-formats it to look like the other lower player buttons. The next code, hides the button. If you click the character, the button is revealed. If you click the text bubble, the button is hidden again.
Those extra bits aren't required, I was just teaching myself how to hack some of the html5 player elements. Really, all anyone needs to do to add the print functionality to any of their projects is the following:
1) Click Story View
2) Select Player
3) Under the Player Tabs list, click the "New" button
4) Add any name you want and choose your alignment. I typically call it "Print Window".
5) Select the action "Execute JavaScript and paste the following line of code:
window.print();