Skip to main content
ruthg84
Known Participant
July 15, 2017
Answered

Is there still no way to export the Table of Contents as a Word document or plain text in Captivate 2017?

  • July 15, 2017
  • 4 replies
  • 969 views

Just this. I'd really like to export, or even copy and paste the Table of Contents so that I don't have to write them all out by hand (10 modules with roughly 70 slides in each!!)

Any ideas for a quick way to do this?

I'm trying to create a searchable database of all the slide titles for my colleagues so that they can quickly look up what information is where in the training course.

    This topic has been closed for replies.
    Correct answer sdwarwick

    this is a bit of a trick, but should work:

    1) open each lesson in the "chrome" browser

    2) press the key "F12" to open the "debug" window

    3) use the mouse to move the cursor to a  ">" at the bottom of the screen

    4) copy and paste the following, all as one line:

    $("#toc .tocText nobr").each( function(i,e){ console.log(i,e.innerText)})

    hit enter, and by magic, the table of contents elements should be printed out on the screen, you can copy/paste them.

     

    this approach doesn't require re-publishing the course.    there are even more elegant approaches that could read all of the courses and extract this info, but require more sophisticated programming, beyond the scope of captivate.  

    as a proofreader, I bet that since I'm   not capitalizing in all the Right Places, and adding  extra   spaces every once in a while  is driving you crazy :-)    

    4 replies

    sdwarwickCorrect answer
    Participating Frequently
    July 16, 2017

    this is a bit of a trick, but should work:

    1) open each lesson in the "chrome" browser

    2) press the key "F12" to open the "debug" window

    3) use the mouse to move the cursor to a  ">" at the bottom of the screen

    4) copy and paste the following, all as one line:

    $("#toc .tocText nobr").each( function(i,e){ console.log(i,e.innerText)})

    hit enter, and by magic, the table of contents elements should be printed out on the screen, you can copy/paste them.

     

    this approach doesn't require re-publishing the course.    there are even more elegant approaches that could read all of the courses and extract this info, but require more sophisticated programming, beyond the scope of captivate.  

    as a proofreader, I bet that since I'm   not capitalizing in all the Right Places, and adding  extra   spaces every once in a while  is driving you crazy :-)    

    Participating Frequently
    July 16, 2017

    Very cool, Steve!

    Participating Frequently
    July 15, 2017

    I took a quick stab at this and have created a solution that works, though it takes a couple of steps. I hope others of you may find a quicker way, but this works and doesn't take long.

    • In the first slide of your Captivate file, set the On Enter action to Execute JavaScript and enter this in the JavaScript window:

    var titles = '';
    var title = '';
    window.cpAPIEventEmitter.addEventListener('CPAPI_SLIDEENTER',
         function() {
               titles = titles + 'Slide ' + window.cpAPIInterface.getVariableValue('cpInfoCurrentSlide') + ': ';
               title = window.cpAPIInterface.getVariableValue('cpInfoCurrentSlideLabel');
               if (title == '') { titles += '(No slide title)'} else {titles += title };
               titles += '';
               console.log(titles);
          }
    );

     

     

    • Make sure in your Skin Editor that your playbar is turned on and the Next button is available.
    • Publish your file (Preview won't work). I tried it in HTML5 but Flash should work too.
    • Launch your published file in the browser.
    • Turn on your Development Tools in your browser. In Chrome, you can do this by hitting Ctrl+Shift+I or going to the browser's options and turning it on there. 
    • In your Development Tools, go to the Console. Here you will see at least the first slide's title listed.
    • Use your Playbar Next button and go to each screen, quickly if you like, just as most learners do (haha). There is no need to wait for the slide to finish.
    • Each time you hit the Next button, you'll see in the Console the current slide title added. If a slide does not have a title, the words (No slide title) are added.
    • When you get to the last slide, copy the last console line and paste it into a text editor or into Word.
    • Find and replace each occurrence of @@ with a carriage return.
    • Now you have a complete list.

    Example: I tried this with a file I created in which there are six slides. After I got to the sixth slide after publishing, I copied this out of the Console window:

    Slide 1: Introduction@@Slide 2: Hello There@@Slide 3: (No slide title)@@Slide 4: Slide Four@@Slide 5: Test@@Slide 6: Summary@@

    I copied the line into a text editor (Word would work too) and after replacing all @@ with a carriage return, now have a nice list:

    Slide 1: Introduction
    Slide 2: Hello There
    Slide 3: (No slide title)
    Slide 4: Slide Four
    Slide 5: Test
    Slide 6: Summary

    I hope this helps anyone who needs to make a quick list of all slide titles.

    Lilybiri
    Legend
    July 15, 2017

    It is not possible to export the TOC. Did you have a look at the different File, Print options. Maybe Storyboard or Handouts? If you did create titles, levels in the TOC itself, they will not show up in those docs, but slide names will.

    Paul Wilson CTDP
    Community Expert
    Community Expert
    July 15, 2017

    You can export all the text and captions, including closed captions into a word document. It's not exactly what you are looking for but copying and pasting from that document it might be faster than typing it all out by hand.

    Click File > Export > Project Captions and Closed Captions

    Paul Wilson, CTDP