Hier mal mein Textcode, der funktioniert auch, bis auf ein Problem. Mit
zunehmender Seitenzahl druckt er immer weiter in den unteren nicht bedruckbaren
Rand, es fehlen also Zeilen.
Aber ich sehe beim besten Willen nicht, warum das geschieht.
Vielleicht starre ich schon zu lange auf die Zeilen... )-:
textkomplett=Beschreibungstext
Verfügbare_höhe=resthoch//
dim seitenanzahl as Integer
do until fertig=1
text1=textkomplett
länge=len(text1)
do until g.StringHeight(text1,randrechts-randlinks-30) <=
Verfügbare_höhe
text1=left(textkomplett,länge)
länge=länge-100
loop
artikeltext.Append(left(text1,länge))
textkomplett=mid(textkomplett,länge+1)
// fertig oder noch eine Seite
if g.stringheight(textkomplett,randrechts-randlinks-30)>
gesamthoch-randunten-beginnzweiteseite-obererrand then // weiter teilen
Verfügbare_höhe=(gesamthoch-randunten-beginnzweiteseite-obererrand)//
else
if len(textkomplett)>0 then artikeltext.Append(textkomplett)
fertig=1
end if
loop
> Nur mal so angedacht: bereits bei erstellen des textes anzahl der 'anschläge'
> pro zeile und der zeilen pro seite festlegen damit dann beim druck zum einen
> nur x 'anschläge' pro zeile (=linksbündiger flattersatz) gedruckt werden,
> bzw. nach jeweils nach y zeilen automatisch die neue druckseite begonnen wird.
>
> gruss enno
>
> Am 08.06.11 10:56, schrieb Stefan Sicurella:
>> Hi,
>>
>> ich drucke einen Text mit Drawstring auf eine Seite.
>> Dabei prüfe ich die Höhe des bedruckbaren Bereiches = printersetup.height
>> und die Höhe des Textes beim Druck = g.stringheight(Text,druckbreite)
>>
>> Nun ist der Wert höher als der mir zur Verfügung stehende Platz und muss die
>> Text aufsplitten, evtl. sogar über viele Seiten.
>>
>> Aber egal wie ich das anstelle, es bleiben mir nur Näherungswerte, das haut
>> manchmal hin und manchmal nicht.
>>
>>
>>
>> Habt ihr eine Idee?
>>
>>
>> Gruß
>>
>>
>> Stefan
>>
>