Why don't you use QTextDocument::print()?