PhpWord-TemplateProcessor 不替换值

问题描述 投票:0回答:1

我正在尝试将一些内容替换为 docx 文件,但即使

saveAs
工作正常,我也没有在新文档中看到任何修改。 这是我的代码:

require 'vendor/autoload.php';

use PhpOffice\PhpWord\TemplateProcessor;
use Mpdf\Mpdf;

// Chemin du fichier Word d'origine
$inputDocx = 'Attestation_CLUE_modele V1 .docx';

// Chemin du fichier Word modifié
$outputDocx = 'Attestation_CLUE_modele V1MODA.docx';

// Instancier le TemplateProcessor
$templateProcessor = new TemplateProcessor($inputDocx);

// Remplacer le texte avec des guillemets français
$templateProcessor->setValues(['NOM', 'TEST DU NOM']);
var_dump($templateProcessor);
// Sauvegarder le document Word modifié
$templateProcessor->saveAs($outputDocx);

这是我想要替换的:

但是什么都没有改变,起初我尝试使用我想要更改的完整版本:

$templateProcessor->setValues(['«NOM»', 'TEST DU NOM']);

但是没有成功,即使没有可能导致一些编码问题(也许)的

«»
,也没有任何改变

php templates phpword phpoffice
1个回答
0
投票

使用

setValue
方法单独替换每个占位符

require 'vendor/autoload.php';

use PhpOffice\PhpWord\TemplateProcessor;

// Chemin du fichier Word d'origine
$inputDocx = 'Attestation_CLUE_modele V1 .docx';

// Chemin du fichier Word modifié
$outputDocx = 'Attestation_CLUE_modele V1MODA.docx';

// Instancier le TemplateProcessor
$templateProcessor = new TemplateProcessor($inputDocx);

// Remplacer le texte
$templateProcessor->setValue('NOM', 'TEST DU NOM');

// Sauvegarder le document Word modifié
$templateProcessor->saveAs($outputDocx);
© www.soinside.com 2019 - 2024. All rights reserved.