我正在尝试使用OpenTBS/TinyButStrong库来替换word文档中的合并域。
我们可以像这样获取一个非常基本的word文档:
Hello, My Name Is Bob, My Age Is <<BOBAGE>>它在word中有以下代码:
{MERGEFIELD BOBAGE\*MERGEFORMAT}我的代码将是基本的:
$TBS = new \clsTinyButStrong();
$TBS->PlugIn(TBS_INSTALL,OPENTBS_PLUGIN);
$TBS->LoadTemplate($path,OPENTBS_ALREADY_UTF8);
$TBS->MergeField('BOBAGE','TEST');
$TBS->Show(OPENTBS_FILE,$tmpPath . 'test.docx');当我打开test.docx时,合并字段没有被替换!
如果我使用bobage,这实际上不是一个单词合并域,它可以工作!这不是我期望它做的事情,那是非常无用的。
有没有办法替换实际的word合并字段?
发布于 2020-02-26 08:17:26
$TBS->MergeField()̀指令用于合并TBS字段,而不是Ms Word邮件合并字段。
TBS字段是指模板中类似于[my_field]或[my_block.my_field]的字段。
因此,如果您的模板中有一段文本,比如[BOBAGE],那么您的代码片段就可以工作。
顺便说一下,如果类型是if field,OpenTBS可以合并文档字段,但不能合并MERGEFIELD。有关更多详细信息,请参阅documentation和示例。
https://stackoverflow.com/questions/60390912
复制相似问题