软管 / pdf-bundle
软管PDF Bundle for Symfony2
2.0.0
2017-01-22 19:15 UTC
Requires
- php: >=5.3.2
- knplabs/knp-snappy: 0.1.*
- kriswallsmith/buzz: >=0.8
- symfony/http-foundation: >=2.1
- symfony/http-kernel: >=2.1
- symfony/templating: >=2.1
Requires (Dev)
- phpunit/phpunit: 3.7.*
README
软管PDF Bundle 提供了一种简单的方法从您的视图创建PDF文件。
安装
步骤 1: 使用Composer下载包
将SiphocPdfBundle添加到Composer。
{
"require": {
"siphoc/pdf-bundle": "2.0.*"
}
}
安装包
$ composer.phar update siphoc/pdf-bundle
Composer将安装包及其所需的依赖项。
步骤 2: 启用包
在您的AppKernel中添加以下内容
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new Siphoc\PdfBundle\SiphocPdfBundle(),
);
}
步骤 3: 配置包
在您的config.yml文件中
siphoc_pdf:
basepath: "%kernel.root_dir%/../web"
binary: "/usr/local/bin/wkhtmltopdf"
options:
'lowquality': false
'enable-javascript': true
'debug-javascript': true
用法
下载
在您的控制器中,您可以像这样下载控制器的内容
$pdfGenerator = $this->get('siphoc.pdf.generator');
$pdfGenerator->setName('my_pdf.pdf');
return $pdfGenerator->downloadFromView(
'AcmeDemoBundle:Demo:index.html.twig', array(
'name' => $name,
)
);
内联显示
还有一个选项可以在浏览器中显示内容。为此,请使用以下示例
$pdfGenerator = $this->get('siphoc.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。这样,文档才能正确地保持最新。
开发
这个包主要创建和维护用于Darwin Analytics。
测试
对于测试,我使用了PHPUnit。贡献需要通过测试来支持。
许可证
此包受MIT许可证的约束。
依赖关系
Buzz
对于外部调用,我包含了来自@kriswallsmith的Buzz Bundle。
Snappy
为了创建实际的PDF文件,我们使用了Snappy。这有wkhtmltopdf的依赖关系。请确保您使用的是最新版本(>=0.11.0_rc1)。
Symfony
由于这是一个Symfony包,因此有一些Symfony依赖关系。
Http Foundation
为了创建合适的响应,我实现了Symfony 2.1的Http Foundation组件。
模板
为了自动渲染视图,我添加了模板组件来强制使用适当的模板引擎。
HttpKernel
从版本1.1.2开始,我们实现了一个日志实例。这取决于Symfony2的HttpKernel组件。