[英]Symfony - TCPdf - Unable to find template
我陷入與TCPdf和Symfony一個煩人的錯誤:
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)"} []
在我的控制器中,我只是創建一個pdf並輸出:
public function pdfAction()
{
$pdf = ...;
...
$pdf->output();
}
我最好的猜測是Symfony試圖返回一個Response(但是輸出已經給出了一個),因此出現了錯誤。 但是我找不到如何在Symfony中解決此問題的方法。 歡迎任何幫助或提示。
PS:pdf可以完美運行,只有monologger會向我發送錯誤消息..
供將來參考 :
這是我最終解決的方式:
$pdf->Output('output.pdf', 'I');
return new Response();
我嘗試了許多不同的選項,但這是唯一不會觸發該錯誤的選項。
使用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) }}
編輯
嘗試使用路徑作為參數
$ pdf-> Output(“ output.pdf”,'I');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.