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

Kartik Export - How to style exported PDF files?

我正在使用 Kartik 导出 (kartik\export\ExportMenu) to export data from gridview (kartik\grid\GridView) 到 PDF 文件。问题是该文件的字体很小,而且由于没有 table 边框或其他格式,数据看起来很混乱。 我的问题是 - 如何向导出的文档添加自定义样式?

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

<?= 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'),
]); ?>

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

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

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

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

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

格式由 PHPExcel 设置(页眉、页脚、字体)控制 - 查看 PHPExcel Documentation 了解详细信息。