Druckausgabe - neue Zeile nach Text einfügen

18/02/2010 - 08:13 von Andreas Ahrens | Report spam
Hi NG,

wie kann ich bei der Druckausgabe einen Zeilenumbruch nach dem gedruckten
Text einfügen?

Gruß
Andy
 

Lesen sie die antworten

#1 Frank Dzaebel
18/02/2010 - 19:35 | Warnen spam
Hallo Andreas,

wie kann ich bei der Druckausgabe einen Zeilenumbruch
nach dem gedruckten Text einfügen?



Normal berechnet man ja sowieso für jedes neue
Graphics.DrawString (wenn es denn so implementiert ist)
eine neue Position. Eine eines Postings diesbzgl. von
mir (es ging darum, die Zeilenhöhe selber wiederum
auch noch zu modifizieren, darus resultieren aber einige
gute Links für das Thema).
____________

[Drucken und Zeichnen mit GDI+ Teil 1]
http://msdn.microsoft.com/de-de/lib...79081.aspx

Wann/Wo Du die nàchste Zeile wieder neu
zeichnest ist ja in Deiner Hand.
Wenn Du 7 Pixel Abstand haben möchtest,
addierst Du eben 7 Pixel auf.
Für mehrere Seiten zum Beispiel:

[Gewusst wie: Drucken einer mehrseitigen Textdatei in Windows Forms]
http://msdn.microsoft.com/de-de/lib...e712d.aspx

Hier auch ein Codebeispiel:
http://www.dotnetpro.de/articles/do...df.ashx?id‰2
(suche "ypos" oder Zeilenhöhe)
_______________________

Im Prinzip bei diesen Verfahren ja.
Ggf. könnte man noch über TextRenderer.DrawText
(anstatt DrawString) mit ExternalLeading-Format Einfluß nehmen:

[TextFormatFlags-Enumeration (System.Windows.Forms)]
http://msdn.microsoft.com/de-de/lib...flags.aspx
___________

Mit der Methode: e.Graphics.DrawString(str, this.Font, drawBrush, rect);
geht das nicht?



Die Methode zeichnet normal relativ zur Font-Höhe. Die folgenden Beispiele
machen das um Beispiel so. Nur bei einer neuen Zeile kann man
(in diesen Beispielen) die "lineHeight" etwa höher setzen:

[Graphics, Multimedia, and Printing Recipes-Recipe 8 15 at C# Online.NET
(CSharp-Online.NET)]
http://en.csharp-online.net/Graphic...ecipe_8_15

[Notepad.NET - Printing a multiline textbox in C# and .NET]
http://www.c-sharpcorner.com/Upload...otNet.aspx

_____________

Ggf. könnte man auch über ein FlowDocument (WPF)
nachdenken, und dieses über ElementHost in Windows Forms
benutzen:

[FlowDocument.LineHeight-Eigenschaft (System.Windows.Documents)]
http://msdn.microsoft.com/de-de/lib...eight.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen