Schreiben Sie einen Virtuellen Drucker .NET
Ich bin auf der Suche, erstellen einen virtuellen Drucker, der übergibt die Daten an meinen .NET-Anwendung. Ich möchte dann erstellen Sie einen installer, der installiert den Drucker und den .NET-Anwendung. Es würde uns wirklich schön schreiben zu können, die es alle in C#, aber ich habe das Gefühl, dass dies erfordert, dass Sie einen Druckertreiber geschrieben werden, ist nicht verwaltetem code. Kennt jemand eine ziemlich saubere tutorial oder ein Beispiel, wie dies zu tun?
InformationsquelleAutor David Osborn | 2008-11-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Besuchen http://www.printerplusplus.com. Es ist open-source .NET virtuellen Drucker. Es gibt einen installer und eine .NET-Klasse für das schreiben von code, um Ihre "Drucker Daten".
Website funktioniert nicht mehr.
InformationsquelleAutor Peter Ang
Tat genau das, was Sie fordern, mit dem Github-Projekt: Microsoft/Windows-Treiber-Proben/drucken/XPSDrvSmpl
https://github.com/Microsoft/Windows-driver-samples/tree/master/print/XPSDrvSmpl
Installer: http://wixtoolset.org/
Anwendung: Hören Sie den internen port
Flow: Installieren Sie Drucker und Anwendung von einem einzigen installer. Benutzer druckt etwas mit Ihrem Fahrer und während der Anwendung hört auf den internen port ein. Wenn Daten an die Anwendung in die Hand nimmt. Dies ist für XPS -, können zu PDF konvertiert, aber der flow ist ähnlich, egal, was Sie drucken. Wenn Sie etwas anderes benötigen Auschecken Microsoft/Windows-Treiber-Proben/drucken/auf GitHub oder anderen Quellen, die speziell auf Ihre Bedürfnisse zugeschnitten.
Update:
Viele Fragen über, wie man die Treiber funktionieren, also hier ist ein kurzes Beispiel:
Laden Sie die Windows Driver Kit (WDK), wenn Sie nicht haben es bereits installiert. Bei der Installation wählen Sie die Erweiterung für Visual Studio sowie in den endgültigen Schritt. In Ihrem Visual Studio-2017 Installieren, müssen Sie
Desktop development with C++
haben das Recht SDKs. Wenn Sie es nicht haben, sehen die anser weiter unten, wie Sie es hinzufügen.Wie füge ich Funktionen, um Visual Studio 2017?
https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit
Dann laden Sie die
.zip
- Datei für Windows-Treiber-Proben-master:https://github.com/Microsoft/Windows-driver-samples/archive/master.zip
Navigieren Sie zu dem Ordner
<UnzipFolder>\print\XPSDrvSmpl
und öffnenXPSDrvSmpl.sln
in Visual Studio.Dann Folgen Microsofts eigene Anleitung auf GitHub. Wie Sie sehen können, ist es für die Visual Studio 2015, aber ich denke, es ist das gleiche für 2017 (noch nicht getestet):
Bauen, eine Treiber-Lösung, die mithilfe von Windows Driver Kit (WDK) 10 und Visual Studio 2015, führen Sie die folgenden Schritte aus.
der Stichprobe) zu der Paket-Projekt: ein. Im Projektmappen-Explorer
rechts klicken Sie auf Treiber-Dateien b. Wählen Sie Hinzufügen, klicken Sie dann auf Vorhandenes Element c.
Navigieren Sie zu dem Speicherort, an den Sie heruntergeladen haben, die Probe, und
wählen Sie alle Dateien in das install-Verzeichnis oder die entsprechende Reihe
nicht-binäre Dateien wie INFs, INIs, GPD, PPD-Dateien, etc. d....
Klicken Sie Auf Hinzufügen
Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe und wählen Sie " Hinzufügen > Neue
Projekt. Wählen Sie Treiber-Paket Installieren " unter Visual C++/Windows
Fahrer/- Paket. b. Im Projektmappen-Explorer mit der rechten Maustaste auf das Paket
Projekt und wählen Sie Eigenschaften. c. In der linken Fensterbereich, klicken Sie auf
Konfigurations-Eigenschaften > Treiber Installieren - > Paket-Dateien. d.... In der
rechten Bereich, verwenden Sie die Schaltfläche mit den Auslassungspunkten (...) zu durchsuchen, um den Satz von
Dateien, die Hinzugefügt werden muss, um die Treiber-Paket. Alle Daten
Dateien, die Sie in Schritt 2 Hinzugefügt-c, außer die INF-Datei, sollte
Hinzugefügt. Diese Konfiguration ist pro-Architektur, so dass diese Konfiguration
muss wiederholt werden, für jede Architektur, die gebaut werden soll. e. Klicken Sie auf
OK.
INF-Datei. b. In der Version Abschnitt, fügen Sie einen Verweis auf einen Katalog
Datei wie folgt: CatalogFile=XpsDrvSmpl.cat. c. In der
SourceDisksFiles Abschnitt, ändern Sie den Speicherort der DLL-Dateien, die Sie
sind Gebäude, für =1. Dies bedeutet, dass es keine Architektur
bestimmten Verzeichnis in diesem Treiber. Wenn Sie das Schiff mehrere
Architekturen gleichzeitig, müssen Sie zu sammeln und der Fahrer
INF manuell.
Zu diesem Zeitpunkt, Visual Studio 2015 in der Lage zu sein ein Treiber-Paket und eine Ausgabe der Dateien auf die Festplatte. Um zu konfigurieren, Treiber-Signierung und-Bereitstellung finden Sie unter Entwickeln, Testen und Bereitstellen von Treibern.
https://github.com/Microsoft/Windows-driver-samples/tree/master/print/XPSDrvSmpl#build-the-sample
InformationsquelleAutor Ogglas
Ich denke, Sie wird zu tun haben viel der WinAPI zu Verpacken. Starten Sie die Erforschung
auf Windows Driver Development Kit zu finden, die Dinge, die Sie tun müssen.
Ich fand auch diese kommerzielle Printer Driver Resource Toolkit.NET...
InformationsquelleAutor CMS
Könnte man einfach haben Ihrer app setzen sich wie ein LPD-Typ-Drucker oder monitor-port 9100. Sie können dann installieren Sie alle Druckertreiber, die Sie mögen, und zeigen Sie es Ihren app.
In der Regel 515, wie die meisten Dinge, ist frei definierbar, Häufig aber dann nicht es. LPD ist schön wie es ist einen kleinen header, der Informationen enthält, wie Ziel-queue etc. gefolgt von den eigentlichen Daten. Nur erfassen einige Daten und Sie werden sehen, es ist ziemlich einfach.
InformationsquelleAutor Douglas Anderson
War auf der Suche nach einer Antwort für eine ähnliche Frage, und diesen link gefunden über Wikipedia - http://www.colorpilot.com/emfprinterpilot.html (ermöglicht das erstellen von Virtuellen Drucker, die in verschiedenen Sprachen)
InformationsquelleAutor dolzenko
Warum nicht erwägen, einen alternativen Ansatz. Wie mit einem zwischengeschalteten fertige Druck-Programm, wie diejenigen, die frei verfügbaren Print-to-PDF-Anwendung. Dann alles, was Sie brauchen, ist zu entschlüsseln PDF-Datei mit einigen 3rd-party-library (die freie und opensource-Varianz) anstelle von Rissen Ihren Kopf, das Rad neu zu erfinden. Es gibt auch andere Print-to-XXX-Anwendung, die könnte man auch überlegen, je nach dem format, das Sie sehen, passen.
InformationsquelleAutor faulty
Ich weiß nicht, was die Interpretation PDF-Ansatz ist eine gute. Ich weiß nicht, warum Sie das tun wollen, was Sie tun möchten. Vielleicht sind Sie versucht, zu schreiben einen PDF-Drucker Ihrer eigenen.
Ich denke, Sie sollten wirklich geben die Windows-Treiber-Entwicklung, was ein Aussehen. Wenn Sie entwickeln wollen, einen Drucker-Treiber, ich denke, du musst es tun, in C++.
Glück.
InformationsquelleAutor Cyril Gupta
Können Sie nicht. Die Windows-Fahrer-Modell heimisch ist.
ja, er kann, alles, was er zu tun hat, ist die Umleitung der Daten kommt zu dem ERSTELLTEN dummy-Treiber drucken oder AUSGEWÄHLTE real-Druckertreiber, um seine app. Auch kann getan werden, mithilfe von C#.
InformationsquelleAutor Aidan Ryan
Wenn ich mich richtig erinnere wird von Microsoft nicht unterstützt .NETTO innerhalb von Drucker-Treiber-Entwicklung. Ich habe noch über einen rein .NETTO-Drucker-Treiber. Sie werden ein sehr tapferer Mann, dies zu tun! Die website "Printer Driver Resource Toolkit" nicht sagen, dass der Treiber geschrieben wurde .NET
InformationsquelleAutor PDK