Laden...

auf (Label-)Drucker drucken

Erstellt von Dr.Z vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.333 Views
Dr.Z Themenstarter:in
88 Beiträge seit 2007
vor 15 Jahren
auf (Label-)Drucker drucken

Hallo zusammen,

ich habe in einer Anwendung Daten, die ich auf einem Etikettendrucker ausdrucken muss. Bisher habe ich mir so geholfen, die zu druckenden Daten in einem String inklusive "\n" zusammen zu fügen und anschließend zu drucken.

Nun geht es an die Überarbeitung / mehr Neuentwicklung des Programms, da im Laufe der Zeit sich vieles als sehr sehr schwachsinnig programmiert heraus gestellt hat. Nun denke ich, dass dies auch meine Drucklösung ist.


str_print = str_print + "\n                   " + str_kiste + "\n\n" + str_teil + "\n    Ältester Auftrag ist vom:\n    " + str_date;
                prd_print.DocumentName = "Etikettet wird gedurckt";
                prd_print.Print();              
.
.
.

            Font a = new Font(FontFamily.GenericSansSerif, 12, FontStyle.Bold);
            Point p = new Point(0, 0);
            e.Graphics.DrawString(str_print, a, Brushes.Black, rec_etikett);
 

Die Daten nachher an den Drucker zu bekommen, ist nicht das Problem, sondern die Vorgehensweise vorher.

Sollte ich mir vorher eine temporäre Datei erzeugen und meine Daten Zeilenweise darin speichern und diese Datei dann letztendlich drucken?
Sollte diese Methode geeignet sein, was muss ich dann letztendlich beim drucken beachten? Papiergröße, Ränder usw?!

Oder ist dies eher nicht so sinnvoll und ein Drucker der Daten "direkt" aus der anwendung heraus wäre geeignetet, so wie ich es jetzt löse? Ich finde diese Art des Druckens aber sehr "grauenhaft", da ich mir wirklich jede einzelne Zeile Zeichenweise zusammenbauen muss usw...

Würde mich sehr über nützliche Tips, Links und Ideen freuen.

Dr. Z

J
3.331 Beiträge seit 2006
vor 15 Jahren

Ach ja, die Forumssuche. Ich könnte mir vorstellen, dass einige Treffer bei der Suche nach etikettendruck schon weiterhelfen. Jürgen

PS. Unter Umständen ist es auch nützlich zu wissen, mit welchem Drucker Du vorzugsweise arbeitest.

Dr.Z Themenstarter:in
88 Beiträge seit 2007
vor 15 Jahren

Hallo juetho,

danke für deine Antwort. Natürlich habe ich die Suche benutzt, nur kann mir leider keiner dieser Beitrage helfen. Einige Beiträge passen garnicht auf meine Suche, andere schon eher, jedoch geht es dabei nicht wirklich um den Vorgang, wie ich zum Drucken gelange.

Das wiederum sind ja meine eigentlichen beiden Fragen. Welche Methode geeigneter ist. Und je nach geeigneterer Methode kommen dann natürlich neue Fragen auf, die es dann zu einem späteren Zeitpunkt zu klären gillt.

Auch habe ich das Openbook zur Hilfe gezogen, jedoch wird hier an sich nur der Druckvorgang an sich beschrieben, nicht jedoch wie ich z.B. einen Text zum Drucken erzeuge. Ob ich diesen temporär speichere oder sofrt ausgebe.

Die in der Suche gefunden Themen helfen mir in diesen Punkten leider nicht weiter.

Dr. Z

888 Beiträge seit 2007
vor 15 Jahren

Ich drucke auch Etiketten mit einem Etiketten-Drucker.
Hab mir da ein ganz einfaches Konzept überlegt.

Ich bastle mir immer eine Form (s.g. PrintForm). Dort sind Labels so angelegt wie
ich sie auf dem Etikett benötige. Anschließend fülle ich die Text Property meiner Labels mit Inhalt.

Wenn ich drucke, lese ich einfach die Text-Property & Koordinaten-Propertys meiner Labels aus.

Der Vorteil davon ist, ich kann mir mein Etikett fast mit der Maus designen.

Dr.Z Themenstarter:in
88 Beiträge seit 2007
vor 15 Jahren

Hallo Joetempes,

danke für deine Antwort, das hört sich sehr einfach und logisch an. Werde das mal ausprobieren. 🙂

Was mir daran vllt nicht so gefällt, ist die Tatsache, dass das ganze ja nicht wirklich unabhängig ist. Ich müsste ja jedesmal, wenn ich in einem anderen Projekt ein Etikett drucken müsste, dieses Form komplett neu anlegen.

Hatte mir das Konzept in etwa so vorgestellt, dass ich eine Klasse / Methode erzeuge, die entweder eine Datei oder halt den String entgegen nimmt und dann druckt. So müsste ich immer nur diese KLasse / Methode in meine anderen Projekte bei bedarf implementieren und könnte auch hier Etikettendesignunabhängig (wow, was für ein Wort 🙂 drucken.

Von daher würde mir eine varaibler Lösungsansatz mehr zusprechen.

Danke für deine Antwort.

Dr. Z

888 Beiträge seit 2007
vor 15 Jahren

Was mir daran vllt nicht so gefällt, ist die Tatsache, dass das ganze ja nicht wirklich unabhängig ist. Ich müsste ja jedesmal, wenn ich in einem anderen Projekt ein Etikett drucken müsste, dieses Form komplett neu anlegen.

Ja genau so ist das. Ich hab hier 5 Labels, also 5 Projekte.
Ganz sauberer Druck. Das ich für jedes Etikett ein neues Projekt anlegen muss stört mich nicht, da es relative überschaubar ist.

X
1.177 Beiträge seit 2006
vor 15 Jahren

Hallo zusammen,

Ich würde die benötigten Einstellungen einfach in einer Datei speichern, diese Dann auslesen und mit den zu druckenden werten an den Drucker schicken. Also z.B. eine XMl-Datei in welcher zu einem zu druckenden Wert die Position, Font + Größe hinterlegt ist. davon sind dann 5 Sätze in der XML-Datei, was letztenendes bedeuten würde, man kann 5 Zeichenketten auf das Label drucken.

Die Idee mit der Form hört sich auf Anhieb sympathisch an, aber warum denn 5 Projekte/Forms machen und nicht eine Form als "Designer" verwenden und abspeichern/laden!? Damit hätte der Endanwender des Programms auch gleich einen Mini-Berichtsgenerator dabei.

Tja, und jetzt kommen wir zum Schluss zur ultimativen Lösung: einfach eines der vielen Report-Tools in das Programm einbinden.

🙂

Xynratron

Herr, schmeiss Hirn vom Himmel - Autsch!

Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.

292 Beiträge seit 2006
vor 15 Jahren

Hallo Joetempes,

das was du da geschrieben hast mit dem erstellen eines Labels und dann füllen der entsprechenden Labels finde ich Klasse. Soetwas in der Art hatte ich mir auch mal überlegt und versucht zu bauen. Aber was ich nicht hinbekommen habe, war das füllen der Labels. Kannst Du dazu vielleicht ein kleines Snippet posten? Des weiteren stell ich mir die Frage, was machst Du wenn Du ein ganz bestimmtes Etikettenformat hast? Also ein Averyformat. Lädst Du Dir dazu die Doc Vorlage runter und designst die Etiketten dort? Denn einen sauberen Druck habe ich bisher noch bei keinem Etikett ohne mühevolle Kleinarbeit hinbekommen.

Würde mich freuen wenn Du mir dazu etwas posten könntest.

Loewchen