Automatische Seitenumbrüche innerhalb einer einzigen Multicell mit FPDF

26.01.2012 11:54 Uhr

Kennt jemand eine gute Lösung, um in FPDF einen großen Text (mehr als eine PDF-Seite) aus einer Datenbankabfrage auszugeben?

Anforderungen:

  • Multicell (Automatische Zeilenumbrüche)
  • Automatischer Seitenumbruch

Derzeit löse ich dies, indem ich den Text in einzelne Absätze aufsplitte und dann jeden einzeln als Multicell ausgebe. Vor der Ausgabe jeder Multicell prüfe ich anhand von Näherungswerten auf Basis von GetStringWidth, ob der nächste Absatz noch passen kann und mache ggf. einen manuellen Seitenumbruch.

Habe ich ein Feature von FPDF übersehen (kenne die Library erst seit zwei Wochen) oder gibt es eventuell eine passende Erweiterung, um innerhalb einer einzigen Multicell AutoPageBreaks zu aktivieren?

4 Antworten

#1

26.01.2012 17:56 Uhr

Hast Du es mit SetAutoPageBreak() probiert?

http://www.fpdf.de/funktionsreferenz/SetAutoPageBreak/

Das sollte ja eigentlich genau den Zweck erfüllen, ob das auch automatisch mit MultiCell funktioniert, vermag ich aber nicht sagen.

 

#2

26.01.2012 19:56 Uhr

Jupp, habe ich probiert. Funktioniert leider nicht innerhalb einer Multicell, die die Seitengrenze sprengt.

#3

26.01.2012 21:54 Uhr

Vielleicht hilft Dir das:

Lad Dir mal diese Klasse runter: http://www.fpdf.de/downloads/addons/3/

Darin schmeisst Du Zeile 39 mal raus, bzw. auskommentieren.

Und statt des dortigen Beispiels probier mal das: http://pastebin.com/7Ny6PW6W

bzw. ersetze $data entsprechend mit deinem Inhalt.

#4

26.01.2012 22:37 Uhr

Dank Dir kai. Probiere ich in den nächsten Tagen mal aus. Kannte die Klasse zwar schon, hab aber nie dran gedacht, die für etwas anderes als richtige Tabellen einzusetzen. Manchmal sieht man halt den Wald vor lauter Bäumen nicht.

Ähnliche Fragen



Datenschutzerklärung · Impressum