好的,我正在使用PHPWord创建模板。然后使用函数setValue来替换文档中的不同字符串,这一切都正常,但我的文档上有封面,文本没有在此页面上替换?
有没有办法添加这个功能,实质上需要发生的是需要在与封面页面(标题和资产)(自定义xml文件夹?)对应的xml上运行的replace(setValue)。您可以通过在将文件扩展名更改为.zip
后解压缩.docx文件来查看这些内容https://github.com/PHPOffice/PHPWord/blob/master/src/PhpWord/Template.php
我当前是如何从模板化的.docx文件创建.docx的:
<?php
include_once 'Sample_Header.php';
// New Word document
echo date('H:i:s') , " Create new PhpWord object" , EOL;
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$document = $phpWord->loadTemplate('resources/Template_Proposal.docx');
$document->setValue('CONTACTNAME', 'John');
$document->setValue('BUSINESSNAME', 'JBS Marketing');
$document->setValue('WEBSITE', 'www.website.com.au');
$document->setValue('DATE', '07/07/2014');
$name = 'test-proposal.docx';
echo date('H:i:s'), " Write to Word2007 format", EOL;
$document->saveAs($name);
rename($name, "results/{$name}");
echo getEndingNotes(array('Word2007' => 'docx'));
if (!CLI) {
include_once 'Sample_Footer.php';
}