Existe uma maneira de procurar rapidamente vários PDFs em um diretório?

7

Eu geralmente gero diretórios cheios de PDFs. Quero folhear rapidamente como se fossem fotos.

O Nautilus irá criar miniaturas dos PDFs que eu posso ampliar usando ctrl = mas eles nunca ficam grandes o suficiente para ver os detalhes que eu quero.

Existe uma maneira melhor?

    
por krumpelstiltskin 21.12.2014 / 11:20

4 respostas

4

Eu recomendo gnome-sushi , ele está nos repositórios padrão e funciona como você descreve. Depois de instalá-lo, basta selecionar o PDF no Nautilus e tocar na barra de espaço. O Gnome-sushi exibirá o PDF em uma janela pop-up com zoom de 100%, que você pode percorrer se quiser.

A melhor coisa é que ele também funciona em muitos outros tipos de arquivos, então você pode começar a tocar uma música, pré-visualizar uma imagem, etc, com um toque na barra de espaço. Altamente recomendado para o seu utilitário e um daqueles programas que eu instalo imediatamente em qualquer nova máquina.

    
por Tom Brossman 21.12.2014 / 14:15
3

Se você não conseguir encontrar uma solução melhor, experimente 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 $'
sudo apt-get install mupdf
' 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."

Instalação

Copie e cole o conteúdo da caixa de código acima em um novo arquivo de texto vazio, salve-o e marque-o como executável através do menu Propriedades do gerenciador de arquivos.

Certifique-se de instalar todas as dependências:

pdfwalker <pdf files or directories>

Uso

pdfwalker "~/Downloads/PDF" "~/Documents/Scans"

Por exemplo:

#!/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 $'
sudo apt-get install mupdf
' 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."

O script localizará recursivamente todos os arquivos PDF nos diretórios selecionados e os abrirá um após o outro com mupdf . Para mudar para o próximo arquivo em linha, simplesmente feche a janela atual mupdf ( Q ). Se você quiser sair do script completamente, pode terminá-lo do terminal através de CTRL + C .

    
por Glutanimate 21.12.2014 / 17:45
2

Eu gosto da resposta do @Glutanimate, pois ele usa um visualizador de PDF real. Eu tenho uma alternativa que permite visualizar qualquer lista de arquivos (incluindo pdf) como uma apresentação, em tela cheia, se necessário:

impressionante

  • Instale-o

    sudo apt-get install impressive

  • Em seguida, a partir de um terminal no diretório que contém seus PDFs:

    impressive -T0 -w *.pdf

  • Ele irá mostrar uma apresentação dos seus arquivos pdf. a opção -T0 remove as transições (ou, equivalentemente, -t None), e o -w encapsula a apresentação (você pode retornar ao 1º slide a partir do último).

    Você pode querer usar a opção -f para evitar iniciar no modo de tela cheia (de qualquer maneira, você pode alternar para a tela cheia pressionando a tecla "f").

    Para zoom , posicione o mouse onde deseja aumentar o zoom e pressione "z".

Caso contrário, estou apenas descobrindo o leitor de PDF Zathura , é altamente personalizável, suspeito que possa haver uma maneira de escrever um plug-in e vincular chaves para alternar para o próximo pdf.

    
por PlasmaBinturong 15.12.2015 / 00:01
0

Você pode pesquisar pelo terminal, usando grep para procurar as palavras que lhe interessam, como em

grep "word" *

deve pesquisar todos os arquivos no diretório atual por word .

Os PDFs devem ter algum texto neles, então isso deve funcionar, talvez / talvez não seja executado em strings , em seguida canalizado para grep , como em

strings -f * | grep "word"

a menos que os PDFs sejam todas as imagens.

Ou use um programa de "e-library" como o Caliber

Esta imagem parece promissora:

    
por Xen2050 21.12.2014 / 14:07

Tags