【问题标题】:Why does TCPDF add weird top space in my PDF?为什么 TCPDF 在我的 PDF 中添加奇怪的顶部空间?
【发布时间】:2021-01-12 19:28:34
【问题描述】:

我想使用 TCPDF 将 html 导出为 PDF,但在文档顶部出现了一些奇怪的空间。我想我已将所有边距和填充选项设置为零,但我无法摆脱它。谁能帮我?我在主容器和 h1 顶部添加了一个红色边框以查看它的对齐位置。正如您在屏幕截图中看到的那样,它们顶部有空间。

记录在案:

  • Laravel 8
  • PHP 7.4
  • TCPD 6.3.2

我的 PDF 设置:

$pdf = new TCPDF($config['orientation'], 'pt', $pageLayout, true, 'UTF-8', false);
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(0, 0, 0,true);
$pdf->setCellPaddings(0,0,0,0);
$pdf->setCellMargins(0,0,0,0);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->SetPrintHeader(false);
$pdf->SetPrintFooter(false);
$pdf->AddPage();
$pdf->writeHTML($html, false, false, false, false, 'top');
$fileName = date('YmdHis').'-document.pdf';
return $pdf->Output($fileName, 'I');

这是我的 CSS:

*{
    margin:0;
    padding:0;
}
@page{
    size: 21cm 24cm;
    margin:0;
    padding:0;
    clear: both;
}
html, body {
    width:617px;
    height:617px;
    margin:0;
    padding:0;
    clear: both;
}
.print-page-container {
    clear: both;
    width:617px;
    margin:0;
    padding:0;
    font-family: 'D-DIN', sans-serif;
    font-size: 12px;
    background:#fff;
    color:#000;

    border-top:1px solid #ff0000;
}
.h1 {
    clear: both;
    font-family: 'D-DIN', sans-serif;
    font-size: 40px;

    border-top:1px solid #ff0000;
}

这是我的 HTML

<body>
<div class="print-page-container">
    <div class="h1">Colli ID: #06021</div>
</div>
</body>

还有截图:

【问题讨论】:

    标签: php html css tcpdf


    【解决方案1】:

    Jeej 通过添加来修复它:

    $tagvs = array(
        'div' => array(0 => array('h' => 0, 'n' => 0), 1 => array('h' => 0, 'n' => 0))
    );
    $pdf->setHtmlVSpace($tagvs);
    

    TCPD 为 div 添加间距。

    【讨论】:

      猜你喜欢
      • 2010-11-05
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      • 2011-11-27
      • 1970-01-01
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多