TCPDF - DIV显示前后的额外空间

时间:2014-01-16 05:45:24

标签: php html pdf pdf-generation tcpdf

我正在使用TCPDF转换pdf中的长格式。我的html结构是这样的:

<table cellspacing='0' cellpadding='0' border='0'>
  <tr>
      <td>
          <div style="page-break-inside: avoid;"> ..one more table ..</div>
      </td>
  </tr>
</table>

但是在PDF的输出中,div之前和之后有一些额外的空间(大约20px)。当我删除<div>时,它看起来很完美。但我不能删除它。我无法找到解决方案。

任何建议都将不胜感激。感谢

3 个答案:

答案 0 :(得分:6)

解释块<td>内的空间。 您可以像这样编写代码来删除空格:

<table cellspacing='0' cellpadding='0' border='0'>
  <tr>
      <td><div style="page-break-inside: avoid;"> ..one more table ..</div></td>
  </tr>
</table>

如果您使用模板语言作为Twig或Smarty,可以使用一些解决方案来放置代码:
树枝:{% spaceless %} http://twig.sensiolabs.org/doc/tags/spaceless.html
Smarty:{strip} http://www.smarty.net/docsv2/fr/language.function.strip.tpl

答案 1 :(得分:5)

我知道这是旧的,但请查看setHtmlVSpace类。

答案 2 :(得分:0)

要设置HTML标签的垂直空间,在这种情况下为'div',请使用:

$tagvs = {'div' => [{'h' => 0, 'n' => 0}, {'h' => 0, 'n' => 0}]}
$pdf->setHtmlVSpace($tagvs);

$ tagvs:标记数组和相对垂直空间。

[{'h'=> 0,'n'=> 0},{'h'=> 0,'n'=> 0}]:第一个用于打开标签'div',第二个用于关闭标签' / div'。

'h':垂直空间单位

'n':要添加的数字空间