Conversão de Arquivos para PDF

E ae, pessoal! Blz!?

Já estou há alguns dias “varrendo” a net em busca de uma solução que atenda à necessidade do contexto da aplicação que estou desenvolvendo, mas confesso que está bem difícil!! O lance é o seguinte: temos um sistema em que o usuário pode fazer o upload de qualquer tipo de arquivo, sendo que vários outros usuários poderão acessar esse arquivo. A questão é que apenas o “dono” do arquivo pode ver o arquivo original: os demais usuários deverão ver apenas um pdf do mesmo.

Aí é que estou encontrando grandes dificuldades: se fosse apenas arquivos do MS Office, poderia utilizar o JODConverter ou mesmo um POI da vida (com iText não é possível, conforme consta no FAQ do projeto)… Mas pode ter arquivos textos, imagens e sei lá mais o que.

Alguém conhece alguma solução “genérica”? Seria possível implementar algo parecido com uma impressora virtual (como PDF Creator), “imprimir” em uma outputstream e jogar essa stream para um browser ou mesmo um arquivo físico? Ou alguma outra solução??

Desde já agradeço a atenção!!!

Acho difícil encontrar algo totalmente genérico. O que poderia ser enviado? Podemos pegar uma grande parte comum como DOC, XLS RTF TXT e imagens JPG,GIF,PNG,TIFF e BMP, isso cobriria a maioria dos casos?
Para os formatos M$ não existe muito problema, nem pro TXT. As imagens poderiam sim ser usadas com o iText e retornadas pro usuário, não?
Abraço

[quote=checkboy]Acho difícil encontrar algo totalmente genérico. O que poderia ser enviado? Podemos pegar uma grande parte comum como DOC, XLS RTF TXT e imagens JPG,GIF,PNG,TIFF e BMP, isso cobriria a maioria dos casos?
[/quote]
Olá! Parar os formatos M$ eu usaria o POI. E para os formatos imagem? Você diz que poderia utilizar o iText… como? Jogando-as em um HTML e renderizando? Ou tem outra forma mais “direta”?

Como seria no TXT?

Para as imagens vc pode seguir esses exemplos.
http://itextdocs.lowagie.com/tutorial/objects/images/index.php#top
Resumindo, vc obtém o arquivo, identifica que é uma imagem, cria o objeto da imagem e então a insere dentro do pdf.
Depois vc faz o que quiser com o doc, joga de volta no response ou salva, não sei…
Com o txt vc pode fazer a leitura do arquivo normal, fazer um método que leia as linhas do txt de adicione no pdf.
Dá uma pesquisada no que o iText pode e não pode fazer, no fim das contas ele deve suprir, se não toda, boa parte de suas necessidades.

Para os formatos M$, encontrei muito material dizendo que dá para fazer via POI, mas não encontrei ninguém que tivesse implementado de fato. Com o POI realmente dá pra recuperar o conteúdo do documento e jogar seja lá onde for, mas o problema é manter a formatação do documento original. Precisamos converter um documento para PDF (como uma impressora virtual), não simplesmente recuperar o conteúdo.

Alguém conhece uma implementação funcional desse tipo de conversão? Vi uma que utiliza o JODConverter, mas precisa ter o OpenOffice instalado, o que não é muito interessante.

Abraços