Як надіслати для друку (багато) вибраних файлів у каталозі замість одного за одним?


10

Я використовую Ubuntu 12.04 і успішно встановив свій wi-fi принтер, але моє запитання: як друкувати багато файлів одночасно? Я маю на увазі, у мене в папці багато PDF або текстових файлів, і я хочу відправити їх безпосередньо на принтер, а не відкривати один за одним у переглядачі файлів, а потім надрукувати та потім повторити весь процес стільки разів /:

Я навіть не бачу опції друку при натисканні правою кнопкою миші на файл або в меню Файл.

Дякую!

Відповіді:


4

Створіть файл: ~ / .local / share / applications / print.desktop Введіть:

[Desktop Entry]
Encoding=UTF-8
Name=Print Directly
Comment=Print file directly with default printer.
Exec=lp %f
Type=Application
Icon=/usr/share/pixmaps/gnome-applets.png
MimeType=text/plain;text/pdf;application/pdf;application/x-pdf

Клацніть правою кнопкою миші на будь-якому pdf-файлі, у розділі "Відкрити з ..." перегляньте розширений список доступних програм для pdf-файлів. Знайдіть запис "Прямо надрукувати" та додайте асоціацію. Відтепер ви можете клацнути правою кнопкою миші будь-який файл PDF (або групи) та надрукувати їх за допомогою команди lp на принтері за замовчуванням . Якщо ви хочете здійснити експерименти, встановіть принтер CUPS-PDF і встановіть його за замовчуванням у налаштуваннях принтерів.

sudo apt-get install cups-pdf

У вас буде тестовий файл, "надрукований" у папку ~ / PDF.


4

Я зробив скрипт , який буде відправляти потрібні файли на принтер за замовчуванням: ви , можливо , доведеться змінити його , щоб вибрати , folderщо ваші файли і запустити його один раз , .pdfа потім для .txt:
find /home/mike/KeyGuides/ -type f -iname '*.txt' -print0 | while IFS= read -r -d '' f; do lpr "$f"; done. Це працює так, як я щойно перевірив це; просто переконайтеся, що потрібний принтер встановлений за замовчуванням.

Якщо у вас виникнуть якісь проблеми, я побачу, чи зможу я змінити це за необхідності. (Ви можете використовувати інші параметри для lpr, якщо вам потрібно - див. man lpr) Це має працювати для більшості принтерів - це успішно з моїм Canon IP4700.

Ця версія сценарію також переміщує кожен надрукований документ у каталог (який ви, мабуть , створили раніше), так що при запуску сценарію друкуються лише нові документи:

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

Привіт: дякую за вашу пораду, але що робити, якщо я хочу надрукувати багато файлів, але не всі файли в цьому режимі? Це те, що я хотів би зробити, тому що, коли я зберігаю нові файли в цьому режимі, я друкую лише нові файли. Сподіваюся, я це добре пояснив :)
Оскар

Це справді інше запитання до оригінального запитуваного, але я побачу, чи можу я щось зробити зі сценарієм - може бути складним просто надрукувати ті, які ще не надруковані; хоча ми можемо зробити це просто додати команду для переміщення кожного документа у вказану папку після його друку. Слід вставити це в цикл while.

Зверніть увагу, що lpr працює лише у простому тексті. Вам доведеться використовувати інший інструмент, який надсилає завдання друку на CUPS, якщо мова йде, наприклад, про PDF-файли.
Cumulus007

Привіт, не настільки інше питання, тому я поклав "багато" та "вибраних" у назві питання, так що це можуть бути всі вони чи деякі з них: D Гаразд, сподіваюся, ви знайдете рішення для його досягнення. Дуже дякую!
Оскар

1
lpr працює з pdfs - команда lpr bash_FAQ.pdf виводить її ідеально.


0

Це не пряме рішення для операційної системи Ubuntu Linux:

  • Спробуйте скористатися сервісом Google : Google - Cloud Print . Не впевнений, чи є однокроковий багатозадачний варіант

Також більш складне рішення:

Встановити nautilus-actionsпакет

Виконайте меню Nautilus Actions Settingsз System> Preferencesта додайте деякі дії:

Вкладка "Дія"

Пункт Наутілус

Контекстна мітка: друк

Показувати елемент у контекстному меню вибору

Показувати елемент у контекстному меню місцеположення (не потрібно)

Властивості дії: увімкнено

Вкладка команд

Мітка профілю:

Команда за замовчуванням:

Шлях: л.п.

Параметри:% M (натисніть кнопку легенди, щоб побачити додаткову інформацію)

Відредагуйте інформацію про інші вкладки так, як ви хочете, щоб ваш наутилус поводився.

Збережіть дію, перезапустіть nautilus.

У вашому контекстному меню відобразиться "Друк" ...

Джерело: UbuntuForums

Використовуючи простий метод:

Відкрийте термінал і наберіть lprі поставте пробіл перед ним. Потім перетягніть файли, які потрібно надрукувати на терміналі.


Привіт, я додав дії та команди в Nautilus, як зазначено, меню з’являється при натисканні правою кнопкою миші на файл, але нічого не відбувається /: Термінальний метод спрацював, але при друку pdf-файлів друкована сторінка, що виходить, має інші шрифти, а не ті, які ви дивіться при відкриванні козирком.
Оскар

Вибачте, але це не моє власне знання. Я гриз на деяких сайтах, щоб захопити інформацію, яку я щойно опублікував. Слід перевірити, у випадку з Nautilus, документацію lp. Можливо, він не орієнтований на ваш принтер.
Девід М. Соуза

0

Останні версії CUPS додали можливість друкувати pdfs безпосередньо. 11.10 і новіші (і, можливо, більш старі) версії мають це.

Інший підхід (який я використовую в своєму двосторонній (двосторонній) пакеті емулятора друку) - це використовувати Print To File для всіх завдань друку і помістити їх у папку, яка фактично стає вашою особистою чергою друку. Як тільки вони там є, ви можете надрукувати деякі або всі з них, коли хочете, і видалити їх, коли вони готові.

Це має додаткову перевагу, що дозволяє повторно виконувати завдання після застрягання паперу тощо, не відтворюючи їх з нуля. Це також дозволяє продовжувати працювати, не припиняючи керувати принтером.

Якщо ви хочете, ви можете написати невеликий сценарій, який буде працювати у фоновому режимі, і почати друкувати речі, які з’являються у вашій черзі друку. Якщо ви робите що-небудь із цього, ви можете назвати завдання друку, щоб вони сортувались у черзі в тому порядку, в якому ви хочете надрукувати. Я просто використовую 00 ... 99 для імен.

Для текстових файлів слідкуйте за тими, які можуть мати довгі рядки. CUPS (принаймні за замовчуванням) не зможе перетворити рядки для вас і не встановить приємні поля сторінок.

Моя система двостороннього друку робить набагато більше, ніж ви просите, але може дати вам кілька ідей. Зокрема, у нього є два невеликих допоміжні сценарії dprint та dprintm, які беруть текст і трохи приручають його, перш ніж надсилати його на принтер.

http://sourceforge.net/projects/duplexpr/

0

Я знаю, що це давнє - але спосіб зробити це зараз переглядається, як я виявив сьогодні:

вам знадобляться встановлені filemanager-дії - це вже було в моїй системі

sudo apt-get install filemanager-actions

Далі отримуйте nautilus-дії

sudo add-apt-repository ppa:dr3mro/nautilus-actions-extra
sudo apt-get update
sudo apt-get install nautilus-actions

Відкрийте FileManager-Actions і створіть нову дію, як зазначено вище:

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

Відредагуйте інформацію про інші вкладки так, як ви хочете, щоб ваш наутилус поводився.

Збережіть дію, перезапустіть nautilus.

У вашому контекстному меню відобразиться "Друк" ...

кілька посилань допомогли мені: LibreOffice Друк Клацніть правою кнопкою миші Друк


-1

Або скористайтеся Ruby :-)

sudo apt-get install ruby
irb
Dir.glob('*.*').each{ |f| `lp '#{ f }'` }
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.