Открытие PDF File сценарием, печать его и закрытие его

Мой друг получил некоторые зараженные вредоносными программами файлы PDF. Он выяснил, что, если он открывает их на Ubuntu и печатает их назад в файл, она удаляет вредоносное программное обеспечение.

Кто-либо знает, существует ли способ написать сценарий открытия, печати и закрытия каталога файлов PDF?

3
задан 7 August 2019 в 09:56

1 ответ

Это сделает задание:

Во-первых:

Установите принтер PDF, выполните следующее в терминале:

sudo apt install cups-pdf

Во-вторых:

В терминале, cd в каталог, содержащий Ваши файлы PDF и выполненный следующая команда:

find . -maxdepth 1 -type f -name '*.pdf' -exec lpr -P PDF {} \;

Готово:

Печатные файлы расположены в Вашем корневом каталоге в соответствии с названным каталогом PDF.


Важное замечание:

При установке принтера PDF в первом шаге выше (по умолчанию), это называют PDF как имя, которое определяет принтер в системе, и команда на втором шаге выше должна хорошо работать без ошибок.

Однако если это не так в Вашей системе или если необходимо было удалить и добавить принтер снова, название принтера могло бы измениться, и Вы получите ошибку как lpr: No such file or directory. Для решения этого, необходимо найти новое название принтера PDF. Это - то, как сделать это:

  • Введите это в терминале и совершите нападки, войдите:

    lpstat -s

  • Вы будете видеть вывод как это:

    device for CUPS-PDF-Printer: cups-pdf:/

  • Вашим названием принтеров является теперь ПРИНТЕР PDF CUPS, и необходимо изменить команду на втором шаге соответственно, как так:

    find . -maxdepth 1 -type f -name '*.pdf' -exec lpr -P CUPS-PDF-Printer {} \;


Объяснение - согласно просьбе user3140225:

{} 

Содержит вывод find команда.

Видеть его в действии:

  • Выполненный find . -maxdepth 1 -type f -exec echo {} \; из каталога, который содержит некоторые файлы в нем.

  • Затем выполненный find . -maxdepth 1 -type f из того же каталога.

Вывод является тем же.

\

Предотвращает точку с запятой ; после него от того, чтобы быть интерпретируемым как пунктуация оболочки, которая преждевременно завершит команду.

;

Указывает на конец части аргумента для -exec который необходим, чтобы это работало правильно.

4
ответ дан 1 December 2019 в 15:48

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

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