Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
hospital_belved
New Contributor

Tratar dados RTF para texto simples

Olá pessoal!

Tenho um campo no banco Oracle que é do tipo LONG e salva o texto no formato RTF. Sendo assim, se busco no Qlikview, é complicado para o usuário conseguir ler, pois a formatação está codificada no texto.

Ex.:


{\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue128;}
\viewkind4\uc1\pard\cf1\lang1046\f0\fs20 Liberado valor para pagamento do dia 15/03.
\par }

Nesse exemplo seria visualizado assim:

Liberado valor para pagamento do dia 15/03.

Como tratar esse campo na tabela?

Tags (1)
1 Solution

Accepted Solutions
MVP
MVP

Re: Tratar dados RTF para texto simples

Wesley,

segue um exemplo.....talvez dar uma melhorada ainda.....

2017-03-13 22_57_55-QlikView x64 - [C__tmp_RTF to TXT.qvw].png

6 Replies
MVP
MVP

Re: Tratar dados RTF para texto simples

Wesley,

nativo não tem conversor de RTF para TXT pelo Qlik.  Daria para usar alguma ferramenta "command line" para chamar em tempo de carga e converte e ler novamente ou verificar se tem algum padrão no RTF que daria para usar o replace ou algum outro comando....

Teria como colocar uns 5 a 10 registros para ver o formato deles (para ver padrão)?

hospital_belved
New Contributor

Re: Tratar dados RTF para texto simples

Bom dia Alessandro!

Pelo que observei, não há padrão...

Segue alguns registros:

 

{\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue128;}
\viewkind4\uc1\pard\cf1\lang1046\f0\fs20 Liberado valor para pagamento do dia 15/03.
\par Valor produ\'e7\'e3o enviada 0 mil.
\par Valor previsto para recebimento R$ 0.
\par OBS: O valor da primeira quinzena \'e9 pago deduzindo 20% da produ\'e7\'e3o para posterior pagamento na segunda quinzena.
\par }
{\rtf1\fbidis\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}{\f1\fswiss\fprq2\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue128;}
\viewkind4\uc1\pard\ltrpar\cf1\lang1046\f0\fs20 NOTA FISCAL emitida e enviada.
\par \cf0\f1
\par \cf1\f0
\par }
{\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue128;}
\viewkind4\uc1\pard\cf1\lang1046\f0\fs20 A fatura encontra-se em an\'e1lise no site do conv\'eanio co previs\'e3o para libera\'e7\'e3o em 20/01.
\par NAO CONSTA PREVISAO PAGTO.
\par }
{\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue128;}
\viewkind4\uc1\pard\cf1\lang1046\f0\fs20 Informando o valor para emiss\'e3o da NF.
\par Nao consta previs\'e3o de pagamento ate o momento.
\par }
{\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue128;}
\viewkind4\uc1\pard\cf1\lang1046\f0\fs20 A fatura encontra-se em an\'e1lise no site do conv\'eanio.
\par NAO CONSTA PREVISAO PAGTO.
\par }
{\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue128;}
\viewkind4\uc1\pard\cf1\lang1046\f0\fs20 NOTA FISCAL EMITIDA.
\par Valor l\'edquido para pagamento, ainda sem data definida \'e9 de R$ 0.
\par }
MVP
MVP

Re: Tratar dados RTF para texto simples

Wesley,

segue um exemplo.....talvez dar uma melhorada ainda.....

2017-03-13 22_57_55-QlikView x64 - [C__tmp_RTF to TXT.qvw].png

hospital_belved
New Contributor

Re: Tratar dados RTF para texto simples

Boa tarde Alessandro,

Me desculpe se vou perguntar algo simples... ainda não consegui entender...

Tenho um qvw para gerar os qvd, e um qvw para a aplicação.

- Em qual arquivo faria as alterações?

- Teria que tratar o arquivo ou somente o campo que possui o texto RTF?

MVP
MVP

Re: Tratar dados RTF para texto simples

Podes tratar tanto na criação como na leitura dele......

Não sei como foi feito a sua extração.  Mas vamos imaginar que tenha uma leitura "bruta" da tabela do banco e salve um qvd depois uma leia e faca conversão/adequação/limpeza/regras de negócios e salve outro qvd ja pronto.....eu faria neste ultimo...

hospital_belved
New Contributor

Re: Tratar dados RTF para texto simples

Bom dia Alessandro!

Como não há padrão no texto, usei o MID para limpar do início até onde era comum. Como o usuário poderia usar parágrafo e caracteres especiais e caso isso ocorresse, o texto ficaria ilegível, orientei ao usuário para não usar parágrafo e nem caracteres especiais.

Obrigado pela ajuda!