Forum: PC-Programmierung Drucken mit VisualC#


von Unbekannt (Gast)


Lesenswert?

Hallo,

Ich möchte in Visual c# einen Text drucken.

Hat jemand vl einen Link oder ein Code-Beispiel?

MFG Unbekannt

von Unbekannt (Gast)


Lesenswert?

Ok habe das problem gelöst:

private void printDocument_PrintPage(object sender, 
System.Drawing.Printing.PrintPageEventArgs e)
{
            Graphics gr = e.Graphics;
            Font fnt = new Font("Arial", 12, FontStyle.Regular);
            Brush br = Brushes.Black;

            string t1 = "Loser";                         // Begünstigter
            gr.DrawString(t1, fnt, br, 23, 51);           // Maße in 
Pixel
}

MFG Unbekannt

von Sven P. (Gast)


Lesenswert?

Nur eine Idee: Denk mal drüber nach, direkt Postscript auszugeben, damit 
kann man meistens mehr anfangen :-)

von Arc N. (arc)


Lesenswert?

Sven P. schrieb:
> Nur eine Idee: Denk mal drüber nach, direkt Postscript auszugeben, damit
> kann man meistens mehr anfangen :-)

Vllt sollte man mal im OSS-Bereich über Benutzerfreundlichkeit 
nachdenken...oder zumindest mal gesehen haben wie das Druckersystem bei 
anderen Systemen aufgebaut ist.

Es muss dem Anwender überlassen sein, ob er das Dokument direkt auf 
einem lokalen oder entfernten Drucker ausgeben will, oder ob ihm der 
Druckertreiber lieber PS, XPS, PDF oder irgendetwas anderes ausgeben 
soll, anstatt ihn zu einem Format zu zwingen, das er dann immernoch 
irgendwie über diverse Umwege auf Papier bringen muss.

von Sven P. (Gast)


Lesenswert?

Und wo ist dein Problem? Z.B. CUPS, das macht aus Postscript alles, aber 
wirklich alles, was du dir nur wünschen könntest. Selbst, wenn der 
Drucker am Arsch der Welt steht. Postscript ist verbreitet und 
universell, im Zweifelsfall auch ohne Drucksystem zu gebrauchen.
Mit Postscript bindet man sich noch nichtmal an ein spezielles 
Drucksystem wie CUPS, jedes andere ernsthafte System kommt damit ebenso 
klar.

Also? Was ist wohl universeller? In irgendwelche Drucksysteme 
reinzukritzeln oder simples Postscript auszugeben...?

von Peter (Gast)


Lesenswert?

wie fragst du denn mit CUPS dei Verfügbaren fächer des Drucker ab, bzw 
wie ermittelnst du Randbereich in welchen der Drucker nicht druckt. Oder 
Abfrage ob der drucker farbe/dublex drucken kann?

Oder wie setzt du das Password für ein Audruck? (Das Password wird ann 
beim drucker eingeben erstn dann wird das dokument gedruck)

von Arc N. (arc)


Lesenswert?

Sven P. schrieb:
> Also? Was ist wohl universeller? In irgendwelche Drucksysteme
> reinzukritzeln oder simples Postscript auszugeben...?

Warum soll das Programm erst umständlich PS erzeugen, um es dann (wir 
reden hier von einem Windows-Programm) bspw. mithilfe von Ghostscript in 
irgendetwas umzuwandeln oder auszudrucken, wenn das Zeichnen sowieso in 
einem EMF/XPS resultiert mit dem der Druckertreiber machen kann was er 
will. Was mindestens genauso universell ist.
Anwender entscheidet -> Programm zeichnet irgendwas -> EMF/XPS -> 
Druckertreiber -> Drucker, PS, PDF, PDF direkt als Mail-Attachment, XPS, 
direkt ans FAX etc.

Edit:
Es gibt unter Windows nur einen universellen Satz von Graphikfunktionen 
(bzw. mit WPF einen zweiten) bei denen es letztlich vollkommen egal ist, 
wie und wo die entsprechenden Ausgaben hingehen.
Bspw. TextOut der erste Parameter ist ein Device-Kontext, ob der Kontext 
nun den Bildschirm oder den Drucker darstellt, ändert an der Funktion 
nichts. Was aber beim Postscript-Ansatz der Fall wäre.

von Sven P. (Gast)


Lesenswert?

Peter schrieb:
> wie fragst du denn mit CUPS dei Verfügbaren fächer des Drucker ab, bzw
> wie ermittelnst du Randbereich in welchen der Drucker nicht druckt. Oder
> Abfrage ob der drucker farbe/dublex drucken kann?
>
> Oder wie setzt du das Password für ein Audruck? (Das Password wird ann
> beim drucker eingeben erstn dann wird das dokument gedruck)

Les die Anleitung zu CUPS, Ghostscript und Foomatic.
Letzteres versorgt den Benutzer mit Informationen über den Drucker, 
Ghostscript wandelt Dokumentformate und CUPS lenkt die Aufträge in die 
gewünschten Bahnen, kümmert sich um Benutzerkonten und Abrechnung.

Eigentlich wollte ich kein dämliches Rumgeflame, sondern nur die Option 
in den Raum stellen, simples und primitives PS auszugeben. Dazu braucht 
man noch nicht einmal eine Bibliothek.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.