Link to home
Start Free TrialLog in
Avatar of nachtmsk
nachtmskFlag 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?

Avatar of Sigurdur Armannsson
Sigurdur Armannsson
Flag of Iceland image

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.
Avatar of nachtmsk


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.
If you look for: 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.
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!
Avatar of Sigurdur Armannsson
Sigurdur Armannsson
Flag of Iceland image

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial