2

我有一个 word 文档(模板),其中包含一些我必须用驱动器上存在的其他图像替换的图像。文档中存在的图像当前是空白的。那些将取代它们的人上面写着一些文字。一种方法是编辑每个文档,然后双击图像,我使用 Pbrush 编辑图像。其他方式如下。

我使用PHPWord来完成这项工作。打开文档并替换word/media.

问题:乍一看,图像已被替换。此外,如果我通过 zip/winrar 检查图像将被替换。但是当我双击文档中的图像时,我会在 PBrush 中看到旧的(空白)图像。我希望显示新编辑的图像。或者另一种方式来完成这项工作。

此功能在原始 PHPWord 中不存在,但发现它是完成这项工作的快速修复。(PhpWord/Template.php)

public function replaceImage($path,$imageName) {
    $this->_objZip->deleteName('word/media/'.$imageName);
    $this->_objZip->addFile($path,'word/media/'.$imageName);
}

我的代码:

$PHPWord = new PHPWord();
$document = $PHPWord[$i]->loadTemplate('ALL_FILES/Template.docx');
$document->replaceImage($oldImage, $newImage);
$document->save('ALL_FILES/genForms/updatedDoc.docx');

PS希望很清楚我想说什么。如果需要,我可以在某处上传测试文档,以防问题不清楚。

4

0 回答 0