输出到PDF时出现问题。我们的想法是拥有横跨A4文档整个宽度的横幅图像。然后我在下面有一个表单,但它一直对齐页面的左边。我想设置一些保证金。以下是我到目前为止的情况:
$pdf = new PDF();
$pdf->SetMargins(1,1,1);
$pdf->SetXY(-1,-1);
$pdf->AddPage();
$pdf->SetFont('Arial','',12);
//Insert Banner
$pdf->Image('../assets/pdfBanner.png');
$pdf->Ln();
//Insert Indemnity form
$text=$pdf->WriteHTML($indemRow['form']);
$nb=$pdf->WordWrap($text,120);
$pdf->MultiCell(300, 10, $pdf->Write(500,$text));
$pdf->Ln();
//Insert Signature
$x = $pdf->GetX();
$y = $pdf->GetY();
$pdf->MultiCell(30, 10, $pdf->WriteHTML('<u>Signature </ul>'));
$pdf->SetXY($x + 30, $y);
$pdf->MultiCell(63, 10, $pdf->Image('signature1.png'));
$pdf->Ln(0);
$pdf->Output('test.pdf', 'D');
我的问题是//插入赔偿表单下的几行。我想要一些保证金,我认为使用SetMarginLeft();
会做我,但事实并非如此。请帮忙!
答案 0 :(得分:0)
在输出表格之前,您必须将x设置为适当的值。
$pdf->setX(20);
或者,您可以在输出任何人之前设置边距。但我并不是百分百确定如何使用全宽横幅。
答案 1 :(得分:0)
这似乎是fpdf.php源文件中的一个错误。不要害怕自己解决它!打开fpdf.php文件,查找SetMargins()实现,在这个函数的下面你会发现SetLeftMargin()的实现,它可以正常工作。您将在后一个函数中找到几行代码,用于检查和设置私有变量“x”。这些指令不在SetMargins()实现中,并且是导致问题的最可能原因。只需在SetMargins()函数的末尾复制和调整这些行。这是我的修复:
if($this->page > 0 && $this->x < $left)
$this->x = $left;
最后在SetMargins()中复制这些行。