m4t1t0 / fop-pdf-bundle
Symfony 2 Apache FOP 集成
dev-master
2013-12-13 15:28 UTC
Requires
- php: >=5.3.3
- symfony/symfony: >=2.3
This package is not auto-updated.
Last update: 2024-09-28 15:12:04 UTC
README
本捆绑包为 Symfony2 提供与 Apache FOP (http://xmlgraphics.apache.org/fop/) 的集成
安装和配置
获取捆绑包
添加到 composer.json
{
"require": {
"m4t1t0/fop-pdf-bundle": "dev-master"
}
}
使用 composer 下载新依赖项
$ php composer.phar update m4t1t0/fop-pdf-bundle
将 FopPdfBundle 添加到您的应用程序内核
<?php // app/AppKernel.php public function registerBundles() { return array( // ... new m4t1t0\FopPdfBundle\FopPdfBundle(), // ... ); }
配置捆绑包
如果 fop 可执行文件不是 /usr/bin/fop,您需要在您的 config.yml 文件中进行配置
# FopPdfBundle Configuration
fop_pdf:
fop: /usr/local/bin/fop
使用方法
在您的动作中使用 Pdf 注解
<?php /** * @Route("/download-pdf") * @Pdf() */ public function downloadPdfAction() { return array( 'name' => 'Rafa', ); }
在您的资源目录内创建 view downloadPdf.fo.twig
{% extends "FopPdfBundle::basea4.fo.twig" %}
{% block content %}
<fo:block>
Hello {{ name }}!
</fo:block>
{% endblock %}
选项
Pdf 注解支持以下选项
-
output:输出文件名。您可以使用 PHP strftime 函数的格式,更多信息: http://es1.php.net/manual/en/function.strftime.php 如果您需要对输出文件名有更多控制,您可以在您的返回中使用
_pdf_output
变量 -
template:表示要渲染的模板,而不是猜测模板。
<?php /** * @Route("/download") * @Pdf() */ public function downloadPdfAction() { return array( 'name' => 'Rafa', '_pdf_output' => 'custom_pdf_output_filename.pdf', ); }
待办事项
- 支持 PHP 模板,目前只支持 twig。
- 创建一个服务来渲染 XSL-FO 模板而不是注解。
- 创建 twig 扩展以帮助创建 XSL-FO 模板。
- 创建更多基础模板。