2014-03-24 42 views
0

不工作我一直在使用 「MPDF 57」 使用一個特定代碼下載PDF:MPDF 57,在Windows

  ob_start(); 
     ob_clean(); // cleaning the buffer before Output() 
     $html = ' 
     <div style="font-weight:bold;font-size:40px;color:#264664";>Title</div> 
     <img src='.$imgsrc.' name="image1"> 

      '; 

     $mpdf=new mPDF('c','A4'); 
     $mpdf->WriteHTML($html); 
     $mpdf->Output('Chart_'.time().'.pdf','D'); 
     exit; 

我得到這個代碼爲Ubuntu工作的罰款。但在Windows中失敗了。當使用任何閱讀器打開下載的文件時,它會拋出文件已損壞的錯誤消息。代碼出了什麼問題?我找不到爲什麼這段代碼只適用於Ubuntu操作系統中的瀏覽器,而不適用於Windows操作系統中的瀏覽器?

+0

你的意思是它在Windows上的瀏覽器失敗了,或者失敗了在WAMP堆棧上?要麼...? – larsAnders

+0

@larsAnders Windows操作系統中的所有瀏覽器均失敗。它僅適用於Ubuntu操作系統 –

+0

這裏有更多的事情要嘗試 - 1)檢查Adobe Reader是否在Windows機器上更新。 2)mPDF使用UTF-8編碼輸出。有一種[在mPDF中的方法](http://mpdf1.com/manual/index.php?tid=220)來轉換特殊的html字符(它應該在img源字符串中)$ html = strcode2utf($ html) ;在WriteHTML行之前。 3)您可能會嘗試在輸出調用中將'D'更改爲'I',以查看瀏覽器是否可以在線顯示PDF。 – larsAnders

回答

0

我的猜測是,這是Ubuntu可以處理的解析錯誤,但Windows不能。你有兩個微小的語法錯誤。首先,分號出來的地方:

<div style="font-weight:bold;font-size:40px;color:#264664";>Title</div> 

應該是:

<div style="font-weight:bold;font-size:40px;color:#264664;">Title</div> 
               ---------^ 

其次,缺少圍繞src屬性報價:

<img src='.$imgsrc.' name="image1" /> 

應該是:

<img src="'.$imgsrc.'" name="image1"> 
+0

感謝您的回答。但即使發生了變化,它也沒有奏效 –