Ajuda com PDF

42 views
Skip to first unread message

Luiz Gustavo Mafra

unread,
May 18, 2016, 6:42:13 PM5/18/16
to yii-framew...@googlegroups.com
Boa noite pessoal,

Gostaria de tirar uma duvida. Vocês conhecem alguma extensão do yii2 que converta um form para um pdf? Queria que o pdf renderizasse o form da mesma forma que é exibido na tela.

Att,

--
Luiz Gustavo S. Mafra
Bacharel em Ciência da Computação - UESC - Universidade Estadual de Santa Cruz
Analista de Sistemas - Santa Casa de Misericórdia de Itabuna
Desenvolvedor PHP, Android, .Net, Python, JEE

+55 73 9147 0547
+55 73 8888 7500

twitter: @lgmafra
skype: lgmafra

Sidney

unread,
May 18, 2016, 7:20:55 PM5/18/16
to yii-framew...@googlegroups.com

Não conheço nada pronto pro yii, mas tem o mpdf. Só instanciar e usar.

--
YFB - Yii Framework Brasil
04/2011: Anexos de até 250kb foram autorizados pelos membros da lista. Use com moderação.
---
Você recebeu essa mensagem porque está inscrito no grupo "YFB - Yii Framework Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para yii-framework-br...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/yii-framework-brasil/CAHP_qm-_%2B76%3DmSpTGpA38ogvXm6HJDgcODJP58eCZod6-UjMew%40mail.gmail.com.
Para mais opções, acesse https://groups.google.com/d/optout.

leona...@hotmail.com

unread,
May 20, 2016, 8:40:36 AM5/20/16
to YFB - Yii Framework Brasil
Bom Dia!

Se você quer só passar para pdf e tem uma impressora pdf pode usar este comando <a href="javascript:self.print()">IMPRIMIR</a>, mas se você quer personalizar o pdf tem as extenções kartik\grid\GridView, kartik\export\ExportMenu e kartik\editable\Editable.
Segue abaixo um código que eu usei as extenções informadas acima, o código comentado são opções da configuração que eu testei mas não usei, você pode descomentar para testar:


<?php

use yii\helpers\Html;
use kartik\grid\GridView;
use yii\web\Session;
use kartik\export\ExportMenu;
use kartik\editable\Editable;

$this->title = 'Relatório de Clientes';

$this->params['breadcrumbs'][] = $this->title;

$painel='';
    $exportConfig = [
        ExportMenu::CSV => true,
        ExportMenu::EXCEL => true,
        //ExportMenu::PDF => true,
        ExportMenu::TEXT => true,
        GridView::PDF => [
            'label' => 'PDF',
            'icon' => 'file-pdf-o',
            'iconOptions' => ['class' => 'text-danger'],
            'showHeader' => true,
            'showPageSummary' => true,
            'showFooter' => true,
            'showCaption' => true,
            'filename' =>$this->title,
            'alertMsg' =>'O arquivo exportado será gerado na pasta Downloads',
            //'options' => ['title' => 'QQQQQQQQQQQQ'],
            'mime' => 'application/pdf',
            'config' => [
                'mode' => 'c',
                'format' => 'A4-L',
                'destination' => 'D',
                'marginTop' => 20,
                'marginBottom' => 20,
                'cssInline' => '.kv-wrap{padding:20px;}' .
                '.kv-align-center{text-align:center;}' .
                '.kv-align-left{text-align:left;}' .
                '.kv-align-right{text-align:right;}' .
                '.kv-align-top{vertical-align:top!important;}' .
                '.kv-align-bottom{vertical-align:bottom!important;}' .
                '.kv-align-middle{vertical-align:middle!important;}' .
                '.kv-page-summary{border-top:4px double #ddd;font-weight: bold;}' .
                '.kv-table-footer{border-top:4px double #ddd;font-weight: bold;}' .
                '.kv-table-caption{font-size:1.5em;padding:8px;border:1px solid #ddd;border-bottom:none;}',
                'methods' => [
                    'SetHeader'=>[$this->title],
                    'SetFooter'=>['|Página {PAGENO}|'." Gerada em: ". date("d/m/y H:i:s")],
                    /* 'SetHeader' => [
                    ['odd' => '', 'even' => $pdfHeader]
                    ],
                    'SetFooter' => [
                    ['odd' => $pdfFooter, 'even' => $pdfFooter]
                    ], */
                    ],
                /* 'options' => [
                'title' => "TESRT",
                'subject' => 'RRRRRRRRRRRRRRRR',
                'keywords' => 'TTTTTTTTTTTTTTT'
                ], */
                'contentBefore'=>'',
                'contentAfter'=>''
            ]
        ],
    ];
    $painel =[
    'type' => GridView::TYPE_DEFAULT,
    'heading' => '<h3 class="panel-title"><i class="fa fa-list"></i></h3>',
    ];

?>
<div class="cliente-index">

    <h1><?= Html::encode($this->title) ?></h1>

    <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            'ID_CADASTRO',
            [
            'label' => 'Cliente',
            'attribute' => 'NOME'
            ],
            [
            'label' => 'CPF',
            'attribute' => 'CPF'
            ],
            [
            'label' => 'Nascimento',
            'attribute' => 'DATA_NASC',
            'format' => 'datetime'
            ],                

           
        ],
        'pjax' => true,
        'pjaxSettings' => ['options' => ['id' => 'kv-pjax-container'],
       
        ],
        'panel' => $painel,
        'export' => [
        'label' => 'Exportar',
        'fontAwesome' => true,
        'target' => GridView::TARGET_SELF,
        ],
        'exportConfig' => $exportConfig,
    ]); ?>

</div>
Reply all
Reply to author
Forward
0 new messages