iText, RTF e InputStream

3 respostas
C

Olá pessoal,

Alguém que já trabalhou com iText sabe como concaternar dois documentos RTF: um objeto do tipo Document e outro RTF representado como um InputStream. Eu sei que isso é possível com um FileInputStream, mas preciso usar um InputStream (e não dá para fazer com um simples cast). Com FileInputStream, o código é mais ou menos o seguinte:

Document doc = new Document();
ByteArrayOutputStream out = new ByteArrayOutputStream();
RtfWriter2 rtfWriter2 = RtfWriter2.getInstance(doc, out);
FileInputStream fis = new FileInputStream(new File("/home/henrik/testRTFdocument.rtf"));
doc.open();
rtfWriter2.importRtfDocument(fis);
doc.close();
rtfWriter2.close();

Existe alguma maneira para usar um InputStream? Outra saída seria obter o texto ASCII do documento RTF via iText. Como faço para realizar um merge entre dois objetos do tipo Document?

3 Respostas

_Renatu

Bom, segundo a API:

http://www.1t3xt.info/api/com/lowagie/text/rtf/RtfWriter2.html

existem outros métodos que recebem um InputStream sim. Mas vocÊ precisa passar mais parâmetros pra eles. Tente ver se você consegue eles, ou se eles podem ser nulos.

C

Já tentei o importRtfDocument(InputStream documentSource, EventListener[] events) e importRtfFragment(InputStream documentSource, RtfImportMappings mappings, EventListener[] events), passando null como parâmetro para RtfImportMappings e EventListener. Contudo, não funcionou. Não consegui encontrar nenhum bom exemplo utilizando esses métodos.

C

Quero obter o conteúdo texto do arquivo sem as formatações do rtf. Alguém sabe dizer?

Criado 5 de maio de 2008
Ultima resposta 7 de mai. de 2008
Respostas 3
Participantes 2