Font bei Printerausgabe bestimmen

02/09/2008 - 14:00 von urs.augsburger | Report spam
Hallo,
bei einer Ausgabe auf den Printer in VB sollte ich einen bestimmten
Font verwenden.
-wie kann ich feststellen ob der Font verfügbar ist?
-wie sorge ich dafür, dass der Font tatsàchlich verwendet wird
-und wie kann ich den Zeichenabstand des Fonts veràndern.

ich habe folgenden Ansatz gewàhlt, komme aber damit nicht weit, da
einfach die Standardschrift gedruckt wird.

Public BP4ESRFont As New Font(FontFamily.GenericSansSerif, 10,
FontStyle.Regular)
Dim g As Graphics = e.Graphics
g.PageUnit = GraphicsUnit.Millimeter

g.DrawString(myCode, BP4ESRFont, Brushes.Black, PageOffsetCode_x,
PageOffsetCode_y)

auch wenn ich die erste Zeile wie folgt àndere bleibt der Ausdruck
unveràndert.

Public BP4ESRFont As New Font("FontName", 10, FontStyle.Regular)

Danke für die Hilfe.
Urs
 

Lesen sie die antworten

#1 Peter Götz
02/09/2008 - 15:01 | Warnen spam
Hallo Urs,

bei einer Ausgabe auf den Printer in VB sollte ich einen
bestimmten Font verwenden.
-wie kann ich feststellen ob der Font verfügbar ist?



Du kannst dem Benutzer einen Windows-FontDialog
geben und dort die gewünschte Schriftart auswàhlen
lassen.

Eine andere Möglichkeit bietet

System.Drawing.Text.InstalliedFonCollection

Damit kannst Du Dir alle installierten Schriften auflisten
lassen.

Dim FC as new System.Drawing.Text.InstalledFontCollection
Dim FF as FontFaily
For Each FF in FC.Families
Console.Writeline(FF.Name)
Next

-wie sorge ich dafür, dass der Font tatsàchlich verwendet wird

In der sub PrintDocument_PrintPage:

Dim G as Graphics = e.Graphics
Dim Fnt as new Font("Arial", 12, FontStyle.Bold)

G.DrawString("Text", Fnt, Brushes.Black, X, Y)

-und wie kann ich den Zeichenabstand des Fonts veràndern.



Beim Fontobjekt selbst gar nicht.
Bei Bedarf musst Du den Text in einzelne Zeichen zerlegen
und jedes der Zeichen entsprechend positioniert drucken.

Mehr dazu findest Du unter

www.gssg.de -> Visual Basic -> VB.net
-> Print Sample
Drucken mit dem PrintDocument -Objekt

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen