theoberlin
Goto Top

Druck-Auftrag nach Anzahl Blättern aufteilen

Hallo zusammen,

für ein Ausfallszenario denke ich gerade über eine Möglichkeit nach, die an einen Drucker gesendeten Druckaufträge anhand ihrer Blattanzahl auf verschiedene Maschinen und / oder Fächer zu verteilen.

Grund ist eine anschließende Kuvertierung bei der pro Batch immer nur eine definierte Blattzahl pro Sendung möglich ist.

Weiß jemand ob so etwas mit CUPS möglich ist oder kennt spontan ein anderes System mit dem eine solche Anforderung umsetzbar wäre?

LG
Theo

Content-ID: 672061

Url: https://administrator.de/forum/druck-auftrag-nach-anzahl-blaettern-aufteilen-672061.html

Ausgedruckt am: 20.03.2025 um 17:03 Uhr

godlie
godlie 20.03.2025 um 10:56:31 Uhr
Goto Top
Zitat von @theoberlin:

Hallo zusammen,

für ein Ausfallszenario denke ich gerade über eine Möglichkeit nach, die an einen Drucker gesendeten Druckaufträge anhand ihrer Blattanzahl auf verschiedene Maschinen und / oder Fächer zu verteilen.

Hallo,

hast du dir den Satz nochmal durchgelesen bevor du ihn abgeschickt hast? Daten die bereits am Drucker sind, kann kein Programm der Welt verändern....

grüße
DivideByZero
DivideByZero 20.03.2025 um 11:26:10 Uhr
Goto Top
Moin,

welches Betriebssystem bei den Clients?

Gruß

DivideByZero
theoberlin
theoberlin 20.03.2025 um 11:50:10 Uhr
Goto Top
Hi Godlie,
da hängt ja noch ein Druckserver dazwischen. Bzw. Um genau den geht es.

LG
Theo
theoberlin
theoberlin 20.03.2025 um 11:50:42 Uhr
Goto Top
Die Aufträge würden von Windows Clients oder aus SAP kommen.
Crusher79
Crusher79 20.03.2025 um 14:10:06 Uhr
Goto Top
Hallo,

geht auch so mit ein paar Kniffen.

PDF vorhanden? Sonst eins erstellen. Damit wäre die Basis fertig. PDF Drucker oder sowas hier:

https://github.com/lomo74/mfilemon
https://github.com/clawsoftware/clawPDF

https://github.com/EvotecIT/PSWritePDF?tab=readme-ov-file
https://evotec.xyz/merging-splitting-and-creating-pdf-files-with-powersh ...

Gibt noch tausend andere kleine Helferlein. Damit liegen die dann irgendwo rum.

$PDFviewer = """C:\Program Files (x86)\Foxit Software\Foxit PDF Reader\FoxitPDFReader.exe"""   
$PDFprinter = """TollerJob"""  
$PDFprintpara = "/t"  
$PDFviewpara = "/A zoom=50%"  
$PDFfile = """$EineVariable"""  
$PDFprintcmd = $PDFviewer + " " + $PDFprintpara + " " + $PDFfile + " " + $PDFprinter  

Hier müsste Fach dann an der Kopie des Druckers hängen. Also mehrfach angelegt und Default Werte gespeichert.

Es gibt auch Lösungen wo man Fach mit geben kann. Sonst hast du Fach1 - Fach5 als Queue rumliegen. Geht aber auch.

Das wäre nun mit die einfachste Variante. Log-File, Mail-Benachrichtigungen etc. kann man noch mit einbauen.

Via SNMP kannst du auch Status abfragen und nur dann Auftrag los schicken. Ping reicht da nicht. Auch das klingt schlimmer, als es ist! Sind ja meist nur wenige OIDs die einen interessieren.

Aufteilung wäre dann leichte Mathematik. Loop bauen bis Anzahl erreicht ist. Modulo für Gerade und Ungerade.....


Im Prinzip packst du alles in Batches pro Drucker-Fach. Entweder eine große PDF, die alle Seiten beinhalten oder alle Seiten als Array.

1x PDF pro Auftrag - zusammenhängend - und dedizierte Fächer verhindern auch, dass andere Aufträge da reingeraten.

Normal machen die Großen das ja auch mit Heften und Stapeln. Ich denke aber mal ihr habt keine Druckstraße bei euch.

Aber so würde es fast schon mit Bordmitteln und leichter Logik gehen!
DivideByZero
DivideByZero 20.03.2025 um 16:03:30 Uhr
Goto Top
mfilemon ist ein guter Tipp, damit schon auf dem Client dazwischen hängen und aufteilen und weiterleiten.
Crusher79
Crusher79 20.03.2025 um 16:54:33 Uhr
Goto Top
Zitat von @DivideByZero:

mfilemon ist ein guter Tipp, damit schon auf dem Client dazwischen hängen und aufteilen und weiterleiten.

Im Prinzip hast du Zugriff auf Windows shell. PostScript z. B. Ab da kann man Sauereien machen.

Struktur reinbringen, Fehler behandeln etc etc

Läuft auch im Hintergrund. User muss nicht angemeldet sein.

Drucker als Kopie mehrfach und Fach, duplex etc speichern. Billig und viele Queues, führt aber so rasch zum Erfolg. Sehr robust.

Sonst mit powershell und C sharp Drucker ansteuern. Aber auch ohne das geht es mit einfachen Mitteln.
Crusher79
Crusher79 20.03.2025 um 17:12:37 Uhr
Goto Top
Sichern:
rundll32 printui.dll,PrintUIEntry /Ss /n "FSP" /a "PrinterConfig.dat  

Widerherstellen:
rundll32 printui.dll,PrintUIEntry /q /Sr /n "$NewPrinterName" /a "PrinterConfig.dat" r u  


Fas ist nochmal was ganz simple. Auch PowerShell integrierbar. Auch "höhere" Funktionen werden mit gesichert. Also was man unter Klicki-Bunti so einstellt.

Man könnte also sagen, wenn Aufträge für A da sind, soll vorher A.dat geladen werden. Drucker wird dann auf Farbe, Duplex umstellt.

Soll ab 12 Uhr B raus kommen, einfach B.dat laden und es wird Schwarz-Weiß mit Steg gedruckt.

Das sind fast alles Einzeiler. Selbst wenn man Drucker nicht programmiertechnisch groß ansprechen will, so hat man hier die Chance Config einfach drüber zu bügeln - fertig.


Mit einer sinnvollen Struktur sollte sich damit vieles abbilden lassen. Die PDF müssen nur "elektronisch" und lesbar bleiben. Dann geht sogar noch mehr. Mit pdftotext - https://www.xpdfreader.com/pdftotext-man.html - Ausgabe erzeugen und bei Belegart XYZ dieses oder jenes ausführen.

SAP sollte Crystal Reporsts sein? Ist aber eig. egal. Wenn man nicht gerade in PDF eine Seite ohne OCR scannt, so ist doch in 90% der Fälle PDF Textstream vorhanden und auswertbar.

Wir haben:
- PDF mit Namen
- PDF mit lesbaren Seiten
- Versch. Queues
- Virt. Drucker (mfilemon)
- Software die ohne User Interaktion druckt ( z.B. Foxit Reader )

Eig. also alles was man für eine schöne Steuerung braucht.....