Kartik Export - 如何设置导出的PDF文件的样式?

时间:2015-09-01 12:57:49

标签: php gridview export yii2 export-to-pdf

我正在使用Kartik Export(kartik\export\ExportMenu)将gridview(kartik\grid\GridView)中的数据导出为PDF文件。问题是文件有一个小字体,数据似乎混乱,因为没有表格边框或其他格式存在。 我的问题是 - 如何为导出的文档添加自定义样式?

这是我在视图文件中使用的代码:

<?= GridView::widget([
    'dataProvider' => $provider,
    'columns' => $columns,
]); ?>

<?= ExportMenu::widget([
    'dataProvider' => $provider,
    'columns' => $export_columns,
    'target' => ExportMenu::TARGET_SELF,
    'showConfirmAlert' => false,
    'showColumnSelector' => false,
    'exportConfig' => [
        ExportMenu::FORMAT_HTML => false,
        ExportMenu::FORMAT_TEXT => false,
    ],
    'filename' => 'exported-data_' . date('Y-m-d_H-i-s'),
]); ?>

2 个答案:

答案 0 :(得分:4)

在您的exportConfig数组中添加以下设置:

GridView::PDF => [
   'config' => [
       'cssFile' => '@webroot/css/report.css',
   ]
]

现在,您可以在网络文件夹的css文件夹中创建report.css,并且可以提前设置样式。这将替换默认的bootstrap样式表,但是阅读你的问题看起来它似乎没有被加载。

您可以在此处找到PDF的其他配置选项:[http://demos.krajee.com/grid#default-export-config]

答案 1 :(得分:2)

GridView和ExportMenu之间的区别在于ExportMenu使用PHPExcel库通过mPDF(或您需要的任何其他库)生成PDF,而GridView直接提供使用mPDF库的方法。

格式由PHPExcel设置(页眉,页脚,字体)控制 - 有关详细信息,请查看PHPExcel Documentation