Si no logras encontrar una solución mejor, puedes probar este script:
#!/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."
Instalación
Copie y pegue el contenido del cuadro de código anterior en un nuevo archivo de texto vacío, guárdelo y marque el script como ejecutable a través del menú Propiedades de su administrador de archivos.
Asegúrese de instalar todas las dependencias:
sudo apt-get install mupdf
Uso
pdfwalker <pdf files or directories>
Por ejemplo:
pdfwalker "~/Downloads/PDF" "~/Documents/Scans"
El script buscará recursivamente todos los archivos PDF en los directorios seleccionados y los abrirá uno tras otro con mupdf
. Para cambiar al siguiente archivo en línea, simplemente cierre la mupdf
ventana actual ( Q). Si desea salir completamente del script, puede terminarlo desde el terminal a través de CTRL+ C.