Come contare le pagine in più file PDF?


12

Ho appena ricevuto un libro di testo in pdf composto da circa 20 PDF separati (per capitolo) con nomi quasi regolari. C'è un modo per contare le pagine del libro senza aprire ogni file (o passare attraverso le proprietà)?

[la soluzione può essere per Windows o Ubuntu]


Hai Adobe Acrobat?
wizlog,

Vuoi il conteggio delle pagine per ogni file PDF e / o l'intero libro?
Franck Dernoncourt

@FranckDernoncourt - grazie. La domanda è stata posta circa 7 anni fa. Se hai una soluzione in entrambi i modi in cui hai citato, perché non aggiungere semplicemente una risposta qui, in modo che i futuri utenti alla ricerca di questo problema possano fare riferimento?
1919

Risposte:


19

L'utilizzo di pdfinfoquesto è il migliore che ho potuto trovare: Per stampare il numero di pagine per file:

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

Per stampare la somma di tutte le pagine in tutti i file:

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

Su Ubuntu, pdfinfoè contenuto nel pacchetto poppler-utils. Per installarlo, utilizzare:

sudo apt-get install poppler-utils

Su Windows, è possibile utilizzare Cygwin. pdfinfoè contenuto nel pacchetto poppler.


+1 pdfinfo è esattamente quello che stavo cercando. Ne ho bisogno per il conteggio delle pagine nel mio pacchetto di emulazione per la stampa duplex.
Joe,

Ho dovuto aggiungere il flag --text al comando grep, perché per qualche motivo pdfinfo ha restituito qualcosa che grep interpretava come un file binario. Quindi grep --text "^ Pages:", nel caso in cui qualcun altro abbia lo stesso problema.
KIAaze,

4

So che è troppo tardi, ma ho appena trovato una soluzione migliore e più semplice per questo.

Scarica e installa da sourceforge "pdf split and merge"

Rilascia tutti i tuoi file su di esso e sullo schermo genera un rapporto simile a un foglio di calcolo sul numero di pagine e informazioni di ciascuno.

Seleziona che, copia, incolla in Excel o Opencalc, hai capito.


4

Ho fatto un'applicazione proprio per questo, è scritta in Java, quindi funziona su tutti i sistemi operativi. Controllalo qui:

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

È meglio eseguire l'applicazione da terminal ( java -jar) per assicurarsi che funzioni correttamente.

Inserisci il file jar nella directory in cui vuoi ottenere il conteggio delle pagine di tutti i pdf. Scorrerà anche le sottocartelle, non è necessario posizionare tutti i pdf in cui si trova il file jar poiché scorrerà tra le sottocartelle in cui si posiziona il file jar. Fai doppio clic sul jar, potrebbe volerci un po 'di tempo se ci sono molti pdf, alla fine produrrà un file txt nella stessa directory del file jar e avrà il conteggio delle pagine al suo interno.


Bella idea Buoni miglioramenti sarebbero: 1) open che è solo a riga di comando (no UI), e 2) output della dimensione della pagina di ogni file, insieme al totale
raider33

1

In Adobe Acrobat Pro, vai su file > crea PDF > unisci file in un singolo PDF . Quindi aggiungere i file e selezionare i file desiderati. Fai clic su Combina e vedi quante pagine sono nel PDF finale.


Grazie @wizlog - questo richiede davvero il software completo (e costoso), no?

Ho appena notato il tuo commento sulla domanda. No, non ce l'ho.

1

Ciao, non so come puoi farlo su Windows, ma su Linux Bash dovrebbe funzionare con questo

PDFS = `ls * .pdf`
contatore = 0
per i in $ PDFS
fare
   ((counter + = `pdfinfo internship_report.pdf | sed -n 's | Pagine: [^ 0-9] * \ ([0-9] * \). * | \ 1 | p'`))
fatto
echo $ counter

i migliori saluti kenny


Grazie Kenny. Questo potrebbe funzionare se il nome file scansionasse i file. Voto comunque.
Sì,

0

un altro approccio con parallele expr(dovrebbe essere un po 'più veloce su macchine multiprocessore):

expr $( echo -n 0; parallel "pdfinfo {} |sed -n 's/Pages: */ + /p'" ::: *pdf|tr '\n' ' ')
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.