2013-07-03 57 views
0

我使用HTML2PDF(http://html2pdf.fr/)從網頁生成PDF文件。但是,我有一種奇怪的錯誤:使用「預覽」Mac工具可以完美地顯示生成的文件(或者在下載的PDF文件被選中時簡單地觸摸空格鍵),但是當我嘗試打開文件時使用Adobe的Acrobat Pro,出現以下錯誤信息:HTML2PDF生成損壞的文件

Adobe reader could not open "file.pdf" because it is either not a support file type or because the file has been damaged (for example, it was sent as email attachment and was'nt correctly decoded). 

這裏是我如何生成PDF內容和PDF文件本身:

$content = '<page backtop="12mm" backbottom="12mm" backleft="8mm" backright="8mm" style="font-size: 10pt;"> 
       <h1>MyTitle</h1> 
       <br> 
       <table style="width: 100%;"> 
        <tr> 
         <td style="width: 25%;"></td> 
         .... 
        </tr> 
       </table> 
      </page>'; 

$html2pdf = Yii::app()->ePdf->HTML2PDF('P','A4','en',true,'utf-8'); 
$html2pdf->pdf->SetDisplayMode('fullpage'); 
$html2pdf->WriteHTML($content); 
$html2pdf->Output($outputname , EYiiPdf::OUTPUT_TO_DOWNLOAD); 

上什麼都可以發生的任何想法?也許我錯過了有關格式或文件編碼的內容?我試過不同的編碼,但似乎沒有解決問題...

在此先感謝您的時間和精力! :)

回答

0

解決!在處理完這一點之後,我決定用純文本編輯器打開PDF文件,並且我發現用於生成默認包含頁眉和頁腳的文件的PHP頁面(我是使用Yii框架),這導致在PDF文件中「打印」HTML頁眉和頁腳代碼......有沒有人遇到同樣的問題,解決它的方法是打開頁面的控制器文件(在'保護/控制器/ myPageController.php「),並更改以下行:

$this->render('index'); 

通過這一個:

$this->renderPartial('index'); 

一切都將按目前預計!^_^

+0

你在哪裏取代了?我在你的問題中看不到那段代碼:-P – Pathros