Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
auf (Label-)Drucker drucken
Dr.Z
myCSharp.de - Member

Avatar #avatar-2603.jpg


Dabei seit:
Beiträge: 93
Herkunft: Nettetal

Themenstarter:

auf (Label-)Drucker drucken

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Dr.Z am .
private Nachricht | Beiträge des Benutzers
juetho
myCSharp.de - Member



Dabei seit:
Beiträge: 3358
Herkunft: Berlin

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Dr.Z
myCSharp.de - Member

Avatar #avatar-2603.jpg


Dabei seit:
Beiträge: 93
Herkunft: Nettetal

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Joetempes
myCSharp.de - Member

Avatar #avatar-3309.jpg


Dabei seit:
Beiträge: 914
Herkunft: Germany

beantworten | zitieren | melden

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.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Joetempes am .
private Nachricht | Beiträge des Benutzers
Dr.Z
myCSharp.de - Member

Avatar #avatar-2603.jpg


Dabei seit:
Beiträge: 93
Herkunft: Nettetal

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Joetempes
myCSharp.de - Member

Avatar #avatar-3309.jpg


Dabei seit:
Beiträge: 914
Herkunft: Germany

beantworten | zitieren | melden

Zitat von Dr.Z
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.
private Nachricht | Beiträge des Benutzers
Xynratron
myCSharp.de - Member



Dabei seit:
Beiträge: 1184

beantworten | zitieren | melden

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!
Zitat von herbivore
Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.
private Nachricht | Beiträge des Benutzers
Loewchen0507
myCSharp.de - Member

Avatar #avatar-2112.jpg


Dabei seit:
Beiträge: 292
Herkunft: Hamburg

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers