When using a newer version of iWork software such as on Yosemite to open older documents and presentations, Pages reports "This document can’t be opened because it’s too old. To open it, save it with Pages ’09 first." and Keynote reports "This presentation can’t be opened because it’s too old. To open it, save it with Keynote ’09 first." How can I open these files without finding and installing an old version of iWork?
Edit: The latest update, version 6.6 (2550) (as of October 16, 2015) opens Keynote '06 and '08 version files. I verified this on a file from 2007 and it works properly.
Best Answer
This solution requires using Terminal. Do the following:
cd
(that's with a space after thecd
) then drag your file to the window. It should insert the full path of your file (e.g./Users/me/Documents/My\ Great\ File.pages
).gunzip --stdout index.apxl.gz | sed 's-:version="72007061400"-:version="92008102400"-g' > index.apxl
No such file or directory
), now typerm index.apxl.gz
and press Returnexit
and press Return and try to open your file. It may give you a compatibility problem report but should open.Explanation
The file
index.apxl.gz
is a compressed XML file that holds information about your document. The command in step 4 uncompresses the file and runs it through a search-and-replace program which looks for the version72007061400
and replaces it with the version92008102400
(I don't know what these versions mean but it appears to work). It outputs to an uncompressed version of the file, which is why in step 5 you remove the original, compressed file (iWork will used compressed or uncompressed files).Notes
If step 4 gives you a
No such file or directory
error, it's possible theindex.apxl
orindex.apxl
file is uncompressed, in which case you can replace the step 4 command withsed 's-:version="72007061400"-:version="92008102400"-g' index.apxl | gzip > index.apxl.gz
, and step 5 withrm index.apxl
.This solution could be adapted to an Automator action by someone motivated.
Source
This method is adapted from a comment on this Google+ post.