tcpdf 为啥有些css不支持

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tcpdf 为啥有些css不支持相关的知识,希望对你有一定的参考价值。

用tcpdf 将html生成pdf 为什么有些css不支持

参考技术A 肯定的呀 html和pdf编码都不一样追问

那我想将html 生成pdf 需要html需要按照pdf得编码格式写吗 还是有其他得方法

参考技术B 生成pdf 不要想那么简单
css有些写法都不支持
比如style支持 '不支持"
参考技术C 如果你不是在云环境如sae/tce,删掉项目目录的数据库缓存文件即可,这个一般是你修改了数据库字段后而没有清除缓存导致的。如果是云环境,需要删除memcache里面保存的缓存。

为啥在 php 中使用 TCPDF 的单元格中存在左侧和顶部填充?

【中文标题】为啥在 php 中使用 TCPDF 的单元格中存在左侧和顶部填充?【英文标题】:Why is there a left and top padding in a cell using TCPDF in php?为什么在 php 中使用 TCPDF 的单元格中存在左侧和顶部填充? 【发布时间】:2011-09-22 22:09:30 【问题描述】:

我正在使用 php 中的 TCPDF(http://www.tcdf.org/) 类打印一个单元格。单元格应放在左上角。

一切都很好,除了在单元格内添加了左侧和顶部填充。

这是我的代码:

require_once('../config/lang/eng.php');
require_once('../tcpdf.php');

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

$pdf->SetMargins(0,0,0);
$pdf->SetAutoPageBreak(0,0);
$pdf->SetFont('dejavusans', '', 8.5, '', true);

$pdf->AddPage('L', array(50.8,88.9));
$pdf->SetDisplayMode(100,'default');

$pdf->SetXY(0, 0);
$pdf->Cell(0,2.98740833, "Your Name", '1', 2, 'L', false); //Name

$pdf->Output('example.pdf', 'I');

这是使用 TCPDF 输出的 PDF 的屏幕截图:

这是同一单元格放大 300% 的屏幕截图:

如何删除不需要的填充?

///编辑///

我设法通过使用 setCellPaddings() 函数删除了左侧填充:

$pdf->setCellPaddings(0,0,0,0);

然而,我仍然在单元格内的文本上方和下方得到填充:

我可以增加单元格的大小,但是当我尝试使单元格的高度更小以尝试将其关闭在文本上时,单元格不会比当前大小更小。如何降低单元格的高度或删除不需要的单元格顶部和底部填充?

【问题讨论】:

就我而言,我只是想删除左右填充,所以我的代码是$pdf->setCellPaddings(0,'','',0);。感谢您的提问和回答,我可以很容易地弄清楚这一点...... 【参考方案1】:

如果我没记错的话,它不是填充,而是延伸到基线以下的字母(例如“g”)、重音符号、下标和上标的空间。

我在文本中使用了一些重音字母尝试了您的代码。这是结果:

相关: - Baseline (typography) - Subscript & Superscript

【讨论】:

【参考方案2】:

另外注意,您可以通过为 Cell 函数中的 ignoreMinHeight 参数传递 TRUE 来减小单元格的高度。

【讨论】:

以上是关于tcpdf 为啥有些css不支持的主要内容,如果未能解决你的问题,请参考以下文章

为啥新版IE和Edge不支持CSS滤镜效果?

php tcpdf怎么使用中文乱码

为啥不建议使用 polyfill 来支持 CSS3 选择器?

TCPDF 不呈现所有 CSS 属性

为啥chrome还不支持断点续传

如何为每页tcpdf设置背景颜色