Как отправить на печать (много) выбранных файлов в каталог вместо одного за другим?

10

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

Я даже не вижу опции «Печать» при щелчке правой кнопкой мыши по файлу или в меню «Файл».

Спасибо!

    
задан Oscar 16.07.2012 в 17:34
источник

5 ответов

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
    
ответ дан user76204 16.07.2012 в 18:23
2

Создайте файл: ~ / .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.

    
ответ дан mythsmith 18.07.2012 в 22:20
0

Это не является прямым решением для операционной системы Ubuntu Linux:

  • Попробуйте воспользоваться сервисом Google: Google - облачный принтер . Не уверен, есть ли опция одношагового многозадачности, хотя

Кроме того, более сложное решение:

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

Выполните Nautilus Actions Settings из System > Preferences и добавьте некоторые действия:

Вкладка действий

Nautilus Item

Контекстная метка: Печать

Элемент отображения в контекстном меню выбора

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

Свойства действия: включено

Вкладка «Команда»

Профиль Метка:

По умолчанию Команда:

Путь: lp

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

Измените другие вкладки, как вы хотели бы, чтобы ваш наутилус вел себя.

Сохраните действие, перезапустите nautilus.

В вашем контекстном меню появится «Печать» ...

Источник: UbuntuForums

Используя простой метод:

Откройте терминал и введите lpr и поставьте перед ним пробел. Затем перетащите файлы, которые вы хотите распечатать на терминале.

    
ответ дан David M. Sousa 16.07.2012 в 18:07
0

Последние версии CUPS добавили возможность напрямую печатать PDF-файлы. 11.10 и более новые (и, возможно, более старые) версии.

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

Это имеет дополнительное преимущество, позволяя вам повторно запускать задания после замятия бумаги и т. д., не воссоздавая их с нуля. Он также позволяет вам работать без остановки для управления вашим принтером.

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

Для текстовых файлов обратите внимание на те, у которых могут быть длинные строки. CUPS (по крайней мере по умолчанию) не будет обертывать линии для вас или устанавливать хорошие поля страницы.

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

http://sourceforge.net/projects/duplexpr/
    
ответ дан Joe 18.07.2012 в 21:37
-1

Или используйте Ruby: -)

sudo apt-get install ruby
irb
Dir.glob('*.*').each{ |f| 'lp '#{ f }'' }
    
ответ дан msa7 26.06.2015 в 07:48