将列表视图数据导出到Pdf

时间:2016-02-19 04:22:03

标签: php yii clistview

我正在使用Clist View在Facebook上显示此类列表顶部帖子的数据。现在有一个下载选项。我想以pdf格式下载Clist视图数据。我搜索谷歌,但我没有找到和最好的例子。我该怎么做才能以pdf格式下载clist视图的数据。

列表视图小部件:

$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',),
                        ));

1 个答案:

答案 0 :(得分:1)

这种东西没有内置功能。但你可以做到:

  1. 使用HTML模板打印视图,然后将该内容传递给TCPDF
  2. 实施例

    $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。
    2. 实施例

      html2canvas(document.getElementById('area')).then(function(canvas) {
          var data = canvas.toDataURL();
      
          $.ajax({
              url: 'savePDF.php',
              type: 'post',
              data: {imageSrc: data}
          });
      });
      

      您可以使用任何其他HTML to PDF工具,而不仅仅是TCPDF。

      资源:
      TCPDFDomPDF
      Html2Canvas