html2pdf:overflow:hidden 似乎不起作用
html2pdf: overflow:hidden does not seem to work
我有文本要输出到单元格中,文本可能太长,在这种情况下,我希望简单地隐藏溢出部分。
测试的版本是 html2pdf v. 5.2.2 .
我找不到关于哪些 CSS 已被识别,哪些未被识别的文档。
相反,我在 /src/Parsing/Css.php 代码中发现,这似乎暗示“溢出”至少对于值“可见”和“隐藏”是可识别的:
case 'overflow':
if (!in_array($val, array('visible', 'hidden'))) {
$val = 'visible';
}
$this->value['overflow'] = $val;
break;
所以我尝试了以下测试用例:
<?php
require __DIR__.'/vendor/autoload.php';
use Spipu\Html2Pdf\Html2Pdf;
$html = <<<EOT
<body>
<style>
.red {
color:red;
width:30px;max-width:30px;
overflow:hidden;
}
.blue {
color:blue;
}
</style>
<table>
<tr>
<td class="red" >totototototototototototototototo</td>
<td class="blue">titi</td>
</tr>
</table>
</body>
</html>
EOT;
$toPdf=false;
if($toPdf) {
$html2pdf = new Html2Pdf();
$html2pdf->writeHTML($html);
$html2pdf->output();
}
else { echo $html; }
我想要在 html 浏览器中呈现的预期输出。
但是 html2pdf 的输出只是忽略了 css 溢出指令(见捕获)。
我做错了什么吗?
有办法吗?
如果可能的话,我想要一个 CSS solution/turnaround,没有基于子字符串截断的解决方案(因为这样的解决方案会产生灾难性的结果,例如“WWWMMWMWWM”与“iiilliilli”之类的字符串,每个 10 个字符,完全不同的宽度)。
如果有任何解决方案或对解决方案的任何提示,我将不胜感激。
提前致谢。
此处在浏览器中输出html,以及html2pdf制作的PDF输出。
overflow:hidden
似乎终于可以使用 DIV 元素了。
但是 display:inline-block
和 float:left
都没有,这将允许并排 DIVs...
再进行几次测试,我找到了转机:DIV 每个 TD 中有 overflow:hidden
...
我有文本要输出到单元格中,文本可能太长,在这种情况下,我希望简单地隐藏溢出部分。
测试的版本是 html2pdf v. 5.2.2 .
我找不到关于哪些 CSS 已被识别,哪些未被识别的文档。
相反,我在 /src/Parsing/Css.php 代码中发现,这似乎暗示“溢出”至少对于值“可见”和“隐藏”是可识别的:
case 'overflow':
if (!in_array($val, array('visible', 'hidden'))) {
$val = 'visible';
}
$this->value['overflow'] = $val;
break;
所以我尝试了以下测试用例:
<?php
require __DIR__.'/vendor/autoload.php';
use Spipu\Html2Pdf\Html2Pdf;
$html = <<<EOT
<body>
<style>
.red {
color:red;
width:30px;max-width:30px;
overflow:hidden;
}
.blue {
color:blue;
}
</style>
<table>
<tr>
<td class="red" >totototototototototototototototo</td>
<td class="blue">titi</td>
</tr>
</table>
</body>
</html>
EOT;
$toPdf=false;
if($toPdf) {
$html2pdf = new Html2Pdf();
$html2pdf->writeHTML($html);
$html2pdf->output();
}
else { echo $html; }
我想要在 html 浏览器中呈现的预期输出。
但是 html2pdf 的输出只是忽略了 css 溢出指令(见捕获)。
我做错了什么吗?
有办法吗?
如果可能的话,我想要一个 CSS solution/turnaround,没有基于子字符串截断的解决方案(因为这样的解决方案会产生灾难性的结果,例如“WWWMMWMWWM”与“iiilliilli”之类的字符串,每个 10 个字符,完全不同的宽度)。
如果有任何解决方案或对解决方案的任何提示,我将不胜感激。
提前致谢。
此处在浏览器中输出html,以及html2pdf制作的PDF输出。
overflow:hidden
似乎终于可以使用 DIV 元素了。
但是 display:inline-block
和 float:left
都没有,这将允许并排 DIVs...
再进行几次测试,我找到了转机:DIV 每个 TD 中有 overflow:hidden
...