Conte o número de palavras em um arquivo PDF

66

Como posso obter a contagem de palavras de um arquivo PDF? Eu acho que a maioria dos arquivos pdf para os quais eu quero obter uma contagem total de palavras possui uma camada de texto incorporada, por isso não preciso de OCR.

A tarefa surgiu da pesquisa de alguns artigos científicos de tamanho conhecido, por exemplo, 15.000 palavras. A maioria dos artigos sobre moders é publicada em formato pdf

osgx
fonte

Respostas:

90

Resposta rápida:

pdftotext myfile.pdf - | wc -w

Resposta longa:

Se no Unix, você pode usar pdftotext:

e faça a contagem de palavras no arquivo gerado. Se no Unix, você pode usar:

wc -w converted-pdf.txt

para obter a contagem de palavras.

Além disso, veja o comentário de frabjous - basicamente, você pode fazê-lo em uma etapa direcionando stdoutpara um arquivo temporário:

pdftotext myfile.pdf - | wc -w
icyrock.com
fonte
10
É pdftotext: não esqueça o e. E você pode usar um único comando: pdftotext myfile.pdf - | wc -w.
Frabjous
11
@frabjous Obrigado, atualizei a resposta com as sugestões!
Icyrock.com
Vale ressaltar que pdftotextfaz parte do Xpdf, que também está disponível para a plataforma Windows. A página de download do Xpdf está localizada aqui: foolabs.com/xpdf/download.html . wctambém pode ser encontrado, mas como alternativa, pode-se usar praticamente qualquer processador de texto, como o Word ou o LibreOffice Writer. Eles contam palavras também. (Para o LibreOffice Writer, vá para Arquivo -> Propriedades -> Estatísticas)
amenthes
13

Esta é uma tarefa difícil, não fácil de resolver. Se você realmente deseja um resultado exato, copie parágrafo por parágrafo do visualizador de PDF em um arquivo de texto e verifique-o com a wc -wferramenta. A razão pela qual não usar pdftotextnesse caso é: fórmulas matemáticas também podem aparecer na saída e consideradas como "palavras". (Como alternativa, você pode editar a saída obtida pdftotext). Outra razão pela qual isso pode falhar são os títulos: "4.3.2 Foo Bar" é contado como três palavras.

Uma maneira de contornar é apenas contar palavras que começam com um caractere de [A-Za-z]. Então, o que eu costumo fazer é uma abordagem em duas etapas:

  1. obtenha a lista de palavras uniq e verifique se há muitos falsos positivos dentro:

    pdftotext foo.pdf - | tr " " "\n" | sort | uniq | grep "^[A-Za-z]" > words

    Não uso um dicionário aqui, pois alguns erros de ortografia não contam como palavras.

  2. Obtenha esta lista de palavras e grep-a na saída de pdftotext:

    pdftotext foo.pdf - | tr " " "\n" | grep -Ff words | wc -l

Sei que isso poderia ser feito em um único liner, mas não pude ver facilmente o resultado do filtro desde o primeiro passo. O -Fpode ajudá-lo como indicado pelo comentário de moi abaixo (obrigado).

matemática
fonte
11
Eu tive que usar grep -Ff words, porque o grep reclama de "Incomparável [ou [^". Na página de manual: `` -F, --fixed-strings Interprete PATTERN como uma lista de strings fixas, separadas por novas linhas, qualquer uma das quais deve ser correspondida. (-F é especificado por POSIX.) ``
moi
10

Acabei de experimentar um programa gratuito, o Translator's Abacus . Você pode arrastar e soltar vários tipos de arquivo (incluindo PDF) e ele exibe um navegador com um relatório imprimível da contagem de palavras para cada documento. Funcionou bem para mim. (Ele foi criado especificamente para a contagem de palavras e tem apenas 435 KB ... ou seja, não é um "grande aplicativo"). O Ábaco do Tradutor não funciona no PDF 1.5 ou posterior.

Como alternativa : você pode apenas Ctrl+ Apara selecionar todo o texto no Acrobat Reader e copiá-lo e colá-lo em um programa como o Microsoft Word (que possui uma contagem de palavras na barra de status na parte inferior da tela).

Adão
fonte
Em (muitos?) PDFs, Crl + A seleciona apenas as palavras na página atual, não o documento inteiro. O Ábaco do Tradutor funciona perfeitamente, ótimo!
Junuxx
3
Correção, o Ábaco do Tradutor não funciona no PDF 1.5 ou posterior.
Junuxx
+1 Ctrl + A no Adobe Reader, juntamente com o WinMerge, funcionam muito bem no Windows!
Superjo
2

Uma maneira simples de fazer isso se você estiver usando o Acrobat Pro é exportar o PDF para um documento do Microsoft Word e depois fazer a contagem de palavras no Word. Como alternativa, você pode exportá-lo para um arquivo de texto simples e usar um utilitário de contagem de palavras no editor de texto de sua escolha /. Acabei de contar um artigo em pdf usando o método Word e demorou 30 segundos para concluir.

Espero que isto ajude.

Bruce Crawford
fonte
Eu converti para texto e fiz wc -w filename.txt. Funcionou. Obrigado.
vijayst
1

Você pode instalar o OCRFeeder . Nele, escolha Arquivo-> Importar PDF-> Detectar e reconhecer automaticamente todas as páginas-> Exportar para ODT e o documento do gravador do libreoffice estará pronto para a contagem de palavras ou qualquer outra função RTF que você queira usar.

user55926
fonte
0

Acho a palavra contador incluída nas ferramentas abracadabra conveniente. A instalação é um pouco peculiar.

Christoph
fonte
0

Você pode usar o JavaScript do console do Adobe Acrobat com o seguinte código, que tirei da resposta de Dave Merchant em forums.adobe.com :

var cnt=0;
for (var p = 0; p < this.numPages; p++) cnt += getPageNumWords(p);
console.println("There are " + cnt + " words in this file.");

Testado com o Adobe Acrobat Pro DC 2018.011.20040 no Windows 7 SP1 x64 Ultimate.


Para ativar o JavaScript Console:

insira a descrição da imagem aqui

Para iniciar a janela do console JavaScript:

CTRL + J

insira a descrição da imagem aqui

Para sua informação, se você tiver a fonte LaTeX correspondente ao PDF: Contagem correta de palavras de um documento LaTeX .

Franck Dernoncourt
fonte
-1

O padrão de fato, usado pelos tradutores desde 2000, é o AnyCount Word Count Tool. Ele conta contagens de palavras em PDF e 37 outros formatos.

Vladimir
fonte
Vladimir, existem referências de terceiros (menções em livros, jornais, revistas, análises de mercado) de que qualquer contagem seja amplamente usada nos mercados de contagem de palavras e tradução? Como os books.google.com/…
osgx 6/11/11
-3

Ctrl+ Shift+ Fdigite a pesquisa avançada, digite a palavra e ela contará quantas vezes ela está no documento. Não é ciência de foguetes.

Johnny Boy
fonte
9
Eu acho que você não entendeu a pergunta ... 'contagem de palavras' normalmente se refere ao número total de palavras em um documento, em vez do número de uma palavra específica ... e também, acho que seria melhor se você estivesse para especificar de qual programa você está falando - nem todos os leitores de PDF têm as mesmas funções ou usam os mesmos atalhos de teclado.
evilsoup
Você pode não ter respondido à resposta do OP, mas sua postagem certamente me ajudou. Obrigado. : D
mahela007 01/07/2015