Um Rechnungen und Lieferscheine auszudrucken verwende ich FPDF und das funzt auch so weit ganz gut.
Zumindest so lange, wie ich die Default-Einstellungen nicht ändere.
Default ist eingestellt, das er nach 20 Rechnungspositionen eine Folgeseite beginnt. Das klappt auch.
Nun hat aber die Default-Rechnungsposition nur eine Zeile. Ich brauche aber eine, zwei, drei und manchmal 4 Zeilen je Artikel.
Das sieht so aus:
(Einzeilig)
[ATTACH=CONFIG]935[/ATTACH]
(Mehrzeilig)
[ATTACH=CONFIG]936[/ATTACH]
Der Codeschnipsel dazu:
//Check for product line overflow
$item_count++;
if ((is_long($item_count / 32) && $i >= 20) || ($i == 20)){
$pdf->AddPage();
//Fields Name position
$Y_Fields_Name_position = 125;
//Table position, under Fields Name
$Y_Table_Position = 70;
output_table_heading($Y_Table_Position-$rowheight);
if ($i == 20) $item_count = 1;
}
}
$Y_Table_Position += 4;
if ( $Y_Table_Position > 240 ) {
$pdf->AddPage();
$Y_Table_Position = 70;
}
Alles anzeigen
Jetzt ist mir absolut nicht klar, wie ich das Ding dazu bringen könnte, das es den Seitenumbruch an der richtigen Stelle macht, wenn ich einzeilige und mehrzeilige Artikel da reindrucken will.
Muß ich etwa alle Rechnungspositionen jetzt 4-zeilig machen, weil das die maximale Höhe ist und einfach die Anzahl der Positionen von 20 auf z.B. 10 reduzieren?
Oder geht das eleganter?
Ausserdem erschließt sich mir der Sinn dieses Dingens ja gar nicht: Zeile 2: ($item_count / 32)
Ganz spassig wird es, wenn er beginnt Folgeseiten zu drucken
Da druckt er jeweile eine Zelle der nächsten Rechnungsposition in die neue Seite. Sonst ist da nur mein Logo und der Footer. Dann nimmt er eine neue Seite und druckt die nächste Zelle rein.
WTF?
[ATTACH=CONFIG]937[/ATTACH][ATTACH=CONFIG]938[/ATTACH][ATTACH=CONFIG]939[/ATTACH]