phpdocx заменяет переменную заголовка шаблона, используя wordfragment не работает

я использую phpdocx для создания текстового документа.

я динамически менял заголовки в словах.
поэтому я хочу заменить переменную заголовка динамически.
На форуме phpdocx говорят, что это можно сделать с помощью метода WordFragment, но это не работает ..
http://www.zxcv.phpdocx.com/en/forum/default/topic/734

вот мой код, я поместил переменную $ TESTTT $ в заголовок

//path to  the CreateDocx class within your PHPDocX installation
require_once '../../../classes/CreateDocx.inc';

$docx = new CreateDocxFromTemplate('Doc.docx');

//create the Word fragment that is going to replace the variable
$wf = new WordFragment($docx, 'document');
$text='try to add head';

$wf->addText($text);

$docx->replaceVariableByWordFragment(array('TESTTT' => $wf), array('type' => 'block'));$docx->createDocx('tessst');

1

Решение

при создании из шаблона также необходимо добавить:

require_once ‘../../../classes/CreateDocxFromTemplate.inc’;

0

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

Вам действительно нужно использовать фрагмент Word?

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

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

0

В настоящее время phpdocx не поддерживает изменение переменных по wordfragment ни в заголовке, ни в нижнем колонтитуле.

0

Этот код работает со мной

$docx = new CreateDocxFromTemplate('docTemplate/HeaderTest.docx');
$docx->setTemplateSymbol('#');
$variables = array('VAR_NAME' => "SOME TEXT");
$options = array('target' => 'header');
$docx->replaceVariableByText($variables, $options);
0
По вопросам рекламы [email protected]