you describe rich text documents using xml/fo dialect, and then there are renderers that will render a decent approximation in rtf (which users think is a MS turd document), PDF (apache FOP project), or HTML.