Es gibt noch eine andere Möglichkeit: Du kannst z.B. von einem RPG-Programm aus ein RTF-Dokument generieren oder ein bereits vorhandenes RTF-Dokument einlesen, bestimmte Platzhalter mit deinen variablen Daten überschreiben und das Dokument dann unter einem neuen Namen wegschreiben. Einen Artikel zu diesem Thema von Scott Klement (mit dem Code für ein kleines Beispiel) habe ich für die NEWSolutions übersetzt. Ich glaube, er müßte im Dezember 2005 erschienen sein. Gute Links zu den RTF-Spezifikationen findet man in der Wikipedia.
Sicherheitshalber noch ein Hinweis: RTF (Rich Text Format) bitte nicht mit dem guten alten RFT verwechseln!