Liebe Community!
Mir wurde befohlen etwas zu programmieren und ich habe jetzt keine Ahnung wo ich anfangen soll. Vielleicht könnt ihr mir ein paar Tipps geben, wonach ich suchen soll oder wie ich das lösen könnte.
Folgende Aufgabe:
Wenn der Benutzer in einer firmeninternen Anwendung auf "Drucken" klickt, soll der Text, den er gerade mit dieser bestehenden Applikation bearbeitet, nicht normal am Drucker ausgedruckt werden, sondern von dem von mir zu schreibenden Programm als Text-Datei gespeichert werden. Es kann durchaus so sein, daß der Benutzer zuerst selbst mein Programm starten muß, bevor das funktioniert......
Wie fange ich da an? Wonach soll ich im Internet suchen?
Muß ich da einen Drucker simulieren oder kann ich da an irgendeinem Port oder sonst wo "mithören"? Oder gibts einen anderen Weg?
Völlig ratlos....
Danke
Torres
Einen Druckertreiber entwickeln.
Gleiches tut Adobe oder Microsoft mit pdf/xps sowie Office OneNote auch.
Da gibt es meiner Meinung nach nur einen Weg und der ist nicht über .NET.
Du musst einen Druckertreiber schreiben, der die entsprechenden Druckdaten als Drucker annimmt und dann entweder an eine .NET Anwendung weitergibt oder selber die Daten verarbeitet.
Ich glaube die Windows Driver SDK wäre der richtige Ansatz.
So was geht natürlich auch mit .Net
Zwischen Applikation und Drucker funken?
PS: Ist bei diversen Kunden so im Einsatz.
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
Liebe Leute!
Danke für die reichhaltigen Antworten. Wir werden wohl etwas fertiges verwenden und anpassen. In unserem Falle kann folgendes Ding schon fast alles, was wir brauchen:
http://www.miraplacid.com/mtd/
Danke
Martin Zeller
Du kannst natürlich auch einen TextOnly (Generic) Drucker installieren.
Und wenn Du diesen an File: statt an einem LPT installierst kannst du den reinen Text auch in ein File speichern.
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...
Hallo, ich muß diesen Thread noch einmal nutzen 😁
Lieber Programmierhans,
die Lösung in dem Link, den du gepostet hast, klingt interessant:
--> TcpListener / TcpClient coden welcher auf einem Port lauscht (ich glaube Port 9100) war der Standard.
--> Dann einen TextDrucker (TextOnly) installieren und diesen dann verbinden... dazu muss ein neuer Anschluss definiert werden.
--> Create New Port
--> Standard TCP/IP-Port
--> Custom
--> Protocol RAW
--> Port (denjenigen den Du verwendest oder eben 9100)
Dazu eine Frage:
Wenn ich also einen Drucker so installiere:
rundll32 printui.dll,PrintUIEntry /if /f C:\Windows\inf\ntprint.inf /r "MYPORTNAME1:" /m "Apple Color LW 12/660 PS" /b "MYPRINTERNAME" /z"
bräuchte ich "nur" mehr einen TcpListener schreiben, der auf den Port "MYPORTNAME1:" hört. Ist das richtig?
Und dann könnte ich den Drucker mit:
rundll32 printui.dll,PrintUIEntry /dl /n"MYPRINTERNAME"
deinstallieren.
Habe ich das richtig verstanden?
Danke
Martin Zeller