2016-04-28 19 views
1

我有一個Silex項目,我試圖用KnpSnappyBundle從樹枝視圖生成pdf文件。我有下面的代碼在我的控制器:將Symfony軟件包添加到Silex框架

$this->app['knp_snappy.pdf'] = new KnpSnappyBundle($this->app, $this->client);

後來才知​​道有這樣的事情:

if ($request->get('print') == 'print') { 
    $html = $body; 

    return new Response(
     $app['knp_snappy.pdf']->getOutputFromHtml($html), 
     200, 
     array(
      'Content-Type'   => 'application/pdf', 
      'Content-Disposition' => 'attachment; filename="file.pdf"' 
     ) 
    ); 
} 

我有以下錯誤:Fatal error: Call to undefined method Knp\Bundle\SnappyBundle\KnpSnappyBundle::getOutputFromHtml()

你們可以幫我修復這個問題或找到另一種方式來從Silex的HTML獲得PDF文件(我試過domtopdf,它的工作原理,但它很醜,它似乎不支持SVG圖像)...

也許我找到了另一種方式來做到這一點,但我想我將有同樣的問題... PdfBundle

回答

1

KnpSnappyBundle只是活潑庫的包裝,因此沒有意義,試圖將其注入Silex應用程序。這不值得。

只需使用Snappy即可。註冊Pdf類作爲一項服務,而不是像你期望的那樣工作。

如果您不確定如何將其放入DI容器中,您也可以檢查SilexServiceProvider for Snappy