Wenn ich an meinem Laptop arbeite, möchte ich manchmal ein paar Dokumente in die Warteschlange stellen, um sie später zu drucken, da ich zu diesem Zeitpunkt nicht an einen Drucker angeschlossen bin.
Tatsächliche Druckerwarteschlangen sind jedoch nicht dafür ausgelegt. Sie versuchen sofort, das Dokument zu drucken, und alle beginnen plötzlich mit dem Drucken, sobald ich im Netzwerk bin. Dies ist im Allgemeinen nicht das, was ich tun möchte. Außerdem möchte ich manchmal die Reihenfolge der Dokumente in der Warteschlange ändern, was nicht ganz einfach ist, insbesondere, wenn einige davon bereits gedruckt wurden.
Manchmal schlägt der Druck auch fehl, weil z. B. auf dem Drucker kein Papier oder kein Toner mehr vorhanden ist und ich das Dokument auf einem anderen Drucker erneut drucken möchte. Dies ist nicht einfach mit zB CUPS
oder system-config-printer
; Im Allgemeinen muss ich zurückgehen, den PDF-Reader erneut öffnen und von vorne beginnen. In keinem der mir bekannten PDF-Reader können Sie eine Liste der zu druckenden Dokumente aufbewahren, aber dies ist möglicherweise eine verborgene Funktion eines PDF-Readers, von dem ich nichts weiß.
Folgendes möchte ich auf jeden Fall können:
- Geben Sie eine Liste der zu druckenden PDF-Dateien an.
- Behalten Sie diese Liste auf der Festplatte, damit ich die Anwendung schließen oder neu starten kann, ohne die gesamte Liste zu verlieren.
- Geben Sie die Drucker an, an die ich sie senden möchte, ohne zu diesem Zeitpunkt tatsächlich mit diesen Druckern verbunden zu sein.
- Geben Sie Druckoptionen wie Farbe, Duplex und Anzahl der Kopien an.
- Ändern Sie diese Druckerzuweisungen und Druckoptionen später.
- Warten Sie, bis ich eine Taste drücke oder einen Befehl ausführe, um die Dokumente tatsächlich zu drucken.
- Führen Sie eine separate Liste der bereits gedruckten Dokumente, falls der Druck nicht funktioniert oder ich sie später erneut drucken möchte.
Ich weiß, ich könnte etwas zusammen mit einem Shell-Skript lpr
und einer Liste von Pfaden in einer Textdatei hacken , aber ich kann nicht anders, als das Gefühl zu haben, dass dieses Problem bereits auf robustere und elegantere Weise gelöst wurde.
Bonuspunkte:
- Es ist nicht erforderlich, dass die Dokumente in einem PDF-Reader geöffnet sind. Ich möchte sie drucken, nicht durchsuchen, und es gibt keinen Grund, warum sie dieselbe Anwendung sein müssen.
- Mehr als eine Liste.
- Funktioniert auch für Postscript, DjVu und andere Seitenbeschreibungsformate.
- Ziehen und Ablegen von Dateimanagern.
Irgendwelche Vorschläge?
quelle
cups
. Sie drucken einfach in die gewünschte Druckerwarteschlange, halten die Druckaufträge jedoch an, bis Sie sie freigeben. Die Taste "Halten" ist alles, was benötigt wird. Oder vermisse ich etwas?system-config-printer-applet
ermöglicht es mir, Druckaufträge zurückzuhalten und freizugeben sowie auf andere Drucker zu verschieben, aber ich kann die Reihenfolge der Druckaufträge oder die Druckoptionen nach dem Senden des Auftrags nicht ändern. Außerdem ist der Pfad zum Originaldokument zu diesem Zeitpunkt schon lange nicht mehr vorhanden.Antworten:
Was ich tue, ist das Folgende - es ist nicht so vielseitig, wie Sie gefragt haben, aber es funktioniert fast in Ordnung. Sie müssen alle Ihre Drucker definiert haben, und dann benötigen Sie diese beiden Skripte:
stop_printers
:start_printers
:Sie müssen sie (zum Beispiel
~/bin
) in Ihren Pfad einfügen und mit ausführbar machenchmod +x
. CAVEAT : Ich habe keinen Drucker mit Leerzeichen im Namen. Die Skripte werden in diesem Fall nicht getestet (aber ich bin sicher, dass einer der Gurus unseres Shell-Skripts die Skripte blitzschnell reparieren wird; -) ...)Jetzt können Sie Folgendes ausgeben:
Und Sie können von jedem beliebigen Ort aus drucken, der Drucker wird angehalten:
Sie können Ihre Warteschlange sehen:
(AFAIK, die Druckwarteschlangen bleiben auch nach einem Neustart bestehen). Und wenn Sie drucken möchten:
Mit können
lprm
Sie einen Job entfernen, wenn Sie möchten.lpr
Um ein Dokument über die Befehlszeile in eine Warteschlange zu bringen und wenn Sie unterschiedliche "Listen" möchten, verbietet es niemand, denselben Drucker mehrmals mit unterschiedlichen Namen zu definieren.Sie können jeden Drucker auch manuell wiederaufnehmen. Dies ist nur eine Frage
cupsenable <printername>
der Eingabeaufforderung.Ich glaube nicht, dass Sie mit dieser Lösung die Druckoptionen nachträglich ändern können. Sie müssen das Dokument dafür aus der Warteschlange nehmen und erneut in die Warteschlange stellen.
quelle
cut
Abschnitt:cat /etc/printcap | cut -d "|" -f 1 | grep -v "#"
. Sie sparen sich Zeit, indem Sie die Übersetzung entfernentr
. Dies funktioniert, sofern Sie nur Ihr erstes Feld benötigen.Mein Paket (schamloser Plug), duplexpr, macht einiges von dem, was Sie wollen und enthält Bash-Funktionen, die nützlich sein können, um Ihre eigene Version zu rollen. (Es ist in bash codiert, daher sollte es relativ einfach zu ändern sein und ich werde helfen, wenn ich kann.)
Es wurde entwickelt, um Duplexdruck auf Nicht-Duplexdruckern zu emulieren, und implementiert eine eigene einfache Druckwarteschlangenverwaltung. Es hat sowohl GUI- als auch CLI-Schnittstellen.
Die aktuelle Version druckt nur im Duplex-Modus und funktioniert nur mit Nicht-Duplex-Druckern. Es ist jedoch eine neue Version in Arbeit, die Drucker mit Duplex-Hardware unterstützt, die im Wesentlichen nur die Verwaltung von Druckern und Warteschlangen ohne die Duplex-Emulationssoftware umfasst. (Ich habe eine Alpha-Version eines Skripts, das bereits funktioniert, wenn jemand mich direkt über das Projekt kontaktieren möchte, usw.)
Das System druckt auf dem aktuellen Standarddrucker. Die Skripte dplx und duplex akzeptieren jedoch zusätzliche Argumente, die an lp übergeben werden und zum Festlegen von Optionen verwendet werden können, die lp versteht, z. B. Drucker und andere Eigenschaften.
Das System verarbeitet derzeit PDF-, PostScript- und Nur-Text-Dateien.
Das einzige, was nicht möglich ist , ist das Drucken von Dateien, die mit der Option "In Datei drucken" in Acroread erstellt wurden. Diese Dateien funktionieren mit lp einfach nicht, und ich war noch nie in der Lage, die Aufmerksamkeit eines der vorgelagerten Leute auf sich zu ziehen, um herauszufinden, wo die Probleme liegen.
Persönlich drucke ich fast alles "offline" (unter Verwendung der Print to File-Optionen, die die meisten Anwendungen unterstützen), auch wenn meine Drucker verfügbar sind. Es hilft mir, mich auf das zu konzentrieren, was ich tue. Wenn ich später einen geeigneten Haltepunkt erreiche, drucke ich Auftragsstapel.
Eine Druckwarteschlange ist auch sehr hilfreich, wenn Sie eine weitere Kopie von etwas drucken möchten, ohne es neu generieren zu müssen. Dies ist wichtig, um Druckerfehler wie Papierstaus oder Tonermangel zu beheben.
quelle
Es scheint keine vollständige Lösung für dieses Problem zu geben, aber hier ist eine Funktion, die ich zu meiner hinzugefügt habe und
.bashrc
die Rmanos Antwort oben ähnelt , mit dem zusätzlichen Komfort der automatischen Vervollständigung.quelle