/ / O Java POI pode gravar imagem em documento do Word? - java, ms-word, apache-poi

O Java POI pode gravar imagens em documentos do Word? - java, ms-word, apache-poi

Alguém sabe se é possível? E tem algum código de exemplo para isso? Ou qualquer outra API java que possa fazer isso?

Respostas:

1 para resposta № 1

O formato do Office 2007 é baseado em XML e, portanto, provavelmente pode ser gravado no uso de ferramentas XML. No entanto, existe esta biblioteca que afirma poder escrever documentos do Word no formato DocX.

A única outra alternativa é usar uma ponte Java-COM e COM para manipular palavras. Esta provavelmente não é uma boa idéia - eu sugeriria encontrar uma maneira mais simples.

Por exemplo, o Word pode ler facilmente documentos RTF e você pode gerar documentos .rtf no Java. Você não precisa usar o formato do Microsoft Word!


1 para resposta № 2

Como já foi dito, o POI não permitirá que vocêfazer algo realmente sofisticado - além disso, ele não suporta os formatos Office 2007 ou superior. Tratar o MS Word como um componente que fornece esse tipo de funcionalidade via COM é provavelmente a melhor abordagem aqui (a menos que você esteja executando em um sistema operacional não-Windows ou apenas não é possível garantir que o Word seja instalado na máquina).

Se você seguir a rota COM, recomendo que você verifique Projeto JACOB. Você precisa estar familiarizado com o COM (que tem uma curva de aprendizado muito íngreme), mas a biblioteca funciona muito bem e é mais fácil do que tentar fazê-lo no código nativo com um wrapper JNI.


1 para resposta № 3

Se você estiver usando o docx, tente o docx4j.

Veja o Amostra AddImage


1 para resposta № 4

Certamente:

Dê uma olhada neste: http://code.google.com/p/java2word

O Word 2004+ é baseado em XML. A estrutura acima obtém a imagem, converte na representação Base64 e a adiciona ao XML. Quando você abre seu documento do Word, haverá sua imagem.

Simples assim:

    IDocument myDoc = new Document2004();
myDoc.getBody().addEle("path/myImage.png"));

Java2Word é uma API para gerar documentos do Word usando obviamente código Java. O J2W cuida de toda a implementação e geração de XML nos bastidores.


0 para a resposta № 5

Tanto quanto se pode obter do site do projeto: não.


0 para a resposta № 6

O HWPF do POI pode extrair o texto de um documento do MS Worde faça modificações simples (basicamente excluindo e inserindo texto). AFAIK não pode fazer muito mais do que isso. Lembre-se também de que o HWPF funciona apenas com o formato mais antigo do MS Word (97), não com os mais recentes.


0 para resposta № 7

Não tenho certeza se o Java pronto para uso pode fazê-lo diretamente. Mas eu li sobre um componente que pode praticamente fazer qualquer coisa em termos de automatizar a geração de documentos do Word sem ter o Word. Aspose Words


0 para a resposta № 8

JasperReports usa essa API como alternativa ao POI, porque suporta imagens:
JExcelAPI

Ainda não experimentei e não sei como é bom / ruim.