Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Direkt in Schnittstellen drucken. (https://www.delphipraxis.net/162149-direkt-schnittstellen-drucken.html)

Freiwilderer 9. Aug 2011 14:12


Direkt in Schnittstellen drucken.
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo miteinander,

ich schreibe momentan an einem Programm, das Etiketten über einen Datamax M-4206 Drucker drucken soll.
Es ist eine Neuentwicklung von einem DOS Programm, welches nun ausrangiert werden soll.
Ich hab erstmal ganz normal den Treiber installiert und über Quickreport ein Etikett gedruckt.

Das Problem ist, dass dieser druck wesentlich mehr zeit benötigt, als das DOS Programm.
Vom klick auf Drucken bis der Druck abgeschlossen ist:
Dos 1,6 Sek
XP/7 2,8 Sek
Die geschwindigkeit ist hier aber sehr wichtig.

nun versuche ich seit mehreren Tagen den Druckauftrag direkt an die Schnittstelle zu schicken, schaffe es aber nicht.
(USB wird wohl nicht funktionieren, deshalb ist der Drucker momentan an LPT angeschlossen.)
Hat jemand eine Idee, wie man so etwas umsetzen kann?

irgendwo in den Drucker Einstellungen hab ich das angefügte bild gefunden, weiß aber nicht so recht, ob man damit was machen kann und wenn ja, wie ...

alles nicht so einfach ... fühl mich schon, wie beim 1000 meter lauf, wo 1,2 Sekunden unterschied wirklich was ausmachen ;)
lg

Freiwilderer

Neumann 9. Aug 2011 15:01

AW: Direkt in Schnittstellen drucken.
 
Kenne den Drucker zwar nicht, aber ev. liegt das Problem mit dem langsamen Druck über Quickreport an der verwendeten Schrift.

Oft haben solche Drucker eingebaute Druckerschriften (zu erkennen an dem Druckersymbol bei der Schriftart) mit denen der Druck wesentlich schneller geht.

Wie sieht es aus wenn man aus Wordpad druckt? Wenn das schneller geht dann ev. ein Richedit anstatt Quickreport als Quelle nehmen.

Freiwilderer 9. Aug 2011 15:11

AW: Direkt in Schnittstellen drucken.
 
Hmm,
das ist interessant.
Die schrift ist nämlich wirklich eine andere, als in dem DOS System,
Außerdem (das hatte ich vorhin vergessen zu erwähnen.) Haben wir zwei Drucker
Datamax M-4206
und Datamax M-4206 Mark II

beim Mark II läuft das besser, vielleicht hat der n anderen satz an schriftarten.

Leider kann ichs heute nicht mehr testen, weil die Drucker benutzt werden, aber morgen probier ich das mal aus.

mfg

Thomas Feichtner 9. Aug 2011 20:34

AW: Direkt in Schnittstellen drucken.
 
Hallo Freiwilderer,

Kannst du bei deinem DOS-programm statt auf die LPT auch in eine Datei drucken? Dann würdest du sehen was genau an den Drucker geschickt wird.
Versteht der Drucker eine eigene Sprache wie z.b. Fingerprint? Dann bist du sicher schnell.

jobo 9. Aug 2011 23:26

AW: Direkt in Schnittstellen drucken.
 
Ich vermute von der Art des Druckers, dass er auf zeichenorientierten Druck ausgelegt ist = maximale Geschwindigkeit. DOS sendet ohne weiteres Zutun ASCII an die Schnittstelle, Schriftart und Größe werden durch Steuerzeichen kontrolliert (auch ASCII). Es gibt natürlich auch unter DOS die Möglichkeit, Grafik zu drucken, aber eben lahm(er)
Windows / GDI überträgt auch Buchstaben idR als Grafik an den Drucker.

Zur Überprüfung könntest Du in QR mal den Zeichensatz eines Banners oder Labels mit einem anderen FONT definieren. Wenn das originalgetreu ausgedruckt wird, arbeitest Du im Grafikmodus= originalgetreue Bildübertragung=langsam.

Dein Screenshot deutet ebenfalls darauf hin, dass der Drucker gerne ASCII Code haben möchte= zeichenorientiert.

Freiwilderer 10. Aug 2011 07:50

AW: Direkt in Schnittstellen drucken.
 
hi,
danke für die Tips, ich denke, das ein oder andere kann mir da schon gewaltig weiter helfen.
Im Dos wurde die Com Schnittstelle verwendet. Wir wollten eigentlich auf USB umsteigen, aber das kann ich wohl erstmal vergessen, ... also LPT.

Ab 10 kann ich testen, meld mich dann nochmal

mfg

und schönen Dank nochmal.

Freiwilderer 10. Aug 2011 14:35

AW: Direkt in Schnittstellen drucken.
 
Hallo,

ERFOLG!

Auf den drucker kann man verschiedene Schriftarten hochladen, wodurch ich den Druck über den normalen Treiber jetzt auf alles in allem unter 2 Sekunden bekommen habe.

vielen Dank für eure Hilfe.

Freiwilderer 12. Aug 2011 10:48

AW: Direkt in Schnittstellen drucken.
 
hi,

jetzt ist doch noch ein Problem aufgetaucht, mit dem ich so nicht gerechnet habe. ...
deshalb das hier als Nachtrag für leute, die evtl. mal das selbe Problem haben.

Die Schrift der wahl bei mir war Arial, weil es damit am schnellsten ging.
Funktionierte auf meiner Win7 Entwicklungsumgebung super, 1,2 sek für den kompletten Druckvorgang.

wenn man das jedoch mit win xp versucht, benötigt der druck wieder 2,2 sek ...
Das problem scheint hier wohl zu sein, dass meine Applikation das Win7 Arial verwendet (welches 760kb hat), der drucker nach dem hochladen der Schrift von XP aber das XP arial mit 360kb hat ...

ich weiß noch nicht genau, wie ich das jetzt ändern kann ...
nich so einfach der ganze ist :D

jobo 12. Aug 2011 11:07

AW: Direkt in Schnittstellen drucken.
 
Ich kenne nur das Verhalten von alten Matrixdruckern im zeichenorientierten Modus und hier auch nur die Verwendung von vorinstallierten Zeichensätzen. Trotzdem vermute ich, dass es nicht mit der Größe des Fontupload an sich zu tun hat, sondern mit der definierten Druckqualität. Ich kann mir vorstellen, dass ein Font (per Upload/Definition) schon eine "Default" Qualität verwendet oder aber, dass Win7 und XP (bzw der dort installierte Treiber) generell ein unterschiedlichen Default in Sachen Druckqualität haben.
Diese Dinge sollten aber alle per Steuerzeichen zu setzen sein, wenn man in diesem Modus arbeitet. Mal ins Handbuch/Register schauen und die entsprechenden Schlagworte aufsuchen.

Freiwilderer 12. Aug 2011 11:13

AW: Direkt in Schnittstellen drucken.
 
hi,
hab von dem drucker leider kein so detailiertes Handbuch gefunden.

Der witz ist ja der, dass der druck von Win 7 mit arial 1,2 sek benötigt. wenn man die schrift wieder löscht, sind es 2,1-2,2. Wenn man von xp druckt sinds immer 2,2 sek, als wenn er die zu druckende schrift auf dem drucker nicht finden kann.
Mit dem größenunterschied wollte ich nur sagen, dass die schriften scheinbar nicht ganz gleich sind.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz