frcho / pdf-bundle
Symfony2 的 PDF Bundle
Requires
- php: >=5.3.2
- knplabs/knp-snappy: 0.1.*
- kriswallsmith/buzz: 0.15
- symfony/http-foundation: >=2.1
- symfony/http-kernel: >=2.1
- symfony/templating: >=2.1
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2024-09-09 14:02:42 UTC
README
PDF Bundle 提供了一种简单的方式,可以从您的视图创建 PDF,基于 siphoc/PdfBundle
安装
步骤 1:使用 Composer 下载 Bundle
将 frchoPdfBundle 添加到 composer。
{
"require": {
"frcho/pdf-bundle": "dev-master"
}
}
安装 Bundle
$ composer.phar update frcho/pdf-bundle
Composer 将安装该 Bundle 以及所需的依赖项。
步骤 2:启用 Bundle
在您的 AppKernel 中添加以下内容
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new frcho\PdfBundle\SiphocPdfBundle(),
);
}
步骤 3:配置您的 Bundle
在您的 config.yml 文件中
kijhoTechnologies_pdf:
basepath: "%kernel.root_dir%/../web"
binary: "/usr/local/bin/wkhtmltopdf"
options:
'lowquality': false
'enable-javascript': true
'debug-javascript': true
用法
下载
在您的控制器中,您可以通过以下方式下载控制器的内容
$pdfGenerator = $this->get('frcho.pdf.generator');
$pdfGenerator->setName('my_pdf.pdf');
return $pdfGenerator->downloadFromView(
'AcmeDemoBundle:Demo:index.html.twig', array(
'name' => $name,
)
);
内联显示
还可以选择在浏览器中显示内容。为此,请使用以下示例
$pdfGenerator = $this->get('frcho.pdf.generator');
$pdfGenerator->setName('my_pdf.pdf');
return $pdfGenerator->displayForView(
'AcmeDemoBundle:Demo:index.html.twig', array(
'name' => $name,
)
);
文档
主要文档可以在 Resources/doc/index.html 找到。它由 PHPDocumentor2 自动生成。该目录本身通过 git 被排除,因为我们使用了 PHPDoc Markdown 插件来创建适当的 MD 文件以包含在 Git 中。
如果您想贡献,请确保更新文档并运行 PHPDocumentor2 和 PHPDoc Markdown。这样,文档才能保持正确更新。
测试
我使用了 PHPUnit 进行测试。贡献需要用测试来支持。
许可
此 Bundle 在 MIT 许可证下。
依赖
Buzz
为了外部调用,我包含了来自 Buzz Bundle 的 @kriswallsmith。
Snappy
为了创建实际的 PDF,我们使用了 Snappy。它有 wkhtmltopdf 依赖项。请确保您使用的是最新版本(>=0.11.0_rc1)。
Symfony
由于这是一个 Symfony Bundle,因此有一些 Symfony 依赖项。
Http Foundation
为了创建适当的响应,我实现了 Symfony 2.1 的 Http Foundation 组件。
模板
为了自动渲染视图,我添加了 templating component 以强制使用正确的模板引擎。
HttpKernel
从版本 1.1.2 开始,我们实现了一个日志记录实例。这依赖于 Symfony2 的 HttpKernel 组件。