Как отправить на печать (много) выбранных файлов в каталоге вместо одного за другим?
10
Я использую Ubuntu 12.04 и успешно установил свой Wi-Fi принтер, но у меня вопрос: как печатать много файлов одновременно? Я имею в виду, у меня есть много PDF или текстовых файлов в папке, и я хочу отправить их непосредственно на принтер вместо того, чтобы открывать их по одному в программе просмотра файлов, а затем распечатать, а затем повторить весь процесс так много раз /:
Я даже не вижу опции печати при щелчке правой кнопкой мыши на файле или в меню Файл.
Щелкните правой кнопкой мыши по любому файлу PDF, в разделе «Открыть с помощью ...» просмотрите расширенный список доступных приложений для файлов PDF. Найдите запись «Напечатать напрямую» и добавьте ассоциацию. Отныне вы можете щелкнуть правой кнопкой мыши любой файл PDF (или группы) и распечатать их с помощью команды lp на вашем принтере по умолчанию . Если вы хотите провести эксперимент, установите принтер CUPS-PDF и установите его по умолчанию в настройках принтеров.
sudo apt-get install cups-pdf
У вас будет тестовый файл, «напечатанный» в папке ~ / PDF.
Я сделал скрипт , который будет отправлять нужные файлы на принтер по умолчанию: вы , возможно , придется изменить его , чтобы выбрать , 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 отлично распечатывает.
2
Решение этого очень простое. Перейдите в нужную папку и в терминале выполните:
Привет, я добавил действие и команду в Nautilus, как указано, меню появляется при щелчке правой кнопкой мыши по файлу, но ничего не происходит /: Терминальный метод работал, но при печати PDF-файлов на полученной распечатанной странице были другие шрифты, а не те, что вы смотри при открытии с забралом.
Оскар
Извините, но это не мои собственные знания. Я грыз на некоторых сайтах, чтобы получить информацию, которую я только что опубликовал. Вы должны проверить, на деле Nautilus, документацию lp. Возможно, он не нацелен на ваш принтер.
Дэвид М. Соуза
0
В последних версиях CUPS добавлена возможность печатать PDF-файлы напрямую. 11.10 и более новые (и, возможно, более старые) версии имеют это.
Другой подход (который я использую с пакетом эмулятора двусторонней печати) - это использовать «Печать в файл» для всех заданий на печать и помещать их в папку, которая фактически становится вашей личной очередью печати. Когда они появятся, вы можете распечатать некоторые или все из них, когда захотите, и удалить их, когда они будут готовы.
Это дает дополнительное преимущество, позволяя вам повторно запускать задания после замятия бумаги и т. Д., Не создавая их заново. Это также позволяет вам продолжать работать без остановки для управления принтером.
Если вы хотите, вы можете написать небольшой скрипт, который будет работать в фоновом режиме и начать печатать вещи, которые появляются в вашей очереди печати. Если вы сделаете что-либо из этого, вы можете назвать свои задания на печать так, чтобы они сортировались в очереди в том порядке, в котором вы хотите, чтобы они печатались. Я просто использую 00 ... 99 для имен.
Для текстовых файлов обратите внимание на те, которые могут иметь длинные строки. CUPS (по крайней мере по умолчанию) не будет переносить строки для вас или устанавливать хорошие поля страницы.
Моя система двусторонней печати делает намного больше, чем вы просите, но может дать вам некоторые идеи. Примечательно, что у него есть два небольших вспомогательных скрипта dprint и dprintm, которые берут текст и приручают его перед отправкой на принтер.
Откройте 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 вел себя.
Сохраните действие, перезапустите nautilus.
Ваше контекстное меню будет отображаться "Печать" ...
Решение этого очень простое. Перейдите в нужную папку и в терминале выполните:
Это из https://ubuntuforums.org/showthread.php?t=921960
источник
Это не прямое решение для операционной системы Ubuntu Linux:
Также более сложное решение:
Установить
nautilus-actions
пакетВыполните меню
Nautilus Actions Settings
fromSystem
>Preferences
и добавьте некоторые действия:Вкладка «Действие»
Наутилус
Контекстная метка: печать
Отобразить элемент в контекстном меню выбора
Отображение элемента в контекстном меню местоположения (не требуется)
Свойства действия: включено
Командная вкладка
Метка профиля:
Команда по умолчанию:
Путь: LP
Параметры:% M (нажмите на кнопку легенды, чтобы увидеть дополнительную информацию)
Измените информацию о других вкладках так, как вы бы хотели, чтобы ваш nautilus вел себя.
Сохраните действие, перезапустите nautilus.
Ваше контекстное меню будет отображаться "Печать" ...
Источник: UbuntuForums
Используя простой метод:
Откройте терминал и введите
lpr
и поставьте перед ним пробел. Затем перетащите файлы, которые хотите распечатать, на терминал.источник
В последних версиях CUPS добавлена возможность печатать PDF-файлы напрямую. 11.10 и более новые (и, возможно, более старые) версии имеют это.
Другой подход (который я использую с пакетом эмулятора двусторонней печати) - это использовать «Печать в файл» для всех заданий на печать и помещать их в папку, которая фактически становится вашей личной очередью печати. Когда они появятся, вы можете распечатать некоторые или все из них, когда захотите, и удалить их, когда они будут готовы.
Это дает дополнительное преимущество, позволяя вам повторно запускать задания после замятия бумаги и т. Д., Не создавая их заново. Это также позволяет вам продолжать работать без остановки для управления принтером.
Если вы хотите, вы можете написать небольшой скрипт, который будет работать в фоновом режиме и начать печатать вещи, которые появляются в вашей очереди печати. Если вы сделаете что-либо из этого, вы можете назвать свои задания на печать так, чтобы они сортировались в очереди в том порядке, в котором вы хотите, чтобы они печатались. Я просто использую 00 ... 99 для имен.
Для текстовых файлов обратите внимание на те, которые могут иметь длинные строки. CUPS (по крайней мере по умолчанию) не будет переносить строки для вас или устанавливать хорошие поля страницы.
Моя система двусторонней печати делает намного больше, чем вы просите, но может дать вам некоторые идеи. Примечательно, что у него есть два небольших вспомогательных скрипта dprint и dprintm, которые берут текст и приручают его перед отправкой на принтер.
источник
Я знаю, что это старо, но способ сделать это теперь пересмотрен, как я обнаружил сегодня:
вам понадобится установить filemanager-actions - это уже было в моей системе
Далее наутилус-акции
Откройте FileManager-Actions и создайте новое действие, как указано выше:
Измените информацию о других вкладках так, как вы бы хотели, чтобы ваш nautilus вел себя.
Сохраните действие, перезапустите nautilus.
Ваше контекстное меню будет отображаться "Печать" ...
несколько ссылок помогли мне: LibreOffice Print Печать правой кнопкой мыши
источник
Или используйте Ruby :-)
источник