Gibt es eine Version des CUPS-Servers für Windows? Mit Blick auf den CUPS-Quellcode scheint es für die Kompilierung von Visual Studio bereit zu sein, aber ich habe keine Spur eines tatsächlich unterstützten Pakets gefunden. Ich möchte einen CUPS-Server unter Windows einrichten, so dass ich Formular Linux / MacOSX / Win-Clients auf Drucker drucken kann, die ich auf diesem Server eingerichtet habe.
Die Dateien .sln und .vcproj , die Sie in den CUPS-Quellen gesehen haben, sind nicht dazu gedacht, alle CUPS für Windows zu kompilieren.
Sie dienen dazu, nur einige seiner Dienstprogramme zu kompilieren (zB ipptool.exe
) ...
Es wäre eine gewaltige Aufgabe, den kompletten CUPS-Server + Filtercode unter Windows zu verwenden, da sich das Windows-Spoolen und -Drucken so sehr von der Unix-Welt unterscheidet.
Ich habe eine neue Antwort für Sie:
Seit einiger Zeit gibt es ein Projekt mit dem Namen ippsample
auf GitHub. Es nähert sich langsam einer älteren Version 1.0.
Hier sind die ersten beiden Sätze, die in der obligatorischen README-Datei als Selbstbeschreibung angegeben sind:
"Dieser Code bietet Beispielimplementierungen von IPP-Clients, Druckern und Proxies. Er basiert weitgehend auf der CUPS-Software mit wesentlichen Änderungen an den ippproxy- und ippserver-Implementierungen, um sie zu verbessern universell und konfigurierbar. " (meine Hervorhebung)
Dieses Projekt wird von der ISTO Printer Working Group (PWG)
der gleichen Branche gehostet Organisation, die IPP als allgemeinen Standard entwickelt und fördert.
Die Komponenten ippserver
, ipptool
, ippfind
, ippproxy
und ipptransform
bilden zusammen einen standardkonformen IPP Everywhere
Implementierung, die sowohl den Client als auch die Server-Seite des Druckens abdeckt.
Der GitHub-Code für das IPP-Beispielprojekt wird von genau demselben Mike Sweet gepflegt, der auch CUPS entwickelt - also ist es das Richtige.
Ja, es kompiliert und funktioniert gut unter Windows, und es gibt viele .vclxproj
und .sln
Dateien verfügbar, um den Erstellungsprozess mit MS Visual Studio so reibungslos wie möglich zu gestalten.
Ja, der IPP-Beispielcode funktioniert und kann auf einen CUPS-Server drucken (oder von dort Druckaufträge empfangen), der auf macOS oder einer Mischung von Linux ausgeführt wird.
Nein, dies ist noch kein ausgewachsener CUPS-Server für Windows, der als Ersatz für einen Windows-Druckserver dienen kann. Es hat nicht mit ALLEN Features, die erforderlich wären.
Aber wenn du ein solches Biest erschaffen willst:
Oh, und wusstest du, dass Apple kürzlich die Lizenzbedingungen für CUPS geändert hat und es großzügiger gemacht hat, weg von GPL2 zu Apache 2.0 Lizenzierung?
Sie haben noch nie von "IPP Everywhere" gehört? Es ist die Zukunft des "fahrerlosen" Druckens.
Noch nie von "driverless printing" gehört? Eine leicht modifizierte (und abgespeckte) Version ist bereits als "Apple AirPrint" für iPhone- und iPad-Geräte implementiert.
Die aktuelle Implementierung des CUPS-basierten Druckstapels enthält neue Codeabschnitte im Projekt cups-drivers
das kürzlich nach GitHub umgezogen ist. Dieser neue Code implementiert die IPP Everywhere-Funktionalität.
Dieses cups-filters
Projekt wird von der OpenPrinting-Abteilung der Linux Foundation betreut seit Apple diese Teile des ursprünglichen CUPS-Quellcodes an sie weitergegeben hat, als sie für Mac OS nicht mehr brauchbar waren, aber für Linux immer noch wichtig waren.
Was sind die Grundideen des fahrerlosen Druckens?
Lassen Sie die Geräte ihre Anwesenheit und ihre Art von Dienst im lokalen Netzwerk automatisch ankündigen. Verwenden Sie die IETF-Standardprotokolle mDNS
und DNS-SD
(die in macOS unter dem Namen "Bonjour" und in Linux als "Avahi" implementiert sind) zur Kenntnisnahme der angebotenen Dienste.
Teilen Sie den Druckclients mit, dass sie das Protokoll IPP
verwenden können, um eine Abfrageantwort zu erhalten, wenn sie eine get-printer-attributes
-Anforderung stellen. Diese Anfrage teilt ihnen mit, welche Druckoptionen die Geräte unterstützen. Die Druckclients können dann einen genau zugeschnittenen Druckdialog anzeigen, um dem Druckbenutzer eine Auswahl von Auswahlmöglichkeiten zu zeigen. Dem Druckclient wird außerdem mitgeteilt, welche Formate für die Übermittlung von Aufträgen von den einzelnen Geräten unterstützt werden. Dies muss entweder PDF oder ein einfaches Rasterformat namens "PWG-Raster" sein.
Also ... wo würden Sie in einer solchen Umgebung einen bestimmten "Druckertreiber" brauchen? Alles und jeder kann heutzutage PDF-Dokumente erstellen. Prüfen! Keine gerätespezifische Konvertierung in eine andere Drucksprache erforderlich.
Gibt es Drucker, die IPP Everywhere bereits unterstützen? Oh ja, schau mal hier - sie alle sollen dem Standard voll entsprechen:
CUPS verwendet Internet Printing Protocol für die Client-Server-Kommunikation. Laut Technet-Artikel kann Windows als IPP-Host verwendet werden :
Um einen Computer unter Windows zu aktivieren Server 2008 fungiert als Server Internet-Druck unterstützen, müssen Sie Installieren Sie die Webserver (IIS) -Rolle, die Print Services-Rolle und das Internet Rollenservice im Druck drucken Dienst-Rolle.
Außerdem können Windows-, Linux- und Mac OS X-Clients Drucker verwenden, die über SMB gemeinsam genutzt werden.