Jak wysłać do wydrukowania (wielu) wybranych plików w katalogu zamiast jeden po drugim?
10
Używam Ubuntu 12.04 i pomyślnie zainstalowałem moją drukarkę Wi-Fi, ale moje pytanie brzmi: jak wydrukować wiele plików jednocześnie? Mam na myśli wiele plików PDF lub tekstowych w folderze i chcę wysłać je bezpośrednio do drukarki zamiast otwierać jeden po drugim w przeglądarce plików, a następnie wydrukować, a następnie powtórzyć cały proces tyle razy /:
Nawet nie widzę opcji Drukuj po kliknięciu pliku prawym przyciskiem myszy lub w menu Plik.
Kliknij prawym przyciskiem myszy dowolny plik pdf, w „Otwórz za pomocą ...” wyświetl rozszerzoną listę dostępnych aplikacji na pliki pdf. Znajdź pozycję „Drukuj bezpośrednio” i dodaj powiązanie. Od teraz możesz kliknąć prawym przyciskiem myszy dowolny plik pdf (lub grupy) i wydrukować je za pomocą polecenia lp na domyślnej drukarce . Jeśli chcesz eksperymentować, zainstaluj drukarkę CUPS-PDF i ustaw ją jako domyślną w ustawieniach Drukarki.
sudo apt-get install cups-pdf
Plik testowy zostanie „wydrukowany” w folderze ~ / PDF.
Zrobiłem skrypt, który wysyła żądane pliki na drukarkę domyślną: Być może trzeba go zmodyfikować, aby zaznaczyć folder, że pliki są i uruchomić go raz .pdf, a następnie za .txt: find /home/mike/KeyGuides/ -type f -iname '*.txt' -print0 | while IFS= read -r -d '' f; do lpr "$f"; done. Działa tak, jak go właśnie przetestowałem; upewnij się tylko, że żądana drukarka jest skonfigurowana jako domyślna.
Jeśli masz jakieś problemy, zobaczę, czy mogę to zmodyfikować w razie potrzeby. (Możesz użyć innych opcji dla lpr, jeśli potrzebujesz - zobacz man lpr) Powinno działać dla większości drukarek - działa z moim Canon IP4700.
Ta wersja skryptu porusza również każdy wydrukowany dokument do katalogu (które muszą zostały utworzone wcześniej), tak, że gdy skrypt jest uruchamiany tylko nowe dokumenty drukowane są:
find /home/mike/Duck/ -type f -iname '*.txt' -print0 | while IFS= read -r -d '' f;
do lpr "$f" && mv "$f" /home/mike/Duck/printed/ ; done
Cześć: dziękuję za radę, ale co, jeśli chcę wydrukować wiele plików, ale nie wszystkie pliki w tym katalogu? To właśnie chciałbym zrobić, ponieważ kiedy zapisuję nowe pliki w tym katalogu, drukuję tylko nowe pliki. Mam nadzieję, że dobrze to wytłumaczyłem :)
Oscar
To naprawdę inne pytanie niż pierwotnie zadane, ale zobaczę, czy mogę coś zrobić ze skryptem - może być trudne wydrukowanie tych, które nie zostały jeszcze wydrukowane; chociaż możemy po prostu dodać polecenie, aby przenieść każdy dokument do określonego folderu po wydrukowaniu. Powinno być możliwe wstawienie tego do pętli while.
Pamiętaj, że lpr działa tylko na zwykłym tekście. Będziesz musiał użyć innego narzędzia, które wysyła zadanie drukowania do CUPS, jeśli dotyczy to na przykład plików PDF.
Cumulus007
Cześć, nie tak różne pytanie, dlatego w nazwie pytania umieściłem „wielu” i „wybranych”, aby mogły to być wszystkie z nich lub niektóre z nich: D OK, mam nadzieję, że znajdziesz rozwiązanie, aby to osiągnąć. Wielkie dzięki!
Oscar
1
lpr działa z plikami pdf - polecenie lpr bash_FAQ.pdf drukuje go idealnie.
2
Rozwiązanie tego problemu jest bardzo proste. Przejdź do żądanego folderu i w terminalu wykonaj:
Cześć, dodałem akcję i polecenie w Nautilus, jak wskazano, menu pojawia się po kliknięciu pliku prawym przyciskiem myszy, ale nic się nie dzieje /: Metoda terminalu zadziałała, ale podczas drukowania plików pdf, wydrukowana strona ma inne czcionki, a nie te, które ty patrz podczas otwierania daszkiem.
Oscar
Przepraszam, ale to nie moja wiedza. Gryzłem w niektórych witrynach, aby pobrać informacje, które właśnie opublikowałem. Powinieneś sprawdzić, w sprawie Nautilusa, dokumentację lp. Może to nie jest celowanie w drukarkę.
David M. Sousa,
0
Najnowsze wersje CUPS dodały możliwość bezpośredniego drukowania plików pdf. 11.10 i nowsze (i prawdopodobnie starsze) wersje mają to.
Innym podejściem (którego używam z moim pakietem emulatora drukowania dwustronnego) jest użycie polecenia Drukuj do pliku dla wszystkich zadań drukowania i umieszczenie ich w folderze, który skutecznie staje się osobistą kolejką drukowania. Gdy już tam będą, możesz wydrukować niektóre lub wszystkie z nich, kiedy chcesz, i usunąć je, gdy będą gotowe.
Ma to tę dodatkową zaletę, że umożliwia ponowne uruchamianie zadań po zacięciu papieru itp. Bez odtwarzania ich od zera. Umożliwia także kontynuowanie pracy bez przerywania zarządzania drukarką.
Jeśli chcesz, możesz napisać mały skrypt, który działałby w tle i zaczął drukować rzeczy pojawiające się w kolejce wydruku. Jeśli to zrobisz, możesz nazwać swoje zadania drukowania, aby sortowały się w kolejce w kolejności, w jakiej chcesz je wydrukować. Po prostu używam 00 ... 99 dla nazw.
W przypadku plików tekstowych zwróć uwagę na te, które mogą mieć długie linie. CUPS (przynajmniej domyślnie) nie zawinie dla ciebie linii ani nie ustawi ładnych marginesów strony.
Mój system drukowania dwustronnego robi o wiele więcej, niż chcesz, ale może dać ci kilka pomysłów. W szczególności ma dwa małe skrypty pomocnicze dprint i dprintm, które pobierają tekst i oswajają go przed wysłaniem do drukarki.
Otwórz FileManager-Actions i utwórz nową akcję jak wyżej:
Action Tab
Nautilus Item
Display item in selection context menu (tick)
Display item in location context menu (tick)
Context Label : Print
Display item in the toolbar (tick)
Use same label for icon in the toolbar (tick)
Command Tab
Profile
Label: Default profile
Command
Path: lp
Parameters: %f
Working directory: %d
Zmodyfikuj informacje o innych kartach, tak aby zachowywał się nautilus.
Rozwiązanie tego problemu jest bardzo proste. Przejdź do żądanego folderu i w terminalu wykonaj:
Pochodzi z https://ubuntuforums.org/showthread.php?t=921960
źródło
To nie jest bezpośrednie rozwiązanie dla systemu operacyjnego Ubuntu Linux:
Również bardziej złożone rozwiązanie:
Zainstaluj
nautilus-actions
pakietUruchom menu
Nautilus Actions Settings
zSystem
>Preferences
i dodaj akcję:Karta Działania
Przedmiot Nautilus
Etykieta kontekstowa: Drukuj
Wyświetl pozycję w menu kontekstowym wyboru
Wyświetl element w menu kontekstowym lokalizacji (niepotrzebne)
Właściwości akcji: włączone
Karta poleceń
Etykieta profilu:
Domyślne polecenie:
Ścieżka: lp
Parametry:% M (kliknij przycisk legendy, aby zobaczyć dodatkowe informacje)
Zmodyfikuj informacje o innych kartach, tak aby zachowywał się nautilus.
Zapisz akcję, uruchom ponownie nautilus.
Twoje menu kontekstowe pokaże „Drukuj” ...
Źródło: UbuntuForums
Za pomocą prostej metody:
Otwórz terminal, wpisz
lpr
i umieść przed nim spację. Następnie przeciągnij i upuść pliki, które chcesz wydrukować na terminalu.źródło
Najnowsze wersje CUPS dodały możliwość bezpośredniego drukowania plików pdf. 11.10 i nowsze (i prawdopodobnie starsze) wersje mają to.
Innym podejściem (którego używam z moim pakietem emulatora drukowania dwustronnego) jest użycie polecenia Drukuj do pliku dla wszystkich zadań drukowania i umieszczenie ich w folderze, który skutecznie staje się osobistą kolejką drukowania. Gdy już tam będą, możesz wydrukować niektóre lub wszystkie z nich, kiedy chcesz, i usunąć je, gdy będą gotowe.
Ma to tę dodatkową zaletę, że umożliwia ponowne uruchamianie zadań po zacięciu papieru itp. Bez odtwarzania ich od zera. Umożliwia także kontynuowanie pracy bez przerywania zarządzania drukarką.
Jeśli chcesz, możesz napisać mały skrypt, który działałby w tle i zaczął drukować rzeczy pojawiające się w kolejce wydruku. Jeśli to zrobisz, możesz nazwać swoje zadania drukowania, aby sortowały się w kolejce w kolejności, w jakiej chcesz je wydrukować. Po prostu używam 00 ... 99 dla nazw.
W przypadku plików tekstowych zwróć uwagę na te, które mogą mieć długie linie. CUPS (przynajmniej domyślnie) nie zawinie dla ciebie linii ani nie ustawi ładnych marginesów strony.
Mój system drukowania dwustronnego robi o wiele więcej, niż chcesz, ale może dać ci kilka pomysłów. W szczególności ma dwa małe skrypty pomocnicze dprint i dprintm, które pobierają tekst i oswajają go przed wysłaniem do drukarki.
źródło
Wiem, że to jest stare - ale sposób, aby to zrobić, jest teraz zmieniony, gdy odkryłem dzisiaj:
będziesz musiał zainstalować filemanager-akcje - było już w moim systemie
Następnie weź nautilus-akcje
Otwórz FileManager-Actions i utwórz nową akcję jak wyżej:
Zmodyfikuj informacje o innych kartach, tak aby zachowywał się nautilus.
Zapisz akcję, uruchom ponownie nautilus.
Twoje menu kontekstowe pokaże „Drukuj” ...
pomogło mi kilka linków: LibreOffice Drukuj Kliknij prawym przyciskiem myszy Drukuj
źródło
Lub użyj Ruby :-)
źródło