我正在尝试在A4纸上打印行,无论行数。 行占据A4纸(297mm)的整个长度非常重要。
例:
因此,如果我想要4行,这意味着纸A4的整个长度除以4
并打印,使四行同样占据整张A4纸。
问题是最后一行打印在不同的纸张上
我不知道为什么?
有没有人有建议如何解决问题?
这是我的php代码:
<?php
require('fpdf/fpdf.php');
class PDF extends FPDF {
}
$pdf = new PDF('P', 'mm', array(210, 297));
$pdf->SetFont('Arial', '', 8);
$pdf->AddPage();
$widhtMM = 210;
$pdf->SetMargins(0, 0, 0, 0);
$heightMM = 295;
$pdf->SetXY(0, 0);
$marginTop = 0;
$rows = 7;
$testo = '';
for($i = 0; $i < $rows; $i++) {
$heightMM = 297 / $rows;
if ($i == 0) {
$marginTop = 0;
} else {
$marginTop += $heightMM;
}
$pdf->SetXY(0, $marginTop);
$pdf->Cell($widhtMM, $heightMM, $heightMM, 'LRTB', 0, 'L', 0);
$pdf->Ln();
}
$pdf->Output();
?>
答案 0 :(得分:1)
您需要在添加页面之前设置自动分页符(默认情况下是2cm底部边距):
$pdf->SetAutoPageBreak(TRUE, 0);
http://www.fpdf.org/en/doc/setautopagebreak.htm
如果你稍微更改一下代码会更好:
$heightMM = 297 / $rows;
for($i = 0; $i < $rows; $i++) {
$marginTop = $i*$heightMM;
$pdf->SetXY(0, $marginTop);
$pdf->Cell($widhtMM, $heightMM, $heightMM, 'LRTB', 0, 'L', 0);
$pdf->Ln();
}