问题描述
我想使用 TCPDF 将 html 导出为 PDF,但在文档顶部出现了一些奇怪的空间。我想我已经将所有 Margin 和 Padding 选项设置为零,但我无法摆脱它。谁能帮我?我在主容器和 h1 上添加了一个红色边框顶部以查看它对齐的位置。正如您在屏幕截图中看到的,它们顶部有空间。
记录:
我的 PDF 设置:
$pdf = new TCPDF($config['orientation'],'pt',$pageLayout,true,'UTF-8',false);
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(0,true);
$pdf->setCellPaddings(0,0);
$pdf->setCellMargins(0,0);
$pdf->setimageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->SetPrintHeader(false);
$pdf->SetPrintFooter(false);
$pdf->AddPage();
$pdf->writeHTML($html,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>
解决方法
Jeej 通过添加:
$tagvs = array(
'div' => array(0 => array('h' => 0,'n' => 0),1 => array('h' => 0,'n' => 0))
);
$pdf->setHtmlVSpace($tagvs);
TCPD 为 div 添加间距。