我需要生成一个PDF,我使用SpreadPdfGeneratorBundle,问题是这个包使用" proc_open"我的webHosting" ex2"禁用的功能,我联系了他们,他们告诉我他们无法启用此功能。 PDF生成在语言环境中运行良好。这是代码:
$html= $request->get('lettreheader');
$request->get('lettreContent').$request->get('lettreFooter');
/*$html = $this->renderView('GrcRelanceBundle:Default:lettreRelance.html.twig');*/
$pdfGenerator = $this->get('spraed.pdf.generator');
$pdfGenerator->generatePDF($html);
return new Response($pdfGenerator->generatePDF($html),
200,
array(
'Content-Type' => 'application/pdf',
'Content-Disposition' => "inline; filename='Relance client.pdf'"
)
);
错误信息是:
警告:出于安全原因,已禁用proc_open()(500 内部服务器错误)
感谢您的帮助。
答案 0 :(得分:0)
我最近花了很多时间研究PDF生成的解决方案。我和你有同样的问题:我不控制服务器上启用的内容,也不能在服务器上执行二进制文件。
我找到的最佳解决方案是TCPDF,因为它只是PHP。有一个Symfony包可以启用它:
https://github.com/whiteoctober/WhiteOctoberTCPDFBundle
我不知道它与SpreadPdfGeneratorBundle
的比较,有时候这一代有点棘手,特别是对于部分CSS支持,但是我能够在服务器上正确生成PDF。