2

ドライブに存在する他の画像と置き換える必要があるいくつかの画像を含む単語文書 (テンプレート) があります。ドキュメントに存在する画像は現在空白です。そして、それらを置き換えるものには、いくつかのテキストが書かれています。1 つの方法は、各ドキュメントを編集してから、画像をダブルクリックして、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