PDF Drucker für DSM gesucht

DonDinero

Gesperrt
Mitglied seit
26. Apr 2023
Beiträge
23
Punkte für Reaktionen
1
Punkte
3
Ich suche eine Möglichkeit, einen virtuellen Drucker auf meiner Diskstation zu installieren.

Ziel ist ein ständig verfügbarer, virtueller PDF-Drucker, der von anderen Geräten im LAN genutzt werden kann. Vor dem Drucken sollen keine weiteren Abfragen erscheinen, d.h. die erzeugten PDF sollen automatisch benannt werden und in einem vom Admin festgelegten Verzeichnis gespeichert werden.

Hintergrund: Im vorliegenden Fall erzeugen Messrechner im LAN täglich eine Menge Papier-Ausdrucke. Die Ausdrucke sind aus diversen Gründen erforderlich, allerdings würden PDFs anstelle von Papier-Ausdrucken genügen.

Vorhandene Hardware: DS220+ und DS218 mit DSM 7 bzw. 6.2.

Gibt es eine passende App für DSM?
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.264
Punkte für Reaktionen
923
Punkte
174
Schau mal hier: https://wiki.ubuntuusers.de/CUPS-PDF/
Könntest du mal mit einer kleinen Ubuntu-Core-VM erproben.

Cups-PDF ist eine Erweiterung vom Cups-Printserver. Letzterer ist wohl auch unter DSM in Einsatz. (Externe Geräte / Drucker)
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.389
Punkte für Reaktionen
1.206
Punkte
234
Statt einer VM mit fest zugewiesenen Ressourcen würde ich für so einen Dienst Docker bevorzugen.
Oder:
  • https://github.com/thyrlian/AirPdfPrinter
    Mit diesem Container konnte ich sofort vom iPad drucken. Wie man es als Netzwerkdrucker in einem anderen Gerät einrichtet, müsste man individuell erkunden.
    docker run --network=host -d -v /volume1/docker/air-pdf-printer/pdf:/root/PDF -v /volume1/docker/air-pdf-printer/cups-pdf:/var/spool/cups-pdf --name air-pdf-printer thyrlian/air-pdf-printer
 
  • Like
Reaktionen: ctrlaltdelete

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.264
Punkte für Reaktionen
923
Punkte
174
Statt einer VM mit fest zugewiesenen Ressourcen würde ich für so einen Dienst Docker bevorzugen.
Da bin ich grundsätzlich d'accord. Ich hatte gestern auf die Schnelle keinen Cups-Docker-Container mit integrierter Cups-PDF gefunden.
Daher die Empfehlung zur VM.

Hier wäre ansonsten ein geeigneter Docker Versuchskandidat:
https://hub.docker.com/r/olbat/cupsd
 
  • Like
Reaktionen: Iarn und geimist

Thorfinn

Benutzer
Sehr erfahren
Mitglied seit
24. Mai 2019
Beiträge
1.601
Punkte für Reaktionen
361
Punkte
103
Einen Cups in einem Container geht bei einer "+" natürlich immer.

So wie du das willst sollte das aber auch mit Bordmitteln funktionieren:
Ist das webinterface von cups schon aktiv? http://localhost:631/printers/
wenn nein: Ab an die Konsole: cupsctl WebInterface=yes
Die Konfiguration machst du dann am webinterface von CUPS.

einfacher wäre:
Lass den "Messrechner" das doch selber in eine pdf schieben. Das zuerst mittels LPR oder was nu nun nutzt zu DSM schieben und dann erst eine pdf zu rendern um die dann zu archivieren macht deutlich mehr Datenverkehr und Rechenarbeit.
Nun wissen wir nicht welche Printersprachen der "Messrechner" spricht und welches Betriebssystem läuft, aber es sollte 2023 nicht unmöglich sein ihm auch pdf beizubringen. (Für cp/m wüsste ich keine Lösung, für TOS und Apple System 7 lässt sich was finden).
 

DonDinero

Gesperrt
Mitglied seit
26. Apr 2023
Beiträge
23
Punkte für Reaktionen
1
Punkte
3
Danke für den Input.

Selbstverständlich könnten die Messrechner lokal mittels PDF24 o.ä. direkt in PDFs drucken und die Dateien auf dem NAS ablegen. Damit wäre das Thema schon erledigt. Aus Wartungs- und Skalierbarkeitsgründen würde ich aber lieber zentral einen PDF-Drucker auf dem NAS laufen lassen und dann als Netzwerkdrucker freigeben.

Mit Docker (und Cups) habe ich noch keinerlei Erfahrung, scheint aber eine gangbare Lösung zu sein. Wie würde das ablaufen? Docker auf der DSM installieren und dann den Cups-Container herunterladen und reinpacken? Wie geht's dann weiter? Wie wird dieser PDF-Drucker dann angesprochen?
 

Thorfinn

Benutzer
Sehr erfahren
Mitglied seit
24. Mai 2019
Beiträge
1.601
Punkte für Reaktionen
361
Punkte
103
Skalierbarkeit:
Es ist das Gegenteil von Skalierbarkeit das Druckrendering auf einer centralen Maschine mit einer CPU zu machen die dafür nicht gemacht ist. Die CPU der NAS sind auf Durchsatz designed - nicht auf Rechenleistung. Skalierbar heisst Rechenleistungen verteilen - nicht zentralisieren.

Cups ist ein daemon - ein Teufelchen der im Hintergrund werkelt und dessen Dienste man sich bedienen kann. CUPS bastelt sich aus den gespoolten Druckdaten ersteinmal ein PDF und zerlegt ds PDF dann danach in eine Sprache die der Drucker versteht (oder legt das pdf irgenwo ab). CUPS findet man in fast allen Linuxdistributionen und *iX'en (auch macOS). Synology DSM ist ein Linux. CUPS ist das Drucksystem von Synology DSM.

Aber warum einen CUPS container wenn es eh schon in DSM läuft?
Du brauchst es nur noch zu konfigurieren (ein GUI hat Synology dafür aber nicht gesondert programiert).
Den CUPS Spooler in DSM kannst du mit Protokollen wie LPD, IPP, BJNP, Socket, AppleTalk, Apple Airprint erreichen (vielleicht auch ein paar mehr) BJNP und Socket haben KEINE Warteschlangenfunktion, da wird dann der Klient ausgebremst, schlimmstenfalls bis zum Timeout. und dann ist mit deine Skalierbarkeit so richtig im Eimer.
Wenn du CUPS in einen Container mit diversen GUI zur konfiguration packst, musst du natürlich eine Verbindung vom Container zum Wirt und vom Wirt zur Aussenwelt zulassen. Also Brücken bauen und Löcher in Brandmauern bohren.
 
Zuletzt bearbeitet:

DonDinero

Gesperrt
Mitglied seit
26. Apr 2023
Beiträge
23
Punkte für Reaktionen
1
Punkte
3
Umso besser, wenn das ohne Container geht. Ich würd's in jedem Fall gerne mal ausprobieren. (Es sind 2-4 Windows-Clients, die max. 20 Seiten Text s/w pro Tag produzieren - das sollte die CPU doch hinbekommen?!).

@Thorfinn: Könnest du mir bitte grob skizzieren, was ich machen müsste?

Skalierbarkeit war vllt. nicht der richtige Begriff. Mir geht's darum, den Drucker zentral anzubieten, damit ich nicht auf jedem einzelnen (neuen) Client einen PDF-Drucker installieren muss.
 
Zuletzt bearbeitet:

Thorfinn

Benutzer
Sehr erfahren
Mitglied seit
24. Mai 2019
Beiträge
1.601
Punkte für Reaktionen
361
Punkte
103
Umso besser, wenn das ohne Container geht. Ich würd's in jedem Fall gerne mal ausprobieren. (Es sind 2-4 Windows-Clients, die max. 20 Seiten Text s/w pro Tag produzieren - das sollte die CPU doch hinbekommen?!).

@Thorfinn: Könnest du mir bitte grob skizzieren, was ich machen müsste?
hab ich dosch schon:
So wie du das willst sollte das aber auch mit Bordmitteln funktionieren:
Ist das webinterface von cups schon aktiv? http://localhost:631/printers/
wenn nein: Ab an die Konsole: cupsctl WebInterface=yes
Die Konfiguration machst du dann am webinterface von CUPS.
Für den Rest: Siehe Handbuch.

Dann natürlich noch jeden Klienten konfigurieren. Wenn das Betriebssystem der “Messcomputer” wirklich noch keinen pdf renderer mitbringt und du Postscript zu cups schieben willst, dann musst du den generischen PostScriptdrucker ja auch konfigurieren, Dazu dann noch die Verbindung. Ob das weniger Arbeit ist?
Einen pdf Drucker einzurichten hat eine flachere Lernkurve.
 

Synchrotron

Benutzer
Sehr erfahren
Mitglied seit
13. Jul 2019
Beiträge
4.733
Punkte für Reaktionen
1.694
Punkte
214
Man kann alles auf die DS schieben (ist ja immer verfügbar, kann alles auch noch erledigen etc.). Allerdings ist deren CPU wie bereits gepostet für manche Aufgaben besser geeignet als für andere. Und viele kleine Jobs kollidieren gerne mit den größeren, was dann irgendwann bremst.

Daher werkelt in meinem Netzwerk für solche Aufgaben ein Raspberry Pi. Der hat eine SSD, die für schnelle parallele Zugriffe mehrerer Jobs besser geeignet ist als die HDDs der DS.

Dort läuft u.a. CUPS und bietet seine Dienste als Netzwerk-Druckerserver an. Der Raspi haut die Druckjobs durch, ohne dabei warm zu werden, und bietet u.a. auch eine Warteschlange für Druckjobs.
 

DonDinero

Gesperrt
Mitglied seit
26. Apr 2023
Beiträge
23
Punkte für Reaktionen
1
Punkte
3
Existiert denn der Befehl cupsctl WebInterface=yes (bzw. das Webinterface) überhaupt unter DSM?
 

Thorfinn

Benutzer
Sehr erfahren
Mitglied seit
24. Mai 2019
Beiträge
1.601
Punkte für Reaktionen
361
Punkte
103
nein nein, ich meinte schon cupsctl des Synology DSM. Ich kann jetzt gerade nicht per mit ssh rangehen um nachzuschauen ob es an Bord ist.
Ich würd aber weiterhin die Klienten die PDFs machen lassen. Weil: schneller, effizienter, nie Que-timeout Probleme.
 
Zuletzt bearbeitet von einem Moderator:

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.328
Punkte für Reaktionen
2.873
Punkte
423
Es gibt
Code:
root@DS1522:~# cups<TAB>
cupsaccept   cupsd        cupsdisable  cupsenable   cupsfilter   cupsreject
 

Tuxnet

Benutzer
Mitglied seit
02. Jan 2019
Beiträge
586
Punkte für Reaktionen
68
Punkte
48
Statt einer VM mit fest zugewiesenen Ressourcen würde ich für so einen Dienst Docker bevorzugen.
Oder:
  • https://github.com/thyrlian/AirPdfPrinter
    Mit diesem Container konnte ich sofort vom iPad drucken. Wie man es als Netzwerkdrucker in einem anderen Gerät einrichtet, müsste man individuell erkunden.
    docker run --network=host -d -v /volume1/docker/air-pdf-printer/pdf:/root/PDF -v /volume1/docker/air-pdf-printer/cups-pdf:/var/spool/cups-pdf --name air-pdf-printer thyrlian/air-pdf-printer

Leider bekomme ich das mit dem Docker nicht zum laufen,
ich sehe auf dem IOS keinen Drucker.

Der Docker läuft durch
 
Zuletzt bearbeitet:


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat