Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thiago M.

Ler conteudo arquivo RTF

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.