Czasami, gdy pracuję na laptopie, chcę ustawić w kolejce kilka dokumentów do wydrukowania później, ponieważ nie jestem wtedy podłączony do drukarki.
Jednak rzeczywiste kolejki drukarek nie są do tego przeznaczone; natychmiast próbują wydrukować dokument i wszyscy nagle zaczynają drukować, jak tylko wejdę do sieci, co na ogół nie jest tym, co chcę zrobić. Co więcej, czasami chcę zmienić kolejność dokumentów w kolejce, co nie jest bardzo łatwe, szczególnie po rozpoczęciu drukowania niektórych z nich.
Ponadto czasami drukowanie kończy się niepowodzeniem, ponieważ np. W drukarce zabrakło papieru lub tonera i chcę ponownie wydrukować dokument na innej drukarce. Nie jest to proste w przypadku np. CUPS
Lub system-config-printer
; Zazwyczaj muszę wrócić, ponownie otworzyć czytnik PDF i zacząć od nowa. Żaden z czytników PDF, które znam, nie pozwala przechowywać listy dokumentów do wydrukowania później, ale może to być ukryta funkcja czytnika PDF w miejscu, o którym nie wiem.
W każdym razie oto, co chcę być w stanie zrobić:
- Podaj listę plików PDF, które chcę wydrukować.
- Zachowaj tę listę na dysku, aby móc zamknąć aplikację lub uruchomić ponownie bez utraty całej listy.
- Określ drukarki, do której chcę je wysłać z wyprzedzeniem, bez faktycznego połączenia z tymi drukarkami w tym czasie.
- Określ opcje drukowania, takie jak kolor, dupleks i liczba kopii.
- Zmień te przypisania drukarki i opcje drukowania później.
- Poczekaj, aż naciśniesz przycisk lub uruchomię polecenie, aby faktycznie wydrukować dokument (y).
- Zachowaj osobną listę dokumentów, które zostały już wydrukowane, na wypadek, gdyby drukowanie nie działało lub chcę je wydrukować później.
Wiem, że mogę zhakować coś razem ze skryptem powłoki lpr
i listą ścieżek w pliku tekstowym, ale nie mogę nie poczuć, że problem ten został już rozwiązany w bardziej solidny i elegancki sposób.
Punkty bonusowe:
- Nie wymagaj, aby dokumenty były otwarte w czytniku plików PDF. Chcę je wydrukować, a nie przeglądać, i nie ma powodu, dla którego muszą być tą samą aplikacją.
- Więcej niż jedna lista.
- Działa również dla Postscript, DjVu i innych formatów opisu strony.
- Przeciągnij i upuść z menedżerów plików.
Jakieś sugestie?
źródło
cups
. Po prostu drukujesz w wybranej kolejce drukarki, ale wstrzymujesz zadania drukarki, dopóki nie zdecydujesz się ich „zwolnić”. Wystarczy przycisk „wstrzymany”. Czy coś mi umknęło?system-config-printer-applet
pozwala mi wstrzymywać i zwalniać zadania drukowania, a także przenosić je do innych drukarek, ale nie mogę zmienić kolejności zadań drukowania ani zmienić opcji drukowania po przesłaniu zadania. Do tego momentu ścieżka do oryginalnego dokumentu już dawno minęła.Odpowiedzi:
To, co robię, jest następujące - nie jest tak wszechstronne, jak prosiłeś, ale działa prawie w porządku. Musisz zdefiniować wszystkie drukarki, a następnie potrzebujesz tych dwóch skryptów:
stop_printers
:start_printers
:Musisz umieścić je na swojej ścieżce (na przykład
~/bin
) i umożliwić ich wykonaniechmod +x
. PRZESTROGA : Nie mam żadnej drukarki ze spacjami w nazwach. Skrypty nie są w tym przypadku testowane (ale jestem pewien, że jeden z guru naszego skryptu naprawi je błyskawicznie; -) ...)Teraz możesz wydać:
Możesz drukować z dowolnego miejsca, drukarka zostanie wstrzymana:
Możesz zobaczyć swoją kolejkę:
(AFAIK, kolejki wydruku są trwałe po ponownym uruchomieniu). A kiedy chcesz wydrukować:
Za pomocą
lprm
możesz usunąć pracę, jeśli potrzebujesz;lpr
do kolejkowania dokumentu za pomocą wiersza poleceń, a jeśli chcesz mieć różne „listy”, nikt nie zabrania definiowania tej samej drukarki kilka razy pod różnymi nazwami.Możesz także wznowić każdą drukarkę ręcznie, to tylko kwestia uruchomienia
cupsenable <printername>
z monitu.To, co nie sądzę, że możesz zrobić z tym rozwiązaniem, to zmiana opcji drukowania po fakcie --- będziesz musiał usunąć kolejkę z kolejki i ponownie zakolejkować dokument w tym celu.
źródło
cut
części:cat /etc/printcap | cut -d "|" -f 1 | grep -v "#"
. Oszczędź sobie trochę czasu cyklu, pozbywając się tłumaczeniatr
. Działa to pod warunkiem, że potrzebujesz tylko pierwszego pola.Mój pakiet (bezwstydna wtyczka), duplexpr robi to, co chcesz i zawiera funkcje bash, które mogą być przydatne w tworzeniu własnej wersji. (Jest zakodowany w bashu, więc jego modyfikacja powinna być stosunkowo łatwa i pomogę, jeśli będę mógł).
Został zaprojektowany do emulacji drukowania dwustronnego na drukarkach innych niż dupleks i implementuje własne proste zarządzanie kolejką wydruku. Ma zarówno interfejs GUI, jak i CLI.
Obecna wersja drukuje tylko w trybie dupleks i działa tylko z drukarkami bez dupleksu, ale działa nowa wersja, która będzie obsługiwać drukarki ze sprzętem do drukowania dwustronnego, co w zasadzie jest tylko zarządzaniem drukarką i kolejką bez oprogramowania do emulacji dupleksu. (Mam dostępną wersję alfa skryptu, który już działa, jeśli ktoś chce się ze mną skontaktować bezpośrednio przez projekt itp.)
System drukuje na bieżącej domyślnej drukarce, ale skrypty dplx i duplex akceptują dodatkowe argumenty przekazywane do lp i mogą być używane do ustawiania dowolnych opcji, które lp rozumie, takich jak drukarka i inne właściwości.
System obsługuje obecnie pliki PDF, PostScript i zwykły tekst.
Jedyne, czego nie zrobi, to wydrukuj pliki utworzone za pomocą opcji Drukuj do pliku z poziomu Acroread. Te pliki po prostu nie działają z lp i nigdy nie byłem w stanie zwrócić uwagi któregokolwiek z wcześniejszych użytkowników, aby dowiedzieć się, jakie są problemy.
Osobiście drukuję prawie wszystko „offline” (korzystając z opcji Drukuj do pliku, które obsługują większość aplikacji), nawet jeśli moje drukarki są dostępne. Pomaga mi skoncentrować się na tym, co robię. Później, kiedy osiągnę odpowiedni punkt przerwania, drukuję partie zadań.
Posiadanie kolejki wydruku jest również bardzo miłe, gdy chcesz wydrukować kolejną kopię czegoś bez konieczności jej ponownego generowania i jest to niezbędne w przypadku błędów drukarki, takich jak zacięcia lub brak toneru.
źródło
Wydaje się, że nie ma kompletnego rozwiązania tego problemu, ale oto dodana do mnie funkcja
.bashrc
podobna do powyższej odpowiedzi Rmano , z dodatkową wygodą autouzupełniania.źródło