PDF上的Yii2 bootstrap table部署在服务器上时是半角
Yii2 bootstrap table on the PDF is half width when deployed on the server
在我的 Yii2 应用程序中,我使用 kartik mpdf 从 html 生成 PDF。
我在我的本地机器 (Windows) 中全宽的 PDF 上有一个 table,这是预期的行为。但是,当我在 Ubuntu 服务器上部署它时, table 是半宽。
我已经交叉检查了依赖版本,两个环境也有相同的依赖。
我确认 table 的父容器 (div) 通过在其中放置文本来正常运行。在部署时,整个 PDF 中只有 <table>
元素的大小变小了。
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="table-responsive">
<table class="table table-bordered" >
<tbody>
</tbody>
</table>
</div>
</div>
</div>
这是我的 table 没有正文的代码。
知道后面发生了什么以及如何解决它吗?
几天前,我一直在与伟大的 kartik/yii2-mpdf 作斗争,我学到了一些东西。只要给它你需要的最小值 CSS 即可。例如,包含 !important
的规则将被完全忽略。
对于这个全宽 table,尝试将 style="width: 100%;"
添加到 table 标签。
您可以添加额外的 CSS:
$pdf = new Pdf([
..........
'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.min.css',
'cssInline' => '',
.........
]);
有了这个 css 文件,我的 table 宽度为 100%。您可以插入自己的 css 文件或在 cssInline
中添加 css 类
经过多次努力,我发现 MPDF 缩小了 table 以将最高的行放入一页。如果您有多行(单元格)垂直合并,那么您将 运行 放入其中。
tables will resize so that the tallest row (cell) will fit on a page - this is the only one that cannot be overridden
It is mentioned in the troubleshooting section of the documentation.
在我的 Yii2 应用程序中,我使用 kartik mpdf 从 html 生成 PDF。 我在我的本地机器 (Windows) 中全宽的 PDF 上有一个 table,这是预期的行为。但是,当我在 Ubuntu 服务器上部署它时, table 是半宽。
我已经交叉检查了依赖版本,两个环境也有相同的依赖。
我确认 table 的父容器 (div) 通过在其中放置文本来正常运行。在部署时,整个 PDF 中只有 <table>
元素的大小变小了。
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="table-responsive">
<table class="table table-bordered" >
<tbody>
</tbody>
</table>
</div>
</div>
</div>
这是我的 table 没有正文的代码。
知道后面发生了什么以及如何解决它吗?
几天前,我一直在与伟大的 kartik/yii2-mpdf 作斗争,我学到了一些东西。只要给它你需要的最小值 CSS 即可。例如,包含 !important
的规则将被完全忽略。
对于这个全宽 table,尝试将 style="width: 100%;"
添加到 table 标签。
您可以添加额外的 CSS:
$pdf = new Pdf([
..........
'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.min.css',
'cssInline' => '',
.........
]);
有了这个 css 文件,我的 table 宽度为 100%。您可以插入自己的 css 文件或在 cssInline
中添加 css 类经过多次努力,我发现 MPDF 缩小了 table 以将最高的行放入一页。如果您有多行(单元格)垂直合并,那么您将 运行 放入其中。
tables will resize so that the tallest row (cell) will fit on a page - this is the only one that cannot be overridden
It is mentioned in the troubleshooting section of the documentation.