Como Exibir Rich Text de uma tabela do BD no ASP NET, com a devida formatação?

.NET

04/12/2012

Olá,

Estou precisando desenvolver uma página Web em ASP .NET que leia o conteúdo de um campo de uma tabela de banco Oracle, que está armazenado como Rich Text (RTF).

O problema é que não consigo mostrar o conteúdo do campo com as devidas formatações de fontes, no ASP NET. Só consigo mostrar o conteúdo do campo, mas com todas as tags do RTF.

No C# com o RichTextBox vai normal.

Já pesquisei na Web e ainda não achei uma solução para isto, somente para converter arquivos. Já testei o FreeTextBox, mas não funciona, mostrando também todo o conteúdo com as Tags.

Alguém consegue me ajudar?

Agradeço antecipadamente!
Gustavo Diehl

Gustavo Diehl

Curtidas 0

Respostas

André Moes

André Moes

04/12/2012

Olá,

Estou precisando desenvolver uma página Web em ASP .NET que leia o conteúdo de um campo de uma tabela de banco Oracle, que está armazenado como Rich Text (RTF).

O problema é que não consigo mostrar o conteúdo do campo com as devidas formatações de fontes, no ASP NET. Só consigo mostrar o conteúdo do campo, mas com todas as tags do RTF.

No C# com o RichTextBox vai normal.

Já pesquisei na Web e ainda não achei uma solução para isto, somente para converter arquivos. Já testei o FreeTextBox, mas não funciona, mostrando também todo o conteúdo com as Tags.

Alguém consegue me ajudar?

Agradeço antecipadamente!


Olá Gustavo,

me desculpe mas não entendi o que vc deseja.

Aonde vc quer jogar esse conteúdo na página?
Em uma GridView, DataGrid?

Teria como postar o código para visualiza-lo e ter uma ideia melhor?

Abraço
GOSTEI 0
Robson Alves

Robson Alves

04/12/2012

Veja esse:

[url]http://ckeditor.com/demo[/url]

Eu já usei o TinyMCE mas ele converte HTML, se você for capaz de converter as tags do RTF para HTML puro, ele é uma ótima opção.
GOSTEI 0
Robson Alves

Robson Alves

04/12/2012

Esqueci o site do TinyMCE :
[url]http://www.tinymce.com/[/url]
GOSTEI 0
Gustavo Diehl

Gustavo Diehl

04/12/2012

Boa tarde.

Robson, agradeço o retorno, porém não tenho (ou não sei) como transformar em HTML.

O texto é bem complexo e tem fontes muito diferentes do normal, com grafias de engenharia.

Valeu mesmo.

GOSTEI 0
Gustavo Diehl

Gustavo Diehl

04/12/2012

André,

Boa tarde.

Agradeço o interesse na ajuda. Na verdade o código é muito simples.

Eu gostaria de preencher uma Gridview e ao selecionar a linha em questão o contéudo do campo que armazena o texto RTF seria exibido na devida formatação.

No C#, onde está funcionando perfeito, eu fiz assim:
private void dgRI_CellEnter(object sender, DataGridViewCellEventArgs e)
{

rtfEspecificado.Rtf = dgRI.Rows[e.RowIndex].Cells[18].Value.ToString();
}

O problema é que não consigo um componente assim para o ASP. NET. O texto RTF fica armazenado em um campo Varchar2 de uma tabela Oracle, e é inserido pelo sistema ERP.

Olha o exemplo de um campo preenchido:
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 GDT;}{\f1\fnil\fcharset0 MS Serif;}{\f2\fnil MS Sans Serif;}}
\viewkind4\uc1\pard\lang1046\f0\fs18 |d|\f1\fs16 0,4\f0\fs18 |\f1\fs16 A\f0\fs18 |\f1\fs16 F\f0\fs18 |\f2\fs16
\par }

Pra C#, VB e Delphi é facil, mas pra ASP. NET tá difícil achar uma solução...

Será que tem alguma outra maneira?



GOSTEI 0
Robson Alves

Robson Alves

04/12/2012

Você tentou o ckEditor?

pelo que li, ele é o mais indicado... só não sei quanto a ser Free.
GOSTEI 0
Gustavo Diehl

Gustavo Diehl

04/12/2012

Eu até pesquisei ele, mas pelo que vi ele não aceita as fontes diferentes que utilizamos.

Mas baixei ele e vou testar. Na segunda eu aviso se deu certo.

Vlw
GOSTEI 0
André Moes

André Moes

04/12/2012

André,

Boa tarde.

Agradeço o interesse na ajuda. Na verdade o código é muito simples.

Eu gostaria de preencher uma Gridview e ao selecionar a linha em questão o contéudo do campo que armazena o texto RTF seria exibido na devida formatação.

No C#, onde está funcionando perfeito, eu fiz assim:
private void dgRI_CellEnter(object sender, DataGridViewCellEventArgs e)
{

rtfEspecificado.Rtf = dgRI.Rows[e.RowIndex].Cells[18].Value.ToString();
}

O problema é que não consigo um componente assim para o ASP. NET. O texto RTF fica armazenado em um campo Varchar2 de uma tabela Oracle, e é inserido pelo sistema ERP.

Olha o exemplo de um campo preenchido:
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 GDT;}{\f1\fnil\fcharset0 MS Serif;}{\f2\fnil MS Sans Serif;}}
\viewkind4\uc1\pard\lang1046\f0\fs18 |d|\f1\fs16 0,4\f0\fs18 |\f1\fs16 A\f0\fs18 |\f1\fs16 F\f0\fs18 |\f2\fs16
\par }

Pra C#, VB e Delphi é facil, mas pra ASP. NET tá difícil achar uma solução...

Será que tem alguma outra maneira?





Agora consegui compreender melhor!

Você fez no código C# com uma datagrid, correto?

Desta DataGrid, selecionando uma linha você consegue pegar o conteúdo RTF,
mas aonde exatamente é jogado esse conteúdo, fizesse em Windows Forms isso?

E o que seria isso: rtfEspecificado.Rtf ?
GOSTEI 0
Gustavo Diehl

Gustavo Diehl

04/12/2012

Olá André.

Sim, é uma DataGridView.

o rtfEspecificado é o nome que dei para o componente RichTextBox que utilizei e .rtf é a função deste componente que carrega o texto na formatação RTF e converte ele, mostrando em tela somente o resultado.

No caso o tipo de texto é aquele exemplo que dei.

Eu fiz em C#, mas preciso que seja em ASP .NET.

Abs
GOSTEI 0
Gustavo Diehl

Gustavo Diehl

04/12/2012

Robson,

Boa tarde.

Testei o CKEditor, mas também não deu certo.

Ele serve pra montar um editor na página, mas não para traduzir o texto em RTF. Nem tem função para isto.

Mesmo assim, agradeço a ajuda.

Vlw
GOSTEI 0
Rodney Oliveira

Rodney Oliveira

04/12/2012

Amigo,

Você conseguiu resolver essa questão? Como fez?
GOSTEI 0
Gustavo Diehl

Gustavo Diehl

04/12/2012

Olá Rodney,

Infelizmente não consegui cara.

Não há componente disponível até onde pesquisei que suporte fontes diferenciadas para um mesmo campo no Asp. Net.

Os richedit´s disponíveis só trabalham com 6 ou 8 fontes, das normais como Arial, Times, etc.

Tive que mudar meu projeto e implementar em C# em uma aplicação Windows.

Vlw
GOSTEI 0
POSTAR