2013-10-06 132 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