У меня есть некоторые файлы PDF в каталоге. в команде, как я могу открыть и сделать снимок экрана и закрыть файл PDF, один за другим (на самом деле сценариями удара)?
Я думаю, что существует некоторая команда, чтобы открыть и закрыть файлы как pdfs, но я не знаю.
Это - Простой вопрос программирования (SMOP), но так как Вы хотите иметь две вещи, происходящие сразу (дисплей .pdf
, сделайте снимок экрана), это не острота.
Читать man bash;man kill;man xpdf;man gnome-screenshot;man basename
и, снова, man bash
.
Затем запишите простое bash
сценарий, чтобы сделать то, что Вы хотите, что-то вроде этого ./tryit
:
#!/bin/bash
if [[ "$1" = "-d" ]] ; then
shift
set -x
fi
screenshotdir="/tmp/my_screenshots"
[[ -d "$screenshotdir" ]] || mkdir "$screenshotdir"
while [[ "$#" != 0 ]] ; do
# thisone is the one we're processing this time
thisone="$1"
# look at a different one next time
shift
outfile="$( basename -s .pdf "$thisone").png"
# display the file, in the background
xpdf "$thisone" &
# remember the PID
pidofxpdf=$!
# give xpdf time to start
sleep 3
# take the screenshot
gnome-screenshot --file="$screenshotdir/${outfile}"
# kill the xpdf
kill -9 $pidofxpdf
done
exit 0
Затем сделайте это исполняемым файлом
chmod +x ./tryit
Наконец, генерируйте список имен файлов и подайте его к tryit
:
find directory -maxdepth 1 -name '*.pdf' -print0 | xargs -0 -r ./tryit -d
В Вашем случае я шел бы вперед и непосредственно преобразовал бы PDFs в изображения.
Установка convert
:
apt-get install imagemagick
Сделайте преобразование для каждого PDF в текущем каталоге:
ls *.pdf | xargs -n1 -I{} convert -density 300 {} {}.jpg