0

我需要生成一个 PDF,我使用 SpreadPdfGeneratorBundle,问题是这个包使用了我的 webHosting“ex2”禁用的“proc_open”功能,我联系了他们,他们告诉我他们无法启用这个功能。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 内部服务器错误)

谢谢您的帮助。

4

1 回答 1

0

最近我花了很多时间研究 PDF 生成的解决方案。我和你有同样的问题:我无法控制服务器上启用的内容,也无法在服务器上执行二进制文件。

我发现最好的解决方案是 TCPDF,因为它只是 PHP。有一个 Symfony 包可以启用它:

https://github.com/whiteoctober/WhiteOctoberTCPDFBundle

我不知道它如何比较SpreadPdfGeneratorBundle,生成有时有点棘手,特别是对于部分 CSS 支持,但尽管如此,我还是能够在服务器上正确生成 PDF。

于 2015-09-03T09:52:19.437 回答