Как отправить zip-файл, содержащий набор PDF непосредственно к принтеру?

Я регулярно получаю набор PDF как единственный zip-файл. Я хотел бы отправить их непосредственно на принтер.

Я нашел хороший сценарий, который позволяет использовать контекстное меню щелчка правой кнопкой для отправки PDF непосредственно в принтер.

Распечатать файл PDF непосредственно, не открывая его?

Теперь я хотел бы изменить сценарий так, чтобы он разархивировал файл и затем отправил PDF на принтер. Как я могу выполнить это?

0
задан 8 February 2019 в 02:53

3 ответа

Теперь получил его работа. Нужно использовать "NAUTILUS_SCRIPT_SELECTED_URIS", поскольку существует несколько файлов.

#!/bin/bash 

current_nautilus_path=$(echo "$NAUTILUS_SCRIPT_SELECTED_URIS" | sed -e 's/%/\\x/g' -e 's_^file://__' | xargs -0 printf "%b") #get the URI variable from nautilus
mkdir -p /tmp/unzip_files "$current_nautilus_path" -d /tmp/unzip_files #unzip selected files to tmp directory 
lpr -r /tmp/unzip_files/*.pdf #print and remove file
0
ответ дан 26 October 2019 в 08:05

Если Вы хотите простое "один лайнер", можно использовать -p опция unzip

- p извлекают файлы для передачи по каналу (stdout).
Только данные файла отправляются в stdout, и файлы всегда
извлеченный в двоичном формате, так же, как они хранятся (никакие преобразования).

Таким образом, это - вопрос передачи по каналу вывода к lpr:

unzip -p archive_with_lots_of_pdfs.zip | lpr

и можно легко адаптировать сценарий, который Вы связали для использования этой команды.

Обратите внимание что -c опция подобна

- c извлекают файлы к stdout/screen (''CRT'').

Но это печатает имя файла перед фактическим содержанием. Это повредит Ваш lpr команда и вероятно распечатает мусор.

5
ответ дан 26 October 2019 в 08:05

Попробуйте это:

mkdir -p files
unzip pdfs.zip -d files
lpr files/*.pdf
  1. Команда создаст каталог
  2. Разархивируйте zip к files каталог
  3. Распечатайте все файлы PDF

Редактирование, сценарий наутилуса:

#!/bin/bash
mkdir -p /tmp/unzip_files
unzip "$NAUTILUS_SCRIPT_CURRENT_URI" -d /tmp/unzip_files   #unzip selected files to tmp directory
lpr -r /tmp/unzip_files/*.pdf   #print and remove file
1
ответ дан 26 October 2019 в 08:05

Другие вопросы по тегам:

Похожие вопросы: