Skip to content

Instantly share code, notes, and snippets.

@boillodmanuel
Last active September 19, 2025 09:28
Show Gist options
  • Select an option

  • Save boillodmanuel/1f4b94f0410081338a98935f13c557da to your computer and use it in GitHub Desktop.

Select an option

Save boillodmanuel/1f4b94f0410081338a98935f13c557da to your computer and use it in GitHub Desktop.
How to print full presenter notes without slides in Keynote - Answer to https://apple.stackexchange.com/questions/136118/how-to-print-full-presenter-notes-without-slides-in-keynote
global presenterNotes
tell application "Keynote"
activate
open (choose file)
tell front document
do shell script "rm -f ~/keynote-notes.txt"
set num to 0
repeat with aSlide in every slide
set num to num + 1
do shell script "echo '-- " & num & " --' >> ~/keynote-notes.txt"
set slideNote to presenter notes of aSlide as text
do shell script "echo '" & slideNote & "' >> ~/keynote-notes.txt"
do shell script "echo '' >> ~/keynote-notes.txt"
end repeat
end tell
quit application "Keynote"
end tell
@steve02476
Copy link

Hmmm, I was able to successfully run the script on stackexchange and it dumped the notes onto the clipboard. I just copied it into ScriptEditor and hit the "run" triangle button. But the script here gives errors when I try to run it the same way, ScriptEditor result is:

error "Keynote got an error: sh: line 4: Advisory: command not found
sh: line 6: Always: command not found
sh: line 8: Explain: command not found
sh: line 9: Current: command not found
sh: line 11: Apology: command not found
sh: line 12: The: command not found
sh: line 13: We: command not found
sh: line 14: This: command not found
sh: -c: line 15: unexpected EOF while looking for matching `''
sh: -c: line 16: syntax error: unexpected end of file" number 2

Maybe the tbrk comment is the solution - but I don't know how to make the change? Thanks!

@urschrei
Copy link

This will break if the speaker notes contain any single-quote characters ('). Here's a more robust version, tested with Keynote 14.4 (September 2025). It also creates a unique new file on each run, in case you want to review older / newer version of your notes:

tell application "Keynote"
    activate
    open (choose file)
    tell front document
        set timestamp to do shell script "date '+%Y%m%d-%H%M%S'"
        set outputFile to "~/keynote-notes-" & timestamp & ".txt"
        set num to 0
        repeat with aSlide in every slide
            set num to num + 1
            do shell script "echo '-- " & num & " --' >> " & outputFile
            set slideNote to presenter notes of aSlide as text
            set quotedNote to quoted form of slideNote
            do shell script "echo " & quotedNote & " >> " & outputFile
            do shell script "echo '' >> " & outputFile
        end repeat
        do shell script "echo 'Notes saved to: " & outputFile & "'"
    end tell
    quit application "Keynote"
end tell

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment