Für meine Photo Booth, die ich seinerzeit für meine Hochzeit gebaut habe, hatte ich einen Canon Selphy CP910 angeschafft. Der Plan war die geschossenen Fotos jeweils direkt auf Sticker zu drucken damit die Gäste sie in ein Gästebuch einkleben konnten. Leider gestaltete sich die Konfiguration des Druckers unter Linux als sehr schwierig und ich hatte auch nirgendwo anders im Netz eine Lösung gefunden.
Beim letzten Einsatz „unter extremsten Bedingungen“ wurde der CP910 leider zerstört (jemand konnte es nicht abwarten und hat zu früh und scheinbar mit brachialer Gewalt am Foto gezerrt. Das Modell gibt es nicht mehr und ich habe nun den CP1300 bekommen, und darf den Konfigurationstanz wiederholen.
Zum Glück konnte ich meine Schritte vom letzten mal noch rekonstruieren und vielleicht gibt es ja noch jemanden da draußen der einen der Drucker unter Linux verwenden mag.
Ich denke was Cups ist solltet ihr wissen wenn ihr bis hierhin gelesen habt. Es gibt verschiedene, kostenlose Treiberpakete (Gutenprint, Foomatic, OpenPrinting) aber nichts wollte so richtig funktionieren. Schon gar nicht via WLAN. Man kann auch eigene PPD-Dateien bei der Konfiguration mitgeben aber auch hier habe ich nicht sinnvolles aus den Canon-Treibern extrahieren können.
Irgendwann wollte ich schon aufgeben da kam mir der rettende Gedanke: unter macOS klappt es, da wird doch auch Cups verwendet. Sogar via AirPrint also sollte ja eigentlich eine PDF in Richtung Drucker übertragen werden also werden keine großartigen Cups Filter oder Plugins verwendet.
Um das hier nicht in die Länge zu ziehen, in /etc/cups/ppd auf meinem iMac konnte ich nachdem ich den Drucker installiert hatte (und AirPrint als Treiber gewählt hatte) die nötige Datei finden. Man muss nur eine Zeile entfernen (*APPrinterIconPath …) dann funktioniert die Datei auch unter Linux. Es gab zwar noch ein paar Fehlermeldungen in /var/log/cups/error_log dass diverse Sachen nicht gefunden wurden aber ich konnte erfolgreich via WLAN auf dem CP910, und nun auch auf dem CP1300 drucken!
Hier sind meine verwendeten PPD Dateien, falls ihr gerade kein macOS zur Hand habt um diese selber zu generieren. Ich glaube das ganze funktioniert indem der Drucker beim Hinzufügen eine Konfiguration bereitstellt. Das sollte eigentlich auch unter Linux klappen, tut es bei mir aber nicht.
Ich denke den gleichen Trick kann man mit allen AirPrint fähigen Druckern machen. Vielleicht geht das ganze auch viel einfacher, ich hatte es aber wie gesagt nicht hinbekommen.
Achtung: um die Sticker zu verwenden wird noch die passende Papierkassette benötigt!
Noch ein kleiner Tipp: wer nicht per Hand an der /etc/cupsd.conf herumspielen möchte um auch von einem anderen Rechner auf die Cups-Weboberfläche zu kommen kann die nötigen Änderung an der Datei mit folgendem Kommando ganz einfach tun.
cupsctl --remote-admin --remote-any --share-printers
Scheinbar ist es nur möglich Fotos oder andere Bilder an den Canon Selphy zu schicken. Ich verwende hierzu das Kommando lpr aus dem Paket cups-bsd:
lpr Image.jpg
Update: Ich habe gerade tatsächlich noch eine Alternative gefunden. Allerdings wird hier nicht via Cups gedruckt sondern direkt über ein kleines Tool. Wer mag kann es ja mal anschauen: selphy.go
Noch ein Nachtrag: ich habe noch ein paar Bash-Skripte gefunden, mit denen der CP1300 auch wunderbar drucken kann: canon-selphy-print. Genau wie auch selphy.go braucht es keinen speziellen Treiber. Großer Vorteil: es gibt jeweils ein Script für die drei verschiedenen Größen. Sicher hilfreich.
Hallo Thorsten,
ich habe auf meiner Raspi deine Anleitung versucht. Mein Drucker wird jetzt auch angezeigt, allerdings kann ich nicht drucken.
Bei der Testseite kommt im Browser:
Nicht unterstütztes Format »application/vnd.cups-pdf-banner«
und in der Error.log steht
Returning IPP client-error-document-format-not-supported for Send-Document
Wenn ich direkt auf der Raspi versuche eine Bild oder Text zu drucken steht im error.log der gleiche Fehler.
Woran kann das liegen und wie kann ich das Problem beseitigen?
Danke
Andy
Hallo Andy,
ich habe es gerade bei mir noch einmal getestet: ich bekomme erstmal auch den gleichen Fehler wie du wenn ich versuche eine Testseite zu drucken. Was aber nicht weiter schlimm ist denn ich möchte ja keinen Text drucken sondern nur Bilder, da es ja ein Fotodrucker ist.
Wenn du das cups-bsd Paket installierst kannst du mit
# lpr Bild.jpg
wunderbar drucken.
Das PPD-File für den CP1300 ist genial, insbesondere da die Gutenprint-Treiber so miese Qualität via USB erzeugen. Probleme machten bei mir noch zusätzliche die ICC-Profilepfade, da das offensichtlich macOS-Locations waren.
Leider bekomme ich nur randloses Drucken damit nicht hin. Irgendwelche Ideen dazu?
Wie hast du das Problem mit den ICC-Profilpfaden gelöst. Ich habe das selbe Problem
Ich glaube das war kein Problem oder ich habe einfach alles was einen macOS Pfad hatte einfach stumpf aus der Datei gelöscht.
Ich nutze auch die ppd und drucke über
lp -d Druckername -o media=postcard.fullbleed filename
entscheidend ist postcard.fullbleed als media zu setzen, dann kommt es randlos.
Hallo,
ich betreibe für Freunde und Familie eine nicht kommerzielle Fotobox (unter Windows 10). Da drucke ich bisher erfolgreich mit einem Canon Selphy. Allerdings ist mir der Durchsatz zu gering. Daher hatte ich es erst unter Windows mit Pooling versucht, ohne Erfolg. Daher versuche ich es gerade einen Raspberry Pi als Druckerserver mit Cups ans laufen zu bekommen, der mir die Selphies als ein Drucker im Netzwerk verfügbar macht. Unter Gefundene Netzwerkdrucker tauchen der / die Drucker nicht auf. Via USB kann ich die Drucker hinzufügen (mit der PPD von dieser Seite). Wenn ich dann einen Drucker unter Windows als Netzwerkdrucker einbinde und via Fotos App drucken will passiert nichts. Ich habe schon versucht via google etwas herauszufinden aber komme nicht so recht weiter. Daher hoffe ich hier Hilfe zu bekommen.
viele Grüße
Florian
Vielen Dank für die Anleitung und die Dateien. Das kabellose Drucken funktioniert damit wunderbar. Wie im Kommentar von Balthasar habe ich die Pfade zu den ICC Profilen angepasst, damit die error_log Einträge verschwinden.
CUPS legt die ppd Datei in folgendem Pfad ab:
/etc/cups/ppd
Die ICC Profile befinden sich hier:
/usr/share/color/icc
srgb.icc habe ich aus dem colord Verzeichnis genommen
sgray.icc aus dem ghostscript Verzeichnis
Bei der Auswahl bin ich nach dem Namen gegangen. Die Auswirkungen sind mir eher nicht bewusst. Die Fotos sahen soweit in Ordnung aus.
Ein Problem mit einem randlosen Druck habe ich nicht. Die Bilder waren eher größer als das Format des Druckers, daher hat eher was gefehlt.
Beim Aufruf lpr kann man Optionen mit geben, z.B.:
lpr -o fit-to-page image.jpg
lpr -o scaling=100 image.jpg
Siehe CUPS Doku oder diverse Forenbeiträge über Google.
Ich hab ewig gesucht. Aber ich hab den Stein der Weisen gefunden.
https://ubuntuforums.org/showthread.php?t=2423567
Und eure Träume werden wahr.
Hi,
erstmal danke für den Artikel und die Files. Ich selbst habe auch noch einen CP910 hier stehen und dachte gerade ich nehme ihn mal in Betrieb. Leider kommt bei einem „normalen“ Druckversuch eines Fotos bei mir die Meldung „Unknown print size! (00, 393218×8781824)“. An ein Druck ist nicht zu denken. Egal welches Papierformat ich gewählt habe – es ändert sich nicht
Hast Du noch nen Tip?
Beste Grüße
Thomas
Danke für den Hinweis auf selphy.go auch dieser Driver funktioniert sehr gut.
Hallo,
leider kann man die PPD Datei nicht mehr herunter laden, es gibt ein PHP Versions-Problem. Könntest du sie vielleicht nochmal anderswo hochladen? Ich finde Sie nirgends sonst, und will meinen CP1300 unbedingt zum laufen bekommen.
Grüße,
Stefan
Hallo Stefan,
ich habe das mal zum Anlass genommen meine Nextcloud zu aktualisieren. Sollte also nun wieder funktionieren.
Super, danke!
Suuuper Danke!
Ich war kurz frustriert über den Selphy 1300, nachdem die Einrichtung über WLAN auf dem Raspi erstaunlich gut funktioniert hat, war dann der erste Printjob negativ. Dann hab ich Deinen Artikel gefunden und hab das ppd file probiert – und ja, er druckt, so wie ich es erhofft hatte!
Vielen Dank,
Peter
Ich hatte schon aufgegeben, aber Dank deines Artikels hab ichs noch mal probiert…
Mit USB (Einrichtung über CUPS-Seite und dem gutenberg-treiber) hat es nun gut funktioniert, bis auf evtl. Ränder . Deine PPDs hab ich noch nicht probiert – DANKE!
Via WLAN wäre es jetzt aber natürlich noch schicker… Sowohl in Yast (OpenSuSE) als auch auf der CUPS-Konfigurationswebseite müsste ich eine Verbindung selbst eingeben – ipp:/IP-Adresse/ipp hat nicht funktioniert – per USB wird das Gerät gefunden und angeboten. Unter Windows klappt es per WLAN, die Verbindung an sich besteht also.
Freue mich über einen Schubs in die richtige Richtung 🙂
Habe dazu leider nur wenig gefunden. Gibts da nen Trick?
Christian
Thank’s so much for the ppd links for the Selphy cp1300 !!!