I wonder if I could do the work ahead of the time where I need to display it in the browser. Do it while the user is busy doing other things. Keep the result in Session. When the user finally clicks [show me my PDF], I would retrieve it from the session and display it right away.
I know I could do it using a file. But this file is only useful one time so instead of saving it, serving it, then deleting it, I thought it is better to not use a physical file at all.