DynamicDocument is a project mainly written in Java, it's free.
Source code for building dynamic documents
Code for dealing and viewing dynamic documents