Avatar of nachtmsk
Flag for United States of America asked on

automate keynote

I need to make several simple keynote presentations. One photo per slide, no text or anything else.
The thing is that each presentation is for several hundred photos. I don't want to have to drag over each photo manually.
Is there an API hook into keynote so I can do this programmatically, either through some scripting language or through automator?

Apple SoftwareSwift Programming

Avatar of undefined
Last Comment
Sigurdur Armannsson

8/22/2022 - Mon
Sigurdur Armannsson

Try this:

Open Keynote.
Go to: View and select Light Table. One slide should be apparent.
Drag your images directly into the gray area.

This should make one slide per image.

Thanks, That was very helpful.
I'm seeing limitations in keynote though. The original filenames are not listed under each slide and it's not easily possible to view them. I see I can do it through inspector, but it's cumbersome.
This was a cool way to create a fast slideshow though.

What would be really great is if I could have more control. Possibly be able to import an XML file to create a show from scratch. Anyone have any idea if this is possible. I've been searching around for a few hours but haven't found anything. I did see that Jobs said that Keynote was XML based, at least it was when it first came out. But I see no 'import xml' ability.
Sigurdur Armannsson

If you look for: https://www.google.com/search?client=safari&rls=en&q=apple+keynote+xml+format&ie=UTF-8&oe=UTF-8 you will find some interesting things about xml and keynote. Thanks for bringing this up.

I know next to nothing about xml I have however built the text side of a show using OmniOutliner which i save as .key in the end and open in Keynote and select a theme to use.

In your case you could choose a master page which has a text field and paste the captions one by one from a text file. Should be faster although probably not as automated as you would want.

I suggest you take a look at /Applications/Automator to see if it has something to offer.
Maybe renaming the pictures (adding a number in front) could be an idea. Then copy the pictures and pasting their names in to a text editor (not word, of course).
Then make one slide for each name to start with and have the pictures automatically imported in to next slide… just a thought.
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy
Sigurdur Armannsson

I couldn't resist taking a quick look at Automator and it seems to have a few useful things, both for importing into Keynote and renaming if you want to take that path.

Thanks, I will check out that link you posted.
I can't rename because of what I'm working.

I have about 400 photos, each is a headshot. Each filename is the number of each person (ID) in the headshot.  1000,1001,1002.
Then I have a group of images that are basically just numbered slides I create using javascript in photoshop.
So the first image is black with white lettering and it would just say "1000", the next would say "1001" and so on.
Each of these 'lettered' slides needs to go before each of the actual headshots.
So when the slide show is running, we first see the lettered slide (1000), then the next slide is the person's headshot who is number 1000.
I hope I'm clear. I've done shows with this setup before using a old program called  iviewmediapro. It was a great app, until Microsoft bought it. Now it's horrible. Anyway, I digress.
I'm looking for a new solution to creating my slide shows. I was hoping Keynote would work, and it might. But it seems very hard to get these shows created quickly. There is no text on any slide. Each person (headshot) has two slides. First slide is the lettered slide that shows the number of the person(id). Second slide is the actual headshot.

Anyway, I will keep trying.. thanks!
Sigurdur Armannsson

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question