我正努力在tcpdf中获得准确的定位。我试图在多个地方使用SetMargins(),但我必须误解这个方法的用法。 它似乎没有像我期望的那样起作用。
$pdf->SetFont('helvetica', '', 12);
$pdf->AddPage();
$pdf->SetMargins(10, 10, 10, true); // set the margins
$html = 'Here is some text';
$pdf->writeHTMLCell(0, 0, '', '', $html, 'LRTB', 1, 0, true, 'L', true);
$pdf->SetMargins(0, 10, 0, true); // put space of 10 on top
$pdf->writeHTMLCell(0, 0, '', '', $html, 'LRTB', 1, 0, true, 'C', true);
$pdf->writeHTMLCell(0, 0, '', '', $html, 'LRTB', 1, 0, true, 'R', true);
$pdf->Output('example_002.pdf', 'I');
我肯定会得到一个输出,但我期待第一个和第二个writeHTMLCell()在它们之间重置空间。
http://www.tcpdf.org/doc/classTCPDF.html#ab3bbdb7c85ea08d175fd559be6132ba0
文档说第二个参数是上边距。
简而言之,如果有必要,我想弄清每一行的边距。但我可能正在使用错误的方法。 我上面的例子似乎完全忽略了这个参数。但它似乎没有左右参数的问题。
答案 0 :(得分:6)
TCPDF SetMargins
方法是:
SetMargins($left,$top,$right = -1,$keepmargins = false)
所以你可以在AddPage();
方法之前使用它,如下所示:
$pdf->SetMargins(10, 20, 10, true);
$pdf->AddPage();
//your HTML code here ...
$keepmargins(boolean)
如果为true,则覆盖默认页边距。
答案 1 :(得分:1)
使用SetY()代替。这将从页面顶部设置光标位置
答案 2 :(得分:1)
您可以简单地使用:
$pdf->Ln()
$pdf->Ln(15.5)
在两行之间添加垂直空间。
通常只在启动PDF文档时设置一次边距。 不要使用边距来控制水平/垂直坐标。