2016-02-12 70 views
1

有人問過,幾年前,但沒有答案corrupt docx when adding imagephpdocx添加圖像,使DOCX腐敗

我有一個模板,在那裏我更換一些變量,並生成一個文件DOCX ...這工作正常..

只要我添加圖像,文字告訴我,這些文件已損壞。但讓Word糾正錯誤給我的文件,因爲我希望它與圖像。

林添加圖像像這樣...

$docx->addBreak(array('type' => 'page')); 
      $options = array(
      'src' => $value['110333870356bc784cf1b6b0.56722572.png'], 
      'imageAlign' => 'center', 
      'scaling' => 100, 
      'spacingTop' => 10, 
      'spacingBottom' => 0, 
      'spacingLeft' => 0, 
      'spacingRight' => 20, 
      'textWrap' => 0, 

      ); 
      $docx->addImage($options); 

我在這裏失去了..? ..

+0

你如何服務你docx文件被下載的時候?檢查你的頭:有一個在這裏讀到:http://stackoverflow.com/questions/12062337/serving-docx-files-through-my-webserver-are-corrupt-when-opened – Kinnectus

+0

@BigChris:該DOCX沒有產生罰款圖像(S)..問題是添加一個圖像是腐敗的文件。這個原因在我對這個問題的回答中解釋如下。 – DTH

回答

1

與2mdc接觸(phpDocX的創造者)後,他們告訴我,PHP是不是能夠得到,因爲我插入圖像的文件名的擴展權。結果phpDocX添加了一些錯誤的值(如dpi和圖像擴展名)。

正如我在問題中提到,字是能夠檢測這些錯誤,並改正。

改變了我的例行它創建了我的「獨特」的形象的名稱,以確保點的不存在,它解決了這一問題..

其結果是,文件名:110333870356bc784cf1b6b0.56722572.png反而會成爲110333870356bc784cf1b6b0656722572 .png(或其他生成的文件名)。

1

只是爲了分享我的經驗。 我有完全相同的問題,但不是出於同樣的原因。 這是因爲我想插入的圖像文件擴展名(addImage)是大寫字母。 示例:

  • 圖片。 JPG ==>導致一個「損壞」的文件。
  • 圖片。 jpg ==>結果OK!

我希望這會幫助別人......