Como para praticamente tudo em Java, existe um framework que faz exatamente esse trabalho, chama-se JODReports, open-source, que usa o Freemaker para fazer do documento do openoffice um template com tags especiais onde podemos adicionar informações via código.
Vamos começar com o Hello World. Abra o OpenOffice Writer e crie um documento com o texto:
Olá ${nome}!
E salve-o como helloworld.odt.
Agora vamos configurar o JODReports no Eclipse:
1) Crie um projeto Java de nome JODHello;
2) Copie o arquivo helloworld.odt para este diretório no seu workspace;
3) Crie uma pasta chamada lib;
4) A versão 2.4.0 do JOD Reports necessita dos seguintes jars:
net.sf.jodreports:jodreports:jar:2.4.0
- org.slf4j:slf4j-api:jar:1.6.1 (compile)
- commons-io:commons-io:jar:1.4 (compile)
- org.freemarker:freemarker:jar:2.3.16 (compile)
- xom:xom:jar:1.2.5 (compile)
- junit:junit:jar:3.8.2 (test)
- org.slf4j:slf4j-jdk14:jar:1.6.1 (test)
- org.slf4j:slf4j-api:jar:1.6.1 (test)
Retirados do site deles (http://jodreports.sourceforge.net/docs/dependencies.html)
No link para downloads (https://sourceforge.net/projects/jodreports/files/JODReports 2.4/2.4.0/) tem todos os jars necessários. O jodreports-cli.zip possui um jar chamado jodreports-cli-2.4.0-jar-with-dependencies.jar que, como o nome diz, possui todas as dependencias dentro, não necessitando das outras bibliotecas. Podemos usar este. Coloque o build path no seu eclipse.
5) Crie uma classe: HelloJod.java
public class HelloJod {
public static void main(String[] args) throws Exception {
DocumentTemplateFactory documentTemplateFactory = new DocumentTemplateFactory();
DocumentTemplate template = documentTemplateFactory.getTemplate(new File("helloworld.odt"));
Map model = new HashMap();
model.put("nome", "Mundo");
template.createDocument(model, new FileOutputStream("hello-gerado.odt"));
}
}
Agora é só rodar e pronto! Você gerou um documento novo chamado hello-gerado.odt com o texto "Olá Mundo!" dentro.
Ainda estou fazendo testes com o framework, logo colocarei mais posts.
Para saber mais: JODReports Guide
O projeto tem pouca documentação, e por isso está um pouco difícil fazer alguns exemplos funcionarem. Mas na medida que for descobrindo posto aqui!
Abraços!
1 comentários:
seguindo sua pagina.... follow back?
http://movimentodotogather.blogspot.com/
tank you!
Postar um comentário