phpdocx使用wordfragment替换模板头变量不起作用

时间:2014-09-30 09:03:21

标签: php phpdocx

我正在使用phpdocx来生成word文档。

我动态更改了单词中的标题。  所以我想dnamically替换标头变量。 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');

4 个答案:

答案 0 :(得分:0)

从模板创建时,您还需要添加:

require_once' ../../../ classes / CreateDocxFromTemplate.inc';

答案 1 :(得分:0)

你真的需要使用Word片段吗?

使用PHPDocx,您可以轻松替换文本变量和占位符图像,这在大多数情况下应该足够了。

如果不是这种情况,您可以使用导入页眉和页脚方法,或者使用add header方法替换整个内容。

答案 2 :(得分:0)

目前phpdocx不支持通过wordfragment更改变量(页眉或页脚)。

答案 3 :(得分:0)

此代码正在与我合作

$docx = new CreateDocxFromTemplate('docTemplate/HeaderTest.docx');
$docx->setTemplateSymbol('#');
$variables = array('VAR_NAME' => "SOME TEXT");
$options = array('target' => 'header');
$docx->replaceVariableByText($variables, $options);