使用livedocx和php在Word 2007中未显示图像的合并字段

使用livedocx和php在Word 2007中未显示图像的合并字段,php,word-2007,livedocx,Php,Word 2007,Livedocx,我试图将从用户表单上传的服务器端图像添加到使用LiveDocx生成的Word文档中 我的word模板如下所示 «image:photo» $mailMerge = new Zend_Service_LiveDocx_MailMerge(); $mailMerge->uploadImage($this->logo_path); $mailMerge->assign('image:photo', $this->logo_path); «image:photo» 阿卡 我

我试图将从用户表单上传的服务器端图像添加到使用LiveDocx生成的Word文档中

我的word模板如下所示

«image:photo»
$mailMerge = new Zend_Service_LiveDocx_MailMerge();
$mailMerge->uploadImage($this->logo_path);
$mailMerge->assign('image:photo', $this->logo_path);
«image:photo»
阿卡

我的php看起来像这样

«image:photo»
$mailMerge = new Zend_Service_LiveDocx_MailMerge();
$mailMerge->uploadImage($this->logo_path);
$mailMerge->assign('image:photo', $this->logo_path);
«image:photo»

我只是在图像应该出现的地方找到一个空白区域。我的其他合并字段工作正常。

我没有意识到LiveDocx只存储要引用的文件名。我是通过以下方式发现这一点的:

$mailMerge->listImages();
格式如下所示:

array
0 => array
  'filename' => string 'directory_logo.png' (length=18)
  'fileSize' => int 12829
  'createTime' => int 1352835686
  'modifyTime' => int 1352835686
$mailMerge->uploadImage($this->logo_path);
$mailMerge->assign('image:photo', $this->logo_file);
$mailMerge = new Zend_Service_LiveDocx_MailMerge();
$mailMerge->setUsername($username)
  ->setPassword($password);
$mailMerge->setLocalTemplate($template_path . '/service_template.docx');
$mailMerge->uploadImage($this->logo_path);
$mailMerge->assign('image:photo', 'directory_logo.png');
$mailMerge->createDocument();
$document = $mailMerge->retrieveDocument('docx');
file_put_contents($this->config->livedocx->document . '/' . $this->prefs['serverid'] . '/service_directory.docx', $document);
$mailMerge->deleteImage('directory_logo.png');
因此,模板文件可以使用以下格式:

阿卡

但我的php需要如下所示:

array
0 => array
  'filename' => string 'directory_logo.png' (length=18)
  'fileSize' => int 12829
  'createTime' => int 1352835686
  'modifyTime' => int 1352835686
$mailMerge->uploadImage($this->logo_path);
$mailMerge->assign('image:photo', $this->logo_file);
$mailMerge = new Zend_Service_LiveDocx_MailMerge();
$mailMerge->setUsername($username)
  ->setPassword($password);
$mailMerge->setLocalTemplate($template_path . '/service_template.docx');
$mailMerge->uploadImage($this->logo_path);
$mailMerge->assign('image:photo', 'directory_logo.png');
$mailMerge->createDocument();
$document = $mailMerge->retrieveDocument('docx');
file_put_contents($this->config->livedocx->document . '/' . $this->prefs['serverid'] . '/service_directory.docx', $document);
$mailMerge->deleteImage('directory_logo.png');
我的完整工作代码如下所示:

array
0 => array
  'filename' => string 'directory_logo.png' (length=18)
  'fileSize' => int 12829
  'createTime' => int 1352835686
  'modifyTime' => int 1352835686
$mailMerge->uploadImage($this->logo_path);
$mailMerge->assign('image:photo', $this->logo_file);
$mailMerge = new Zend_Service_LiveDocx_MailMerge();
$mailMerge->setUsername($username)
  ->setPassword($password);
$mailMerge->setLocalTemplate($template_path . '/service_template.docx');
$mailMerge->uploadImage($this->logo_path);
$mailMerge->assign('image:photo', 'directory_logo.png');
$mailMerge->createDocument();
$document = $mailMerge->retrieveDocument('docx');
file_put_contents($this->config->livedocx->document . '/' . $this->prefs['serverid'] . '/service_directory.docx', $document);
$mailMerge->deleteImage('directory_logo.png');