Drucken aus Dos-Anwendung mit Kassettenansteuerung
Hallo erstmal.
Ich versuche seit Tagen aus einer Dos-Anwendung auf das die 2te Papierkassette zu drucken. Jedoch ohne Erfolg.
Ich habe es mit Fineprint versucht, aber hier ist das Problem, das Fineprint nicht die rohe PCL-Datei an den Drucker weitergibt. Dies ist jedoch erforderlich.
Ich habe mir auch RedMon angeschaut, jedoch komme ich hiermit nicht weiter.
Ich weiß echt nicht weiter
Ich versuche seit Tagen aus einer Dos-Anwendung auf das die 2te Papierkassette zu drucken. Jedoch ohne Erfolg.
Ich habe es mit Fineprint versucht, aber hier ist das Problem, das Fineprint nicht die rohe PCL-Datei an den Drucker weitergibt. Dies ist jedoch erforderlich.
Ich habe mir auch RedMon angeschaut, jedoch komme ich hiermit nicht weiter.
Ich weiß echt nicht weiter
Please also mark the comments that contributed to the solution of the article
Content-Key: 159912
Url: https://administrator.de/contentid/159912
Printed on: April 25, 2024 at 22:04 o'clock
14 Comments
Latest comment
Hallo,
DOS, Win16 oder Win32? Eine Text GUI muss nicht DOS sein.
Drucker lokal,Netzwerk? Hersteller/Modell?
Du schreibt wenig über das System, also rate ich mal ein bischen.
DOS = Drucken auf LPT1 (2 oder 3)
- Installier der Drucker unter Windows
- Ändere die Standardeinstellungen so, dass er immer auf die 2. Kassette druckt
- Gibt den Drucker frei
- Verbinde einen LPT Port mit dieser Freigabe (net use lpt1: \\hostname\drucker)
Alternativ drucke in eine Textdatei und drucke diese mit dem Befehl print.
Stefan
DOS, Win16 oder Win32? Eine Text GUI muss nicht DOS sein.
Drucker lokal,Netzwerk? Hersteller/Modell?
Du schreibt wenig über das System, also rate ich mal ein bischen.
DOS = Drucken auf LPT1 (2 oder 3)
- Installier der Drucker unter Windows
- Ändere die Standardeinstellungen so, dass er immer auf die 2. Kassette druckt
- Gibt den Drucker frei
- Verbinde einen LPT Port mit dieser Freigabe (net use lpt1: \\hostname\drucker)
Alternativ drucke in eine Textdatei und drucke diese mit dem Befehl print.
Stefan
Morgen,
wenn der Datenstrom des DOS-Programms unverändert auf den Drucker geleitet werden soll, geht das ganz einfach:
1. Generic Drucker Text/only unter Windows installieren mit passendem Anschluß für den Ausgabedrucker.
2. Diesen Drucker freigeben
3. per net use LPTx: \\Rechnername\Freigabename /persistent:yes an den Ausgabeport des DOS-Programms binden.
Macht jetzt DOS einen Ausdruck wird von LPTx über den Text only-Treiber der Datenstrom unverändert an den Drucker gesendet.
Gruß Softprogger
wenn der Datenstrom des DOS-Programms unverändert auf den Drucker geleitet werden soll, geht das ganz einfach:
1. Generic Drucker Text/only unter Windows installieren mit passendem Anschluß für den Ausgabedrucker.
2. Diesen Drucker freigeben
3. per net use LPTx: \\Rechnername\Freigabename /persistent:yes an den Ausgabeport des DOS-Programms binden.
Macht jetzt DOS einen Ausdruck wird von LPTx über den Text only-Treiber der Datenstrom unverändert an den Drucker gesendet.
Gruß Softprogger
Zitat von @gin0ri:
Was du gesagt hast, habe ich ja so schon versucht, jedoch druckt Dos ja direkt auf den Drucker, ohne die Einstellungen des
Treibers zu berücksichtigen.
Das sollte nicht so sein, da über die Netzwerkumbiegung der Druckauftrag ja durch den Druckertreiber läuft und von dem auch die Standard-Druckereinstellungen bekommt.Was du gesagt hast, habe ich ja so schon versucht, jedoch druckt Dos ja direkt auf den Drucker, ohne die Einstellungen des
Treibers zu berücksichtigen.
Wenn Du an einem anderen PC dieses Drucker normal unter Windows installierst druckt er dann auf das richtige Fach?
Für welchen Druckertyp ist Dein Druckauftrag denn konfiguriert? Plain-Text, Nadeldrucker, PCL?
Evtl. überschreibt Dein Auftrag die Einstellungen und Du kannst in der Software was anderes auswählen.
Sonst könntest Du die der Anleitung von Softprogger folgen, aber als Anschluss Datei auswählen.
Mittels redmon könntest Du die Datei dann "aufnehmen", verändern und an den Drucker (per Copy an den LPT Port) schicken.
Stefan
Das muß schon das DOS-Programm erledigen!
Mal nen Happen DOS und dann wieder nen Happen Windows geht nicht.
Wie Du ja geschrieben hast, druckt das DOS mit einem PCL-Datenstrom, da müssen die Steuercodes für die Schachtauswahl eingebettet sein, genauso also ob PCL verschiedene Schriften oder Stile verwenden soll.
Mal nen Happen DOS und dann wieder nen Happen Windows geht nicht.
Wie Du ja geschrieben hast, druckt das DOS mit einem PCL-Datenstrom, da müssen die Steuercodes für die Schachtauswahl eingebettet sein, genauso also ob PCL verschiedene Schriften oder Stile verwenden soll.
Nun kenne ich die DOS-Anwendung nicht. Aber wenn's halbwegs professionell gemacht ist, dürfte es eine Druckereinrichtung in dem Programm geben(zu DOS-Zeiten wurde ja die Druckeranpassung nicht über Druckertreiber sondern über Einstellungen im Programm selbst getätigt, z.B. EPSON,IBM,HP o.ä.). Wenn es echt gut gemacht ist, kann man die Parameter für Schriften, Attribute u. ä. dort selbst hinterlegen. Sicher ist dann auch eine Initialisierung dabei, wo man die Auswahl einer Kassette treffen könnte.
Leider hast du bisher nicht beschrieben, wann die Kassettensteuerung eingreifen soll, z.B. 1.Seite Kassette1, folgende Seiten Kassette2 oder so.
Falls das Programm nicht so komfortabel sein sollte, kannst Du den Genericdrucker natürlich auch mit einem Dateiport als Anschlußerstellen. Dann geht der PCL-Datenstrom in eine Datei, die du manipulieren kannst. Die manipulierte Datei kann dann per copy-Befehl auf den Druckeranschluß kopiert werden und wird gedruckt.
Leider hast du bisher nicht beschrieben, wann die Kassettensteuerung eingreifen soll, z.B. 1.Seite Kassette1, folgende Seiten Kassette2 oder so.
Falls das Programm nicht so komfortabel sein sollte, kannst Du den Genericdrucker natürlich auch mit einem Dateiport als Anschlußerstellen. Dann geht der PCL-Datenstrom in eine Datei, die du manipulieren kannst. Die manipulierte Datei kann dann per copy-Befehl auf den Druckeranschluß kopiert werden und wird gedruckt.
Da wirst du wohl ein wenig programmieren müssen!
Der Dateiport könnte ja ein neuer Localport sein der als Ziel einen Pfad+Datei hat, z.B. C:\Drucker\Druck.txt; Das Verzeichnis C:\Drucker muß dabei existieren!
Dann wird ohne jeden Dialog durch den Ausdruck immer eine neue Datei Druck.txt erzeugt. Das zu erstellende Proggi muß zyklisch auf das vorhandensein dieser Datei testen. Ist eine da, mußt Du feststellen, ob sie sich exclusiv öffenen lässt (also der Ausdruck vom DOS beendet ist). Dann wird sie manipuliert und auf den LPTx kopiert und anschließend gelöscht.
Der Dateiport könnte ja ein neuer Localport sein der als Ziel einen Pfad+Datei hat, z.B. C:\Drucker\Druck.txt; Das Verzeichnis C:\Drucker muß dabei existieren!
Dann wird ohne jeden Dialog durch den Ausdruck immer eine neue Datei Druck.txt erzeugt. Das zu erstellende Proggi muß zyklisch auf das vorhandensein dieser Datei testen. Ist eine da, mußt Du feststellen, ob sie sich exclusiv öffenen lässt (also der Ausdruck vom DOS beendet ist). Dann wird sie manipuliert und auf den LPTx kopiert und anschließend gelöscht.
Moin,
-guggel (hier Suchmaschine der Wahl eintragen) mal nach Programmen, die eine Umleitung von LPT1 nach File machen, z. Bsp. lpt2prn oder lpt2file
oder
- drucke aus der DOS-Anwendung in eine Datei
- such Dir aus dem PCL-Befehlssatz die Steuersequenz für das zweite Papierfach
- such Dir aus dem PCL-Befehlssatz die Steuersequenz für einen Drucker-Reset
- editier die gefundenen Steuersequenzen jeweils in eine separate Batch-Datei
- erstelle eine weitere Batch Datei, in der
- zunächst ein Reset an den Drucker gesendet wird,
- dann die Auswahl für den zweiten Schacht
- dann die vom DOS-Prog erstellte Druckausgabe-Datei
- und schlußendlich noch einmal ein Reset
Wenn nun die letzgenannte Batch-Datei ausgeführt wird, erfährt der Drucker per Steuersequenz einen Reset, zieht ein Blatt aus Schacht 2, druckt die Datei und macht zum Abschluß noch einen Reset, damit der Drucker wieder in einen definierten Ausgangszustand versetzt wird.
Wenn Du das Ganze nun noch mit einer Abfrage kombinierst, die herausfinden soll,
- ob in einem bestimmten Verzeichnis eine Datei existiert
- wenn das der Fall ist, die o.a. Batch-Datei ausführt
- die gefundene Datei löscht
- und eine festgelegte Zeitspanne wartet, bis sie wieder startet
dann solltest Du das Problem gelöst haben.
Gruß J chem
Nachtrag:
Du kannst natürlich auch die Steuersequenzen und die Druckdatei in eine Datei packen, per copy datei+datei2+datei3+datei4 datei5
-
oder
- drucke aus der DOS-Anwendung in eine Datei
- such Dir aus dem PCL-Befehlssatz die Steuersequenz für das zweite Papierfach
- such Dir aus dem PCL-Befehlssatz die Steuersequenz für einen Drucker-Reset
- editier die gefundenen Steuersequenzen jeweils in eine separate Batch-Datei
- erstelle eine weitere Batch Datei, in der
- zunächst ein Reset an den Drucker gesendet wird,
- dann die Auswahl für den zweiten Schacht
- dann die vom DOS-Prog erstellte Druckausgabe-Datei
- und schlußendlich noch einmal ein Reset
Wenn nun die letzgenannte Batch-Datei ausgeführt wird, erfährt der Drucker per Steuersequenz einen Reset, zieht ein Blatt aus Schacht 2, druckt die Datei und macht zum Abschluß noch einen Reset, damit der Drucker wieder in einen definierten Ausgangszustand versetzt wird.
Wenn Du das Ganze nun noch mit einer Abfrage kombinierst, die herausfinden soll,
- ob in einem bestimmten Verzeichnis eine Datei existiert
- wenn das der Fall ist, die o.a. Batch-Datei ausführt
- die gefundene Datei löscht
- und eine festgelegte Zeitspanne wartet, bis sie wieder startet
dann solltest Du das Problem gelöst haben.
Gruß J chem
Nachtrag:
Du kannst natürlich auch die Steuersequenzen und die Druckdatei in eine Datei packen, per copy datei+datei2+datei3+datei4 datei5