m4t1t0/fop-pdf-bundle

Symfony 2 Apache FOP 集成

安装: 23

依赖: 0

建议者: 0

安全: 0

星星: 2

关注者: 1

分支: 1

开放问题: 0

类型:symfony-bundle

dev-master 2013-12-13 15:28 UTC

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 模板。
  • 创建更多基础模板。

Bitdeli Badge