php - 为什么 TCPDF 在我的 PDF 中添加奇怪的顶部空间?
问题描述
我想使用 TCPDF 将 html 导出为 PDF,但在文档顶部出现了一些奇怪的空间。我想我已将所有边距和填充选项设置为零,但我无法摆脱它。谁能帮我?我在主容器和 h1 顶部添加了一个红色边框以查看它的对齐位置。正如您在屏幕截图中看到的那样,它们顶部有空间。
作为记录:
- 拉拉维尔 8
- php 7.4
- TCPDF 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>
解决方案
Jeej 通过添加以下内容来修复它:
$tagvs = array(
'div' => array(0 => array('h' => 0, 'n' => 0), 1 => array('h' => 0, 'n' => 0))
);
$pdf->setHtmlVSpace($tagvs);
TCPDF 为 div 添加间距。
推荐阅读
- arrays - 排序功能不适用于聊天应用程序的 firebase .onSnapshot
- node.js - 在 NPM 中查找依赖项的根目录
- plugins - Atom:为什么 Linter 不会在文本中突出显示我的错误?
- python - 使用列条件随机采样 Pyspark 数据帧
- sas - 在一个 Proc SQL 查询中聚合不同分组上的多个变量
- r - 使用 rtweet 获得超过 Twitter API 允许的朋友数量
- html - 如何强制超过一行的图像图标和跨度文本使第一行与图像图标对齐?
- javascript - 菜单出现和消失,过渡效果
- linux - 文件系统磁盘使用脚本
- python - 如何在此代码中实现“广度优先搜索”?