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.

161 Replies
Tracy Carroll

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

 

OWEN HOLT

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.

Andrew Williams

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...

Karin Amann

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?

 

Malcolm Reid

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

Bruce Roberts

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.

Bruce Roberts

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!

OWEN HOLT

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();