A classe ParserDelegator junto com a interface HTMLEditorKit.ParserCallback do pacote ‘javax.swing.text.html’ permite o reajuste de um texto em HTML para um texto comum, ajustando todas as tags de acentuação e retirando todas as demais tags. Vamos criar uma classe que será responsável por isso, veja abaixo:
public class HtmlToText extends HTMLEditorKit.ParserCallback { private StringBuilder s; public HtmlToText() { } public String parse(String texto) throws Exception { byte[] dados = texto.getBytes(); ByteArrayInputStream bais = new ByteArrayInputStream(dados); Reader reader = new InputStreamReader(bais); return parse(reader); } public String parse(Reader in) throws IOException { s = new StringBuilder(); ParserDelegator delegator = new ParserDelegator(); delegator.parse(in, this, Boolean.TRUE); return getText(); } @Override public void handleText(char[] text, int pos) { s.append(text); s.append("\n"); } public String getText() { return s.toString(); } }
Para utilizarmos segue o exemplo: