ho fatto così.
al metodo salva invece di passare una String passo direttamente StyledDocument.
e poi:
codice:
HTMLEditorKit kit = new HTMLEditorKit();
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(f));
kit.write(out, doc, doc.getStartPosition().getOffset(), doc.getLength());
out.flush();
out.close();
questo per il doc.
per il file txt rimango come prima xchè sennò dentro al file vedo tutti i tag html (in un txt i colori sono inutili).
ora sto mettendo a posto il pdf.
grazie per la dritta!