Laden...

Drucken: Anzahl der Zeichen pro Zeile

Erstellt von Dr.Z vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.194 Views
Dr.Z Themenstarter:in
88 Beiträge seit 2007
vor 15 Jahren
Drucken: Anzahl der Zeichen pro Zeile

Hallo zusammen,

ich beschäftige mich momentan mit dem Drucken aus C# heraus. Das klappt an sich eigentlich ganz gut.
Um das drucken an sich wesentlich flexibler zu gestalten, habe ich mich gefragt, ob es möglich ist, anhand der Schriftgröße und z.B der Papiergröße des Druckers eine maximale Zeilenanzahl bzw. Zeichenanzahl pro Zeile zu ermitteln.

Als Schrifttyp verwende ich immer "FontFamily.GenericMonospace". Das heißt, alle Zeichen besitzen die selbe Breite.

Da aber die Schriftgröße von Druck zu Druck varieren kann, wollte ich fragen, ob es eine möglichkeit gibt zu ermitteln, wieviele Zeichen pro Zeile und Zeilen mir insgesamt zur Verfügung stehen.

Bei einer Seitengröße von 200 + 400 LE und einer Schriftgröße von 11 kann ich ja nicht wie folgt vorgehen:
200 / 11 = 18,18... -> 18 Zeichen Pro Zeile
400 / 11 = 36,36... -> 36 Zeichen Pro Zeile.

Das geht ja nicht. 🙂
Habt ihr da eine Idee, wie ich da genau vorgehen kann / soll / muss?

vielen Dank

Dr. Z

2.082 Beiträge seit 2005
vor 15 Jahren

Hallo Dr.Z,

die DPI kann sich von Druckereinstellung zu Druckereinstellung unterscheiden -> andere Maße...

Außerdem musst du auch Seitenränder und Papiermaße beachten.

Du kannst aber per Graphics-Objekt berechnen, welche Breite der Text benötigt.

Mit

Graphics g = Graphics.FromHandle(printForm.Handle);
g.MeasureString(...);

Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de