4

我正在寻找一个易于使用且不需要的 PDF 生成器包,wkhtmltopdf因为我的共享托管服务器不支持此功能。

我已经尝试过https://github.com/psliwa/PdfBundle,但是如果我按照文档进行操作,我只会在屏幕上得到响应(没有生成 PDF)。虽然在这个问题中有一个解决方案,但这个解决方案似乎过于复杂。

我还查看了ioalessio/IoTcpdfBundle,它似乎可以直接使用,但没有作曲家安装,而且我的 Web 服务器不支持供应商安装。

我也尝试过stedekay/SpraedPDFGeneratorBundle,但这只是抱怨找不到 Java 的简单错误。

虽然whiteoctober/WhiteOctoberTCPDFBundle可能能够工作,但这只是创建了一个必须进一步使用的 TCPDF 对象,并且文档不是很全面。

任何建议(或关于如何使任何提到的捆绑包工作的建议)将不胜感激。

4

6 回答 6

4

我使用 SpraedPDFGeneratorBundle 并使用 Composer 从https://github.com/stedekay/SpraedPDFGeneratorBundle安装它来激活它。我在AppKernel new Spraed\PDFGeneratorBundle\SpraedPDFGeneratorBundle().

最后我执行了命令php composer.phar update,并在我的控制器中输入了以下代码:

 $html = $this->renderView('MyappJournalBundle:Default:index1.html.twig');
    $pdfGenerator = $this->get('spraed.pdf.generator');

    return new Response($pdfGenerator->generatePDF($html),
                    200,
                    array(
                        'Content-Type' => 'application/pdf',
                        'Content-Disposition' => 'inline; filename="out.pdf"'
                    )
    );

它对我有用!

于 2014-02-19T19:24:38.647 回答
3

我绝对可以推荐带有树枝模板的KnpSnappyBundle 。

我已经在生产中多次使用过库/捆绑包,并且没有遇到太多麻烦。

(与当时遗留应用程序中的 tcpdf 和 dompdf 相比)。

示例用法:

$this->get('knp_snappy.pdf')->generateFromHtml(
    $this->renderView(
        'MyBundle:Foo:bar.html.twig',
        array(
            'some'  => $vars
        )
    ),
    '/path/to/the/file.pdf'
);
于 2013-10-11T12:47:36.750 回答
1

我是 SpraedPDFGeneratorBundle 的开发者。我的包使用 Java 库,因此您的服务器上需要一个有效的 JRE(6 或更高版本)。

于 2013-10-20T11:05:15.487 回答
1

如果您想在 Symfony3 上安装 SpraedPDFGeneratorBundle,请确保该服务是:

spraed.pdf.generator:
    class: Spraed\PDFGeneratorBundle\PDFGenerator\PDFGenerator
    arguments: [ "@kernel" ]

这在文档的深处存在,但很难找到。

您可能知道的另一件事是生成器使用了“The Flying Sauser”,它使用了一种特殊的 css。因此,通过阅读此内容,在http://flyingsaucerproject.github.io/flyingsaucer/r8/guide/users-guide-R8.html#xil_36中,我发现我必须使用:@page { margin: 0 0.5cm; 尺寸:21cm 26.5cm;} 来证明文档中的边距以使内容适合。

于 2016-03-10T23:42:54.087 回答
0

您可以使用 EnseparHtml2pdfBundle。看这里了解更多详情

于 2015-02-19T16:19:08.417 回答
0

你可以试试这个捆绑包。MpdfPortBundle。 https://github.com/tasmanianfox/MpdfPortBundle

于 2017-05-18T16:45:12.353 回答