So einfach geht es nur wenn du Glück hast.
Normal mache ich das so.
Ich einige mich auf eine Maßeinheit. Dann frage ich den Drucker wie lang das Papier ist. Dann suche ich mir eine Schrift aus, und berechne die Höhe der Schrift.
Mit den Infos geht es dann los.
Lauf = true
zh = Zeilenhohe ' muss berechnet werden aufgrund der Schriftart.
akt_pos = 0
blatt_lang = blattlange ' anfrage an den Druckertreiber (nicht immer ist es A4) alternativ zwingt man den Drucker auf A4.
do while lauf = true
drucke_eine_Zeile
akt_pos = akt_pos + zh
if akt_pos > blatt_lang - zh then ' wenn am ende angelangt ist !!
wechsel_die_seite ' routine für neue Seite
akt_pos = 0
end if
if letzte_zeile then lauf = false ' wenn fertig mit drucken
loop
Grund für die ganze Sache. Schriften sind unterschiedlich hoch. Das wird nicht nur durch die Schrifthöhe sondern auch durch die Schriftart und deren Eigenschaften festgelegt. Die Tatsache das du Fett druckst, z.b. verändert die Länge und auch die Höhe der Schrift.
Du kannst als Alternative auch ALLE Werte festlegen. Dann passt es auch weil du es aus gefummelt hast. Aber du bist dann so Flexibel wie ein Stahlträger. Wenn du von z.b. von Ariel auf eine andere Schriftart wechselt bricht alles zusammen.
Wenn du rechtsbündig drucken willst, musst du im voraus !! wie breit der Text ist. Und dann musst du berechnet wo der Text starten so.
Wichtig ist das du immer weißt wo die x (zur_Seite) + y (nach_unten) Position ist, wo der Druck beginnt.
Gruß
Pucki