取り急ぎ、、、
1.2.12-devにて現象を確認しました。。。
2.data/class/helper/SC_Helper_FPDI.php
function FancyTable($header, $data, $w){}
内の
$y = $this->y;
$this->y = $y;
をコメントアウトすることで、『多ページ』での「無駄に印刷」は無くなりました。
3.2.12.0でも有効かどうかは、未確認です。
4.また、該当コードの本来の意図までは、まだ、追えていないので「コメントアウト」による、他の弊害が発生するかもしれません。。。
function FancyTable($header, $data, $w) {
// Colors, line width and bold font
$this->SetFillColor(216, 216, 216);
$this->SetTextColor(0);
$this->SetDrawColor(0, 0, 0);
$this->SetLineWidth(.3);
$this->SetFont('', 'B');
// Header
for ($i = 0; $i < count($header); $i++) {
$this->Cell($w[$i], 7, $header[$i], 1, 0, 'C', 1);
}
$this->Ln();
// Color and font restoration
$this->SetFillColor(235, 235, 235);
$this->SetTextColor(0);
$this->SetFont('');
// Data
$fill = 0;
$h = 4;
foreach ($data as $row) {
$h = 4;
$i = 0;
// $y = $this->y;
$this->Cell(5, $h, '', 0, 0, '', 0, '');
foreach ($row as $col) {
// $this->y = $y;
// FIXME 汎用的ではない処理。この指定は呼び出し元で行うようにしたい。
if ($i == 0) {
$align = 'L';
} else {
$align = 'R';
}
$h = $this->SJISMultiCellForFancyTable($w[$i], $h, $col, 1, $align, $fill, 0);
$i++;
}
$this->Ln();
$fill = !$fill;
}
$this->Cell(5, $h, '', 0, 0, '', 0, '');
$this->Cell(array_sum($w), 0, '', 'T');
$this->SetFillColor(255);
}