Jika Anda tidak berhasil menemukan solusi yang lebih baik, Anda dapat mencoba skrip ini:
#!/bin/bash
# NAME: pdfwalker
# AUTHOR: (c) 2014 Glutanimate <https://github.com/Glutanimate/>
# DESCRIPTION: Invoke one pdf file at a time
# DEPENDENCIES: mupdf
# LICENSE: GNU GPLv3 (http://www.gnu.de/documents/gpl-3.0.en.html)
############# Functions ###############
gui_notify(){
notify-send -i application-pdf "PDF Walker" "$1"
echo "$1"
}
arg_compose_filearray(){
# recursively add pdf files and folders in given arguments to array
unset Files
FileCountCurrent="1"
while IFS= read -r -d $'\0' File; do
if [[ ! "$(file -ib "$File")" == *application/pdf* ]]
then
echo "Error: '$File' is not a pdf file. Ignoring."
continue
fi
Files[FileCountCurrent++]="$File"
done < <(find "$@" -type f -name '*.pdf' -print0 | sort -z --version-sort)
FileCountTotal="${#Files[@]}"
}
arg_check(){
if [[ "$FileCountTotal" = "0" ]]; then
gui_notify "ERROR: No PDF files found."
echo "Exiting..."
exit 1
fi
}
############## Checks #################
arg_compose_filearray "$@"
arg_check
################ Main #################
FileCountCurrent="1"
for File in "${Files[@]}"; do
echo "Opening file $FileCountCurrent of $FileCountTotal:"
echo "$File"
mupdf "$File" > /dev/null 2>&1
((FileCountCurrent++))
done
echo "Done."
Instalasi
Salin dan rekatkan isi kotak kode di atas ke dalam file teks kosong yang baru, simpan, dan tandai skrip tersebut dapat dieksekusi melalui menu Properties di manajer file Anda.
Pastikan untuk menginstal semua dependensi:
sudo apt-get install mupdf
Pemakaian
pdfwalker <pdf files or directories>
Contohnya:
pdfwalker "~/Downloads/PDF" "~/Documents/Scans"
Script akan secara rekursif menemukan semua file PDF di direktori yang dipilih dan membukanya satu per satu dengan mupdf. Untuk beralih ke file berikutnya sejalan, cukup tutup mupdfjendela saat ini ( Q). Jika Anda ingin keluar sepenuhnya dari skrip, Anda dapat menghentikannya dari terminal melalui CTRL+ C.