Thema: DynaPDF

Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: DynaPDF

  Alt 24. Mai 2013, 12:10
Wenn der Umbruch nicht vor der Einheit kommen darf, dann muss er vorher kommen (vor der Zahl).
Anscheinend beachtet DynaPDF das non breaking space nicht.

Du könntest versuchen den Umbruch selbst vorzunehmen.
Delphi-Quellcode:
// inlist = mehrzeiliger Text
// oulist = umgebrochener Text
// maxwidth = max Breite der Textbox
procedure DoWordBreaks(inlist, outlist:TStrings; maxwidth:double; canvas:TCanvas);
Dazu benötigt man noch die Möglichkeit die Textlänge von beliebigen Strings zu berechnen. *)
Man nimmt Zeile für Zeile, prüft die Länge und wenn zu lang geht man zurück zum nächsten Leerzeichen bis es passt.
Nach dem Textumbruch ersetzt man die non breaking spaces durch normale Leerzeichen und gibt das Ergebnis an DynaPDF weiter.

*) das ist er knackpunkt - gibt es eine Funktion in DynaPDF die einen String und einen Font als Input hat und die Textlänge liefert?
fork me on Github
  Mit Zitat antworten Zitat