Экспорт списка Просмотр данных в PDF

Я использую Clist View, чтобы показать данные такого топа на Facebook. Теперь есть опция загрузки. Я хочу скачать данные Clist View в формате PDF. Я ищу в Google, но я не нахожу и лучший пример. Что я должен сделать, чтобы загрузить данные просмотра в формате 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',),
));

0

Решение

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

  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

1

Другие решения

Других решений пока нет …