PHP FPDF Seitenumbruch in variablen Blöcken verhindern

lordg2009

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.559
Hi,

ich erstelle gerade PDFs mit FPDF. Es geht um Seiten mit Header, Content und Footer.

Im Variablen Content-Teil Werden Fragen unterschiedlicher Länge mit multiple-choise antworten erstellt. Die Antworten sind schon alle eingerückt, usw.

Die einzelnen Fragen sollen nicht vom automatischen Seitenumbruch zerteilt werden.

Setze ich nun vor und nach die Anweisung ein
$pdf->SetAutoPageBreak(false);
und
$pdf->SetAutoPageBreak(true);

Wird die Antwort in den Boden geschrieben.

Das soll natürlich nicht passieren. Habt ihr eine Idee?
 
Das automatische Generieren von PDFs ist eine Kunst für sich. Da hilft nur Trial & Error.

Insgesamt hast du 2 Optionen:
- lass Page Break machen, wie es denkt
- erzwinge den Umbruch woanders. Wenn ich mich recht erinnere kannst du berechnen lassen, wie hoch ein Block wird, bevor du ihn ausgibst. Wenn Restseite flacher als Blockhöhe -> reagiere entsprechend.
 
Naja, man muss ja alle Zeilenhöhen angeben. Hab darüber vorausberechnet und einen Zeilenumbruch entsprechend eingefügt. Das einzige Problem ist, wenn eine MultiCell mehrere Zeilen einnimmt. In dem Fall wird halt in der Frage gebrochen, der beste Kompromiss...

Aber es ist schon echt geil. Man gibt etwas in eine html Maske ein, und daraus wird ein pdf erzeugt, was wirklich schick aussieht. Die Möglichkeiten faszinieren mich doch immer wieder. :)
 
Richtig viel Spaß macht es trotzdem nicht, auch wenn ich selbst damit schon halbwegs pflegeleichte PDF-Generatoren geschrieben habe (z.B. für Gutscheine).
Aber: Du kannst die Zeilenhöhe von Multicell sehr wohl bestimmen und entsprechend agieren. Du musst nur etwas um die Ecke denken.

http://fpdf.de/forum/showthread.php?t=1873
 
Das ist ja geil. Darauf muss man erstmal kommen. Eine Art Schmierzettel, der ausgewertet und dann verworfen wird.
 
Am besten schreibt man das dann noch in eine kleine praktische Funktion, die man bei Bedarf aufruft. Im Idealfall erweitert man die Klasse FPDF um eine entsprechende Funktion, da man ja eh FPDF bereits erweitert haben dürfte, um Header/Footer zu erstellen.
 
Zurück
Oben