Как динамически вставлять изображения в шаблон docx? - PullRequest
1 голос
/ 26 августа 2010

В моем веб-приложении я использую phplivedocx для изменения текста.Но мне также нужно динамически менять изображения в моем шаблоне docx.Какой инструмент вы рекомендуете?

Заранее спасибо.

Ответы [ 3 ]

5 голосов
/ 26 августа 2010

Нашел решение.

цитата с форума phplivedocx: «Я нашел способ вставить динамическое изображение в шаблон docx перед отправкой его в LiveDocx (чтобы он не работал с размещенными шаблонами).

Вот как я это делаю (в Php): - Сначала я добавляю изображение по умолчанию в свой локальный шаблон слов. - Прежде чем создавать PDF, рассмотрите docx, как если бы это был zip-архив (вы можете извлечь его вручную, чтобы подтвердить его).), поэтому: - В этом архиве замените файл /word/media/image1.png на динамическое изображение (форматированный плоский png, не знаете об ограничениях формата) - Закройте архив.

На этом шаге, если вы откроете шаблон docx в word, вы сможете увидеть динамическое изображение, заменяющее изображение по умолчанию.

После этого вы можете обработать запрос к liveDocx.

Есть некоторыеограничения в этом методе, и я надеюсь, что механизм Boilerplate скоро придет, чтобы сделать это лучше, но в моем случае он просто работает так, как я хочу. "

Вот код, как изменить изображение в docx tempпоздно в php:

$zip = new ZipArchive;
$zip->open('documents/template_tm.docx');
$zip->addFile('new_image.png', 'word/media/image1.png');
$zip->close();
0 голосов
/ 20 февраля 2018

Если вы заинтересованы, я создал расширение, которое может легко сделать эту работу - https://github.com/igorrebega/docx-replacer

Этот код заменит текст $ search на изображение, расположенное в $ path in $ pathToDocx file

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

$docx->replaceTextToImage($search, $path);
0 голосов
/ 03 февраля 2017

Это также возможно для более чем одного изображения.В document.xml вы можете найти изображение с оригинальным названием.С изображением связана ссылка с кодом.Этот же код вы можете найти в отношениях в _rels / document.xml.rels.Цель в этих отношениях указывает на правильный номер изображения

...