/ / Substituir texto por uma imagem docx4j - java, imagem, texto, substituir, docx4j

Substituir texto por uma imagem docx4j - java, image, text, replace, docx4j

Eu tenho um modelo de palavra. Há uma foto de palavra que deve ser substituída por uma imagem. Isso precisa ser feito com o Docx4Java.

Como eu faço isso?

Respostas:

1 para resposta № 1

Divulgação: eu gerencio o projeto docx4j

o VariableReplace código não lida com imagens.

A melhor maneira de fazer isso seria usar dadoscontroles de conteúdo vinculado, especificamente um controle de conteúdo de imagem apontando através do XPath para uma imagem codificada em base 64 em um documento XML (consulte Introdução para obter detalhes).

No entanto, se você quiser substituir uma palavra por uma imagem, poderá fazê-lo, mas precisará escrever um pouco de código de cola. É bem simples.

Primeiro, encontre a palavra. Você pode fazer isso usando XPath ou TraversalUtil (novamente, consulte Introdução para obter detalhes).

Esperemos que esteja em execução (w: r / w: t) por si só. Caso contrário, será necessário dividir a execução para não substituir o texto adjacente.

Em seguida, adicione a imagem. Veja a amostra ImageAdd.

Eu sugiro que você dê uma olhada no XML criado quandovocê adiciona uma imagem no Word (por exemplo, salve e descompacte o seu docx e, em seguida, consulte document.xml). Verifique se o XML que representa a imagem está no nível correto (por exemplo, filho de w: p).