Obtendo a contagem de palavras de um documento PDF no Evince

22

Existe alguma maneira de obter a contagem de palavras de um documento PDF que estou visualizando no Evince, o visualizador de pdf padrão do Ubuntu? Sou capaz de converter os documentos em arquivos de texto e obter a contagem de palavras no terminal, mas gostaria de poder alcançá-los rapidamente sem precisar usar o terminal. Existe algum plug-in que possa fazer isso, ou ele já está incorporado e só estou sentindo falta dele?

PS: Eu preferiria não mudar meu visualizador, pois o Evince é o visualizador de PDF padrão no Ubuntu, e gostaria de fazer o máximo possível usando os aplicativos padrão, já que muitos deles, incluindo Evince, são muito bons.


fonte

Respostas:

31

Você pode fazer isso via linha de comando:

pdftotext filename.pdf - | tr -d '.' | wc -w
Sid
fonte
Obrigado, mas como eu disse na pergunta, prefiro não precisar usar a linha de comando para esse tipo de coisa.
4
@ Chris Tente integrar o sistema ("<command acima>") no código do evince.
Gödel
11

Que tal um script bash rápido que exija zenity e evince. Quando chamado sem argumento, ele fornece uma caixa de diálogo para que você possa escolher um arquivo. Quando chamado com um argumento (ou após a referida caixa de diálogo), ele abre o arquivo e mostra uma caixa de diálogo com uma contagem de palavras.

Em outras palavras, copie o seguinte em um arquivo de texto, chamado evince-word-count.shou algo assim, salve-o em algum lugar do seu caminho (por exemplo, ~/bin/), torne-o executável (através do clique direito e das propriedades do Nautilus ou com chmod +x ~/bin/evince-word-count.sh),

#!/bin/bash
if [ "$#" -gt "0" ] ; then
    filename="$1"
else
    filename="$(zenity --file-selection)"
fi
evince "$filename" &
zenity --info --text "This PDF has $(pdftotext "$filename" - | tr -d '.' | wc -w) words"
exit 0

Agora, clique com o botão direito do mouse em alguns arquivos PDF do nautilus, escolha "Abrir com ..." e abra-o com evince-word-count.sh. Agora, quando você abre um PDF, ele abre em evince e fornece uma contagem de palavras.

texto alternativo

frabjous
fonte
Você pode colocar este arquivo em /home/$USER/.local/share/nautilus/scripts/, que o torna disponível com o botão direito do mouse no Nautilus (gerenciador de arquivos vanilla do Ubuntu).
Daniel Holm
10

Uma resposta de Olaf Leidinger na lista de discussão do Evince:

Eu acho que esse recurso é mais adequado para editores de documentos, pois eles têm mais informações sobre o documento como visualizador simples e a contagem de palavras é trivial. Tome um arquivo PDF como exemplo. O que você vê como texto pode realmente ser algum tipo de forma de gráfico vetorial. Mesmo que o texto esteja contido como tal no arquivo PDF, essas palavras que você vê podem ser compostas por vários comandos "desenhar texto na posição (y, x)" - por exemplo, no caso de trechos ou fim de linha. Portanto, uma única palavra pode contar como várias palavras. Portanto, acho que pode ser difícil implementar esse recurso de maneira confiável. Dê uma olhada no pdftotext para ver o que quero dizer.

fonte
2
Qualquer arquivo usado para definir o documento pode ser considerado "código fonte", e o Evince é a máquina que executa o código. É injusto (e impossível) pedir ao editor de código-fonte (por exemplo, um editor de texto) para determinar qual será a saída da execução, então vamos ver a saída (ou seja, a imagem / texto renderizado no Evince / poppler). A implementação no Evince seria útil para mim, pois estou "codificando" meus artigos em um editor de texto independente da linguagem e usando o Evince (via Pandoc e pdflatex) para "executar" minha fonte. Somente no final podemos ter certeza do que conseguiu. Considere o código comentado.
user29020
4

Não acredito que isso seja possível (bem, é tecnicamente possível, mas não foi implementado).

Você deve se lembrar de que Evince é um visualizador de documentos e que a contagem de palavras é um recurso geralmente mais necessário em um editor (sim, eu sei que esse nem sempre é o caso).

Você pode entrar em contato com os desenvolvedores do Evince e perguntar se eles teriam algum interesse em implementar esse recurso.

8128
fonte
1
Obrigado. Entrei em contato com eles e manterei a pergunta em aberto até obter uma resposta definitiva.
Quando você ouvir de volta, fique à vontade para responder eficazmente a sua própria pergunta :)
8128
Evince não é estritamente um "espectador". Criar, visualizar e editar um documento é claramente um fluxo de trabalho maior do que apenas "editar" e depois "visualizar". Em relação à pergunta: O Evince atualmente permite copiar o texto selecionado. Isso não é estritamente um papel de "visualização". O Evince está em uma ótima posição para descobrir a contagem de palavras resultante, já que é o "renderizador" final do que realmente lemos (ou enviamos ao editor). Ele já tem uma maneira de identificar palavras inteiras renderizadas (tente clicar duas vezes em uma palavra!). Eu adoraria que o Evince fornecesse isso na caixa "Arquivo-> Propriedades". Ele já me diz a contagem de páginas (com base na renderização).
user29020