You certainly can generate the presentations on the client side, and for the very reason you mentioned, time consuming processes should always be done on the client if at all possible.
You may want to consider using javascript on the client to generate the file instead of an applet though, as an applet will require the user to have the java plugin installed on their system, and you would need a security certificate to sign the applet.
Javascript on the other hand would not require any special plugins, and would not require a security certificate, since you can generate the file data and dynamically create a link using a data URI for the user to download/launch the presentation