/ / Insertando una imagen en puntos específicos en un documento de Word con Docx4j y OpenDOPE usando Java - java, xml, docx4j, mailmerge

Insertar una imagen en puntos específicos en un documento de Word con Docx4j y OpenDOPE usando Java - java, xml, docx4j, mailmerge

Tengo 2 archivos - uno un documento de plantilla en elforma de un archivo de formato docx estándar de MS-Word, que está marcado con marcadores de control de contenido utilizando el complemento OpenDoPE para MS-Word desarrollado por Plutext. El segundo archivo es un archivo XML que contiene los datos. La fusión de los dos funciona perfectamente usando rutinas de DOCX4J. Todo bien hasta ahora. El problema es que el archivo XML solo contiene la ruta del archivo donde se encuentra la imagen. Por lo tanto, después de la combinación, el documento de Word contiene en lugar de los marcadores de control de contenido, una cadena que indica dónde está la imagen. ¿Cómo hago para obtener una imagen en el documento en lugar de las cadenas de ubicación de la imagen?

Un enfoque considerado sería reemplazar elLa ruta de la imagen dentro del archivo de datos XML con una codificación base64 de la imagen (no estoy seguro de cómo hacerlo, pero la documentación para OpenDoPE sugiere que debería funcionar). Otra opción parece ser encontrar las cadenas de ruta en el documento de Word ya fusionado y luego usar algo como la función BinaryPartAbstractImage de la biblioteca DOCX4J para insertar la imagen en su lugar. El problema con esto parece ser que cualquier operación de búsqueda y reemplazo en un documento OpenXML parece estar llena de dificultades.

Respuestas

0 para la respuesta № 1

En el momento de la creación, coloque la imagen codificada en base64 en algún elemento del archivo XML de muestra que usa junto con el complemento OpenDoPE "amigable".

Entonces, cuando se arrastra ese elemento en la superficie del documento, el complemento debe detectar que se trata de una imagen, y añadir la etiqueta correspondiente al control de contenido.

Si se hace eso, entonces, en tiempo de ejecución, se utilizará cualquier imagen codificada en base64 en su XML de tiempo de ejecución.