German PDFWriter - Wie kann man mehr als 50 Zeilen aus einer Tabelle auf mehrere Seiten ausgeben?

Cableguy

Expert
Licensed User
Longtime User
In the general (international) part of the forum, Please write in English!
 

JOTHA

Well-Known Member
Licensed User
Longtime User
Please write in English!
Cableguy, thank you for your response.
Do you know, how to transfer the german question to the german forum?

btw ... there is a link to the english question ... (on the last line)
 

Wolli013

Well-Known Member
Licensed User
Longtime User
Indem du beim erstellen einen Zeilenzähler mit einbaust und wenn die Zeile 50 erreicht ist,
gibst du den Befehl das eine neue Seite erstellt werden soll, wo es dann weiter geht.
 

pucki

Active Member
Licensed User
Longtime User
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.

B4X:
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
 
Last edited:

pucki

Active Member
Licensed User
Longtime User
Bei Fettschrift ändert sich zwar die Breite der Buchstaben, aber die Zeilenhöhe bleibt gleich.
Ok. habe ich nie getestet, da meine Druckroutine eh Zeilenhöhe und Textbreite wenn nötig berechnet. ;)

Aber danke für die Info

Gruß

Pucki
 
Top