2013-10-06 130 views
0

我正在使用phalcon php框架。我想將顯示在div標籤(這是搜索的結果)中的數據發送到控制器功能,並且控制器將生成pdf文件。但是,pdf文件沒有生成。 這是我的觀點:使用jquery生成PDF ajax

 var imenica = "Ja se zovem Nedim Omerbegovic"; 
     $.ajax({ 
     url: '<?php echo $this->url->get("test/creatingpdf");?>', 
     type: 'POST', 
     dataType: '', 
     data: {imenica:imenica}, 
     success: function(data){ 
      alert(data); 
      } , 
      error: function(){ 
       alert("Greska"); 
      } 

    }); 


    }); 

這裏是控制器代碼:

public function creatingpdfAction(){ 
    $this->view->disable(); 
    $string =$_POST['imenica']; 
    $this->view->setVars(array('ime'=>$string)); 

      $loader = new \Phalcon\Loader(); 
    $loader->registerClasses(
    array(
    "mpdf"=> "C:/wamp/www/phalcon1/mpdf/mpdf.php" 
) 
); 


    $loader->register(); 
    //$string = "Ja se zovem Nedim Omerbegovic"; 
    $view = new \Phalcon\Mvc\View(); 
    $view->setViewsDir('../app/views/'); 
    $cont = $this->view->getRender('test', 'creatingpdf'); 
    //generisanje pdf dokumenta 
    $pdf = new mpdf(); 
    $pdf->WriteHTML($cont, 2); 
    $br = rand(0,100000); 
    $ispis = "Pobjeda Rudet-Izvjestaj-".$br; 
    $pdf->Output($ispis, 'I'); 
    } 

我怎麼能看到生成的PDF文件中warking

回答

0

看TCPDF @http://www.tcpdf.org/了這種方式PDF庫,肯定與Phalcon一起使用。雖然這不是Phalcon的具體問題(因爲Phalcon沒有原生PDF庫),但您可以將其與Phalcon整合。如果你想這樣做,你可以使用Phalcon將TCPDF庫註冊爲服務,並將庫包含在自動加載器中,就像其他服務一樣。

例子:

$di->set('tcpdf', function() { 
    $tcpdf = new TCPDF(); 

    return $tcpdf; 
}); 

這將在擴展核心爾康功能或

\Phalcon\DI::getDefault()->getTcpdf(); 

靜態物體讓您的訪問通過圖書館

$this->tcpdf 

+0

謝謝,但mpdf也與phalcon一起工作,但我的問題是,當我使用Tag :: submitButton調用方法時,這工作正常,但我怎樣才能實現使用ajax調用來查看生成的pdf。 – Nedimo