Экспорт данных представления списка в PDF

Я использую Clist View, чтобы показать данные, такие как верхний пост списка на facebook. Теперь есть возможность скачать. Я хочу загрузить данные представления Clist в формате pdf. Я ищу в Google, но не нахожу лучшего примера. Что я должен сделать, чтобы загрузить данные представления clist в формате pdf.

Виджет просмотра списка:

$this->widget('zii.widgets.CListView', array(
                            'dataProvider' => $data_top_posts,
                            'id' => 'tbl-top-posts',
                            'itemView' => '_top_posts',
                            'template' => '{items}',
                            'beforeAjaxUpdate' => 'js:function(id, data){
                                    $("#" + id + " .items span.empty").html("Loading... Please wait.");
                                }',
                            'afterAjaxUpdate' => 'js:function(){
                                      setProgressBar("#tbl-top-posts");
                                      }',
                            'viewData' => array(
                                'id' => 'tbl-top-posts',),
                        ));

person Amitesh Kumar    schedule 19.02.2016    source источник


Ответы (1)


Для такой вещи нет встроенной функции. Но вы можете сделать это:

  1. Используйте шаблон HTML, чтобы распечатать свое представление, а затем передать это содержимое в TCPDF.

Пример

$pdf->AddPage();

$html = $this->renderPartial('view', ['params'], true);

// output the HTML content
$pdf->writeHTML($html, true, 0, true, 0);
$pdf->lastPage();
$pdf->Output('example_021.pdf', 'I');
  1. Создайте изображение из текущего представления и передайте это изображение в TCPDF.

Пример

html2canvas(document.getElementById('area')).then(function(canvas) {
    var data = canvas.toDataURL();

    $.ajax({
        url: 'savePDF.php',
        type: 'post',
        data: {imageSrc: data}
    });
});

Вы можете использовать любой другой инструмент HTML в PDF, а не только TCPDF.


Ресурсы:
TCPDF, DomPDF
Html2Canvas

person Justinas    schedule 19.02.2016