Como contar páginas em vários arquivos PDF?

12

Acabei de receber um livro em pdf composto por cerca de 20 pdfs separados (por capítulo) com nomes quase regulares. Existe uma maneira de contar as páginas do livro sem abrir cada arquivo (ou passar pelas propriedades)?

[solução pode ser para Windows ou Ubuntu]

ysap
fonte
Você possui o Adobe Acrobat?
Wizlog 22/03/12
Deseja a contagem de páginas para cada arquivo PDF e / ou o livro inteiro?
Franck Dernoncourt
@FranckDernoncourt - obrigado. A pergunta foi feita há 7 anos. Se você tem uma solução para as duas maneiras mencionadas, por que não adiciona uma resposta aqui para que os futuros usuários que pesquisam esse problema possam consultar?
ysap 28/05/19

Respostas:

19

Usar pdfinfoisso é o melhor que eu poderia criar: Para imprimir o número de páginas por arquivo:

for i in *.pdf; do echo $i && pdfinfo "$i" | grep "^Pages:"; done

Para imprimir a soma de todas as páginas em todos os arquivos:

for i in *.pdf; do pdfinfo "$i" | grep "^Pages:"; done | awk '{s+=$2} END {print s}'

No Ubuntu, pdfinfoestá contido no pacote poppler-utils. Para instalá-lo, use:

sudo apt-get install poppler-utils

No Windows, você pode usar o cygwin. pdfinfoestá contido no pacote poppler.

Der Hochstapler
fonte
+1 pdfinfo é exatamente o que eu estava procurando. Preciso disso para a contagem de páginas no meu pacote de emulação de impressão duplex.
31813 Joe
Eu tive que adicionar o sinalizador --text ao comando grep, porque por algum motivo o pdfinfo retornou algo que o grep interpretou como um arquivo binário. Então, grep --text "^ Pages:", caso alguém tenha o mesmo problema.
KIAaze
4

Sei que é tarde demais, mas acabei de encontrar uma solução muito melhor e mais simples para isso.

Faça o download e instale no sourceforge "pdf split and merge"

Coloque todos os seus arquivos nele e, na tela, ele gera um relatório semelhante a uma planilha no número de páginas e informações de cada um.

Selecione isso, copie, cole no excel ou opencalc, você conseguiu.

user339697
fonte
4

Eu fiz uma aplicação apenas para isso, é escrito em Java, então funciona em todos os sistemas operacionais. Confira aqui:

https://github.com/hamiltino/multiple-pdf-counter/releases

É melhor executar o aplicativo no terminal ( java -jar) para garantir que ele funcione corretamente.

Coloque o arquivo jar no diretório em que deseja obter a contagem de páginas de todos os PDFs. Ele também passará pelas subpastas, não é necessário colocar todos os PDFs onde o arquivo jar está, pois passará pelas subpastas onde você coloca o arquivo arquivo jar. Clique duas vezes no jar, pode levar algum tempo, se houver muitos pdfs, eventualmente ele produzirá um arquivo txt no mesmo diretório do arquivo jar e terá a contagem de páginas.

HashTables
fonte
Boa ideia. Boas melhorias seriam: 1) aberta, que é de linha de comando apenas (sem UI), e 2) a saída do tamanho da página de cada arquivo, juntamente com um total
raider33
1

No Adobe Acrobat Pro, vá para arquivo > criar PDF > mesclar arquivos em um único PDF . Em seguida, adicione arquivos e selecione os arquivos que deseja. Clique em combinar e veja quantas páginas estão no PDF final.

wizlog
fonte
Obrigado @wizlog - isso realmente requer o software completo (e caro), não é?
ysap
Só notei seu comentário sobre a pergunta. Não, eu não tenho.
ysap
1

Oi não sei como você pode fazê-lo no Windows, mas no Linux Bash deve funcionar com este

PDFS = `ls * .pdf`
counter = 0
para i em $ PDFS
Faz
   ((counter + = `pdfinfo internship_report.pdf | sed -n's | Páginas: [^ 0-9] * \ ([0-9] * \). * | \ 1 | p'`))
feito
echo $ counter

melhores cumprimentos kenny

phschoen
fonte
Obrigado Kenny. Isso pode funcionar se o nome do arquivo for verificado nos arquivos. Votado de qualquer maneira.
ysap
0

outra abordagem com parallele expr(deve ser um pouco mais rápida em máquinas com multiprocessadores):

expr $( echo -n 0; parallel "pdfinfo {} |sed -n 's/Pages: */ + /p'" ::: *pdf|tr '\n' ' ')
Matteo Gamboz
fonte