2015-05-06 3 views
5

Я использую PHPWord для загрузки шаблона docx и замены тегов, например {test}. Это работает отлично.Преобразование HTML-кода в doc с использованием PHP и PHPWord

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

Я посмотрел htmltodocx. Но это швы тоже не будут работать, возможно ли преобразовать мир кода, например <p>Test<b>test</b><br>test</p>, в рабочую док-разметку? Мне нужен только базовый код, без стиля. но Linebreaks должны работать.

ответ

7

Вот ссылка на github. Он отлично работает Html-Docx-js.

И это демо также доступно here.

Другой вариант - это Link.

$toOpenXML = HTMLtoOpenXML::getInstance()->fromHTML("<p>te<b>s</b>t</p>"); 
    $templateProcessor->setValue('test', $toOpenXML); 
+0

Спасибо за ваш ответ, он работает хорошо, однако мне нужен только код моего крошечного значения mc. –

+0

Я могу обработать этот код документа дальше. –

+0

Что вы подразумеваете под этим? Если вы используете какой-либо код с бесплатной лицензией, вам просто нужно следовать за T & C этой лицензии. –

2

Спасибо за ваш ответ, Варун.

Простая библиотека PHP H2OXML работает для меня https://h2openxml.codeplex.com/

$toOpenXML = HTMLtoOpenXML::getInstance()->fromHTML("<p>te<b>s</b>t</p>"); 
$templateProcessor->setValue('test', $toOpenXML); 

теперь я могу конвертировать HTML-код, чтобы вставить его с помощью PHPWord.

3

Другие ответы предлагают H2OXML, который поддерживает только

  • полужирный, курсив и подчеркнутый текст

  • Bulled перечисляет

Как описано в их документации и их последнее обновление было в 2012.

Я провел некоторое исследование nd нашел довольно приятное решение:

$var = 'Some text'; 
$xml = "<w:p><w:r><w:rPr><w:strike/></w:rPr><w:t>". $var."</w:t></w:r></w:p>"; 

$templateProcessor->setValue('param_1', $xml); 

Приведенный выше пример показывает, как будет наносимый текст. Вместо «w: strike» вы можете использовать «w: i» для курсива или «w: b» жирным шрифтом и т. Д. Не уверен, работает ли он на всех тегах или нет.

Смежные вопросы