Pregunta

En mi aplicación web que estoy usando phplivedocx para el cambio de texto. Pero también necesito cambiar dinámicamente imágenes en mi plantilla docx. ¿Qué herramienta se recomienda?

Gracias de antemano.

¿Fue útil?

Solución

Encontrados la solución.

cita del foro phplivedocx: "He encontrado una manera de insertar una imagen dinámica en la plantilla docx antes de enviarlo a LiveDocx (lo que no hace el trabajo con plantillas alojados).

Esa es la manera de hacerlo (en PHP): - En primer lugar pongo una imagen por defecto en mi plantilla palabra local - Antes de generar el PDF, Considère el docx como si fuera un archivo zip (se puede extraer manualmente para confirmarlo), por lo que: - En este archivo reemplazar el archivo /word/media/image1.png la imagen de la dinámica (png plana con formato, no sé acerca de las limitaciones de formato) -. Cerrar el archivo

En este paso, si se abre la plantilla docx de palabra, usted será capaz de ver la imagen de la dinámica de la imagen predeterminada sustitución.

Después de eso, se puede procesar la solicitud a liveDocx.

Hay algunas limitaciones en este método y espero que la plancha de caldera MECANISMO llegará pronto a hacerlo de una manera mejor, pero en mi caso sólo funcionan como yo quiero. "

Este es el código de cómo cambiar la imagen en la plantilla docx en php:

$zip = new ZipArchive;
$zip->open('documents/template_tm.docx');
$zip->addFile('new_image.png', 'word/media/image1.png');
$zip->close();

Otros consejos

También es posible que más de una imagen. En el document.xml se encuentra la imagen con el nombre original. Vinculado a la imagen es una con un código de ambed. Este mismo código que se puede encontrar de nuevo en una relación en la _rels / document.xml.rels. El objetivo en esta Relaciones puntos para el número de imagen correcta

Si está interesado He creado extensión, que puede fácilmente hacer este trabajo - https: // github .com / igorrebega / docx-sustituto

Este código reemplazará el texto $ de búsqueda a la imagen que se encuentra en $ ruta en $ pathToDocx archivo

$docx = new IRebega\DocxReplacer($pathToDocx);

$docx->replaceTextToImage($search, $path);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top