Is there any way to remove unused/old media from a Keynote project?

oxband

macrumors 6502
Original poster
Sep 10, 2009
298
2
I do these long presentations with Keynote, and I spend a lot of time choosing, rechoosing, and resizing files for it. By the time I'm done, my Keynote file is much larger than it needs to be cause it contains all these unused files or older versions of resized files.

Is there any way I can have Keynote delete all the data except for that which I'm using and have saved for my presentation?
 

neutrino23

macrumors 68000
Feb 14, 2003
1,699
203
SF Bay area
Agree with the above suggestion.

When creating a presentation I use Graphic Converter to resize images and change them to jpg if needed. Screen shots tend to be large the days. Photos from modern iPhones are huge. Keynote will resize them without rescaling them so you don’t notice how large they are.

I’m curious about what you mean by unused files. Do you have content that is behind other images so that it can’t be seen?

I haven’t tried it with Keynote. Maybe you could write a script that would catalog all of the images and videos on each slide. I’ve done that before with InDesign.
 

sracer

macrumors G3
Apr 9, 2010
8,351
8,703
Prescott Valley, AZ
I do these long presentations with Keynote, and I spend a lot of time choosing, rechoosing, and resizing files for it. By the time I'm done, my Keynote file is much larger than it needs to be cause it contains all these unused files or older versions of resized files.

Is there any way I can have Keynote delete all the data except for that which I'm using and have saved for my presentation?
Try this:
  1. Make a duplicate of the file.
  2. Rename the copy from: presentation.key to: presentation.zip
  3. right-click on the renamed file and select "Open" (this will create a folder with the same name)
  4. Open the folder and examine the "Data" folder contents to see if there are any extra copies of media files.
 

neutrino23

macrumors 68000
Feb 14, 2003
1,699
203
SF Bay area
I wrote a very simple AppleScript which is just a proof of concept.

You can expand it to loop through every slide and put out a little report with the number of audio clips, images and videos on each slide and their file names. I believe this only works if you drag in a file. If you copy paste a clipping of some sort there is no associated file name.

It doesn't seem to provide the full path to the file, just the file name.

It does show that Keynote has enough hooks for an AppleScript to extract the count and names of the media in a Keynote file which could help you find orphaned collateral.


tell application "Keynote"

tell document 1

set ix to count of images of slide 1 -- count of images on slide 1

set results to "" -- initialize results to a blank string

repeat with i from 1 to ix -- repeat with the number of images on the slide

set results to results & (file name of image i of slide 1) & return

end repeat
results -- show the results within the script editor
end tell

end tell