views:

220

answers:

4

I wonder if it is possible to embed dynamic text into Keynote'09? I want to create a new presentation and run this presentation with different text messages (depending on the time of the day and day of the month).

+1  A: 

I'm not aware of any direct or easy method to achieve what you are asking for.

However, with AppleScript you can access and change at least the title and the body boxes of the slides. This should be done prior to the presentation.

If the 'dynamic' text is to appear in a text box, you could use some scripting to modify the presentation's XML directly. An older Keynote's XML schema should be reasonably well (but not wholly) documented in the iWork Programming Guide, but as the '09 file format is not backwards compatible I don't know how much that would help.

Jawa
+1  A: 

You could try using an encapsulated post script image file. Postscript is a real programming language. I don't know if Keynote will accept it (or if it will cache a bitmap), but Cocoa loads EPS, and Keynote is cocoa.

On Mac OS X, an EPS file gets evaluated when it is opened and converted to a PDF in memory. This process can take a really long time, like 30 seconds, if this is the first time you've tried to open an EPS file since logging in.

Ken
+2  A: 

You can insert formulas in tables. I don't have the english version of keynote open, so I can't tell you the exact names of the functions (guessing). You can do something like

=IF(MINUTE(NOW()) > 30; "> 30" ; "<= 30")

See the formula help. If you tell me what you want to achieve, I can give you further details.

Patrick
+1  A: 

Ah! Someone pointed out to me that you can embed Quartz Composer compositions into keynote. This is a good way to do it.

Ken