首页 > 解决方案 > Tcpdf - writeHtml() 问题

问题描述

我需要创建 pdf 文件宽度 62mm 高度 35mm 内容:

在此处输入图像描述

我为此使用 tcpdf:

    $pdf = new TCPDF('L', PDF_UNIT, [62,35], true, 'UTF-8', false);
    $pdf->SetMargins(2, 2, 2);
    $pdf->SetHeaderMargin(5);
    $pdf->SetFooterMargin(0);
    $pdf->SetPrintHeader(false);
    $pdf->SetPrintFooter(false);
    $pdf->AddPage();
    $html = '<style>p{font-size: 5px;border-bottom:1px solid #9A0000;}span{font-size: 16px;}</style><p>mandelaugen group gmbh, lzernerstrasse 49, 5712 beinwil am se</p><span>Company</span><br><span>First name Last name</span><br><span>Address</span><br><span>5712 Beinwil am Se</span>';
    $pdf->writeHTML($html, true, false, true, false, '');
    $pdf->Output('test.pdf', 'I');

无法理解为什么最后一行在第二页,它必须在第一页。以及如何添加littele top margin?

我的结果是这样的:

在此处输入图像描述

标签: phphtmlpdftcpdf

解决方案


我在评论中看到您可能已切换到 mPdf,但我会将其留在这里以供将来的搜索者使用:

除了设置页边距之外,还有一个默认打开的自动分页符,它有自己的分页符底部边距。我认为默认值为 2 厘米。

如果要完全禁用自动分页符,请调用:

$pdf->SetAutoPageBreak(false);

或者,如果您想保留自动分页,但想设置自己的分页边距,请将第一个参数设置为 true,将第二个参数设置为您想要的 PDF 单位的分页边距。

例如:

$pdf->SetAutoPageBreak(true, 0); //Use entire page before auto break.
$pdf->SetAutoPageBreak(true, 10); //In the above example, 10mm

推荐阅读