OpenTBS / TinyButStrong не заменяет поля слияния в DOCX - PullRequest
1 голос
/ 25 февраля 2020

Я пытаюсь использовать библиотеку OpenTBS / TinyButStrong для замены полей слияния в текстовом документе.

Мы можем взять очень простой c документ документа, такой как:

Hello, My Name Is Bob, My Age Is <<BOBAGE>>

Который в слове имеет следующий код:

{MERGEFIELD BOBAGE\*MERGEFORMAT}

И мой код будет be basi c:

$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], который на самом деле не поле слияния слов! Это не то, что я ожидал, это довольно бесполезно.

Есть ли способ заменить действительные поля слияния слов?

1 Ответ

0 голосов
/ 26 февраля 2020

Инструкция ̀ $TBS->MergeField() предназначена для объединения полей TBS, а не полей Ms Word Mail.

В вашем шаблоне есть поля типа [my_field] или [my_block.my_field].

Таким образом, ваш фрагмент может работать, если у вас есть фрагмент текста в вашем шаблоне, такой как [BOBAGE].

Кстати, OpenTBS может объединять поля документа, если типом является поле IF, но не MERGEFIELD. Подробнее см. Документацию и примеры.

...