Вставка текста в формате HTML в шаблон .docx

У меня есть несколько шаблонов .docx, в которые мне нужно вставить текст, сгенерированный скриптом php и отформатированный с помощью разметки HTML.

Я попытался использовать опцию манипуляции с шаблоном phpword, но вы не можете вводить полные блоки, вы можете только ввести неформатированное однострочное значение.

Существует решение для преобразования шаблона в HTML, вставки сгенерированного текста, а затем сохранения его обратно с помощью MIME-слова msword, но тогда он не будет полностью сохранять целостность верхних и нижних колонтитулов.

Следующим, что я нашел, является phpdocx, но 249 евро просто для использования функции embedHTML — это слишком много для меня.

Так что моей следующей идеей будет следующее:

1) вставить тег в шаблон слова: {{{tag}}}

2) загрузить файл шаблона .docx в мой скрипт php в виде потока XML.

3) создать документ .docx с phpword, содержащий мой сгенерированный текст между 2
теги {{{tag1}}} и {{{tag2}}}

4) загрузить документ, сгенерированный в 3), в виде потока XML и извлечь блоки между двумя тегами.

5) Вставьте блок, извлеченный в 4), чтобы заменить начальный {{{tag}}} в потоке XML, загруженном в 2)

Но я действительно не уверен, что это сработает, потому что я не совсем понимаю, как Word строит свой XML …

Является ли структура XML иерархической, чтобы эта идея замены блока другим, включая субблоки, могла работать?

0

Решение

Вы можете попробовать библиотеку pandoc в linux, которая предназначена именно для этой цели.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector