2016-04-18 13 views
0

を見つけることができません。私はTCPDFとsymfonyで迷惑なエラーでこだわっている:私はちょうど、PDF出力、それを作成する私のコントローラでsymfonyの - TCPDF - テンプレート

request.CRITICAL: Uncaught PHP Exception InvalidArgumentException: "Unable to find template "" (looked into: /Applications/MAMP/htdocs/api/app/Resources/views)." at /Applications/MAMP/htdocs/api/vendor/symfony/symfony/src/Symfony/Bridge/Twig/TwigEngine.php line 128 {"exception":"[object] (InvalidArgumentException(code: 0): Unable to find template \"\" (looked into: /Applications/MAMP/htdocs/api/app/Resources/views). at /Applications/MAMP/htdocs/api/vendor/symfony/symfony/src/Symfony/Bridge/Twig/TwigEngine.php:128, Twig_Error_Loader(code: 0): Unable to find template \"\" (looked into: /Applications/MAMP/htdocs/api/app/Resources/views). at /Applications/MAMP/htdocs/api/vendor/twig/twig/lib/Twig/Loader/Filesystem.php:215)"} []

public function pdfAction() 
{ 
    $pdf = ...; 
    ... 
    $pdf->output(); 
} 

私の推測では、SymfonyはResponseを返そうとしています(しかし、出力はすでに返されています)ので、エラーです。しかし、私はSymfonyでこれをどう解決すればいいのか分かりません。どんな助けやヒントも大歓迎です。

PSは:PDFファイルのみmonologgerそれはエラーで私をスパムされ、完璧に動作します。..今後の参考のについては

$pdf->Output('output.pdf', 'I'); 
return new Response(); 

これは私が最終的にそれを解決する方法であります

多くの異なるオプションを試しましたが、これがエラーを引き起こさない唯一のオプションです。

+0

多分これは動作します - http://blog.lundscape.com/2015/04/using-tcpdf-with-symfony-2/ – qooplmao

答えて

1

Symfonyでは、レスポンスを配列として返す必要があります。

たぶん、コードのこの作品は、作品:

$pdfOutput = $pdf->output(); 

return array('pdfOutput' => $pdfOutput); // or just try to return $pdf; 

// If you don't use annotation : 
return $this->render('your-template.html.twig', array(
    'pdfOutput' => $pdfOutput 
)); 

そして、あなたのテンプレートでは、あなたはいくつかのことをもたらすようにしたい場合は、あなたのテンプレートは以下のようになります。

{{ dump(pdfOutput) }} 

EDIT

パスを引数として試してください。

$ pdf->出力( "output.pdf"、 'I');

TCPDF output doc

+0

私はかつて、新たな応答などを返し、配列を試みたが、私はそれを発射します - > output()を呼び出します。私はobでそれを捕らえるべきですか? – RVandersteen

+0

あなたは試してみることができます。 TCPdfをテンプレートで設定する必要があるかもしれませんか? https://github.com/whiteoctober/WhiteOctoberTCPDFBundle。 @RVandersteen私の編集を参照してください –

+0

ちょうど楽しみのために私はこれを試しました: – RVandersteen