Thiago M. 0 Denunciar post Postado Agosto 12, 2009 Ola Pessoal Preciso ler o conteudo de um arquivo rtf (com suas devidas formatações), e inserir este texto em um componente (JTextArea , JTextPane) também aparecendo de maneira formatada. Alguem já fez isso ? Alguma idéia ? Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago M. 0 Denunciar post Postado Agosto 13, 2009 Consegui uma classe aki na Web, que consegue ler os arquivos RTF, entretanto a formatação ( negrito, tamanho de letra) é perdido. Não sei se isto se deve a classe ou ao componente JTextArea. Abaixo segue o código da classe RTFParser que faz a leitura do arquivo. public String getConteudo() { File f = new File(this.enderecoRecurso); FileInputStream is = null; try { is = new FileInputStream(f); } catch(IOException e) { System.out.println("ERRO: " + e.getMessage()); return null; } String bodyText = null; DefaultStyledDocument styledDoc = new DefaultStyledDocument(); try { new RTFEditorKit().read(is, styledDoc, 0); bodyText = styledDoc.getText(0, styledDoc.getLength()); } catch (IOException e) { return "ERRO: Impossível extrair o texto do Documento RTF. Excepção: " + e; } catch (BadLocationException e) { return "ERRO: Impossível extrair o texto do Documento RTF. Excepção: " + e; } return bodyText; } A classe onde os arquivos são utilizados tem a seguinte estrutura. public void carregaDados(String arq){ String linha = " "; RtfParser p = new RtfParser(); if(arq.equalsIgnoreCase("hist")){ p.setEnderecoRecurso("historico.rtf"); linha = p.getConteudo(); // System.out.println(linha); jTextArea1.setText(linha); jTextArea1.setCaretPosition(0); this.setTitle(" Histórico do SCAM "); // O codigo desta classe continua abaixo Alguém tem alguma idéia de como conservar a formatação do texto durante este processo ? Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
dmstecnologia 0 Denunciar post Postado Dezembro 9, 2010 Cara, provavelmente deve haver algum arquivo de estilo predefinido, que a maioria dos documentos de texto mantém, o que você pode fazer é na classe que você escaneia o documento ou faz sua leitura tentar armazenar o estilo (Arial, negrito, cor preta) ou classificação do texto (titulo, texto), para após ser efetuada a escrita do arquivo você criar uma classe formatacao que faz uma verificação destas propriedades e formata o texto de acordo com as mesmas, sendo assim você iria recriar o texto mantendo a formatação, para ser sincero nunca fiz isto, mas acredito que deva haver uma maneira. outra ideia!!! ao invés de fazer a leitura do arquivo e recriá-lo, faça uma cópia deste documento e remova as linhas ou adicione condicionalmente, assim você manterá a configuração e formatação do documento. bom, qualquer coisa só chamar Compartilhar este post Link para o post Compartilhar em outros sites