Comando della shell per contare le pagine in un PDF (diverso da pdftk)?

4

L'ho usato per ottenere un numero di pagine di PDF negli script di shell in OS X:

pdftk "$i" dump_data | grep NumberOfPages | awk '{print $2}' | tr -dc '[0-9]'

(dove $i è il nome file PDF)

Tuttavia, ci sono momenti in cui non sembra funzionare, quindi mi piacerebbe trovare un altro modo per farlo.

    
posta TJ Luoma 05.08.2015 - 00:21
fonte

5 risposte

5

Dovresti essere in grado di utilizzare mdls per visualizzare gli attributi dei metadati per un PDF:

mdls -n kMDItemNumberOfPages "$i" | cut -c24-

    
risposta data 05.08.2015 - 00:42
fonte
4

Ancora un'altra soluzione exiftool :

cd /path/to/pdf/directory
exiftool -T -filename -PageCount -s3 -ext pdf .
    
risposta data 11.07.2016 - 21:41
fonte
0

Indipendentemente dal fatto che il file sia indicizzato, tuttavia, se il file di destinazione non risiede su un volume / percorso indicizzato, ecco un'alternativa all'eccellente soluzione presentata da jordanmerrick.

Ho appena provato questo utilizzando exiftool e se è solo il numero di pagine che vuoi come numero allora funziona:

exiftool "$i" | grep 'Page Count' | cut -c35-
    
risposta data 05.08.2015 - 01:02
fonte
0

mdls non ha funzionato neanche per me. L'ho fatto su un Mac, ma mi aspetto che sia lo stesso su qualsiasi shell bash o simile. Con il Mac ho già installato l'homebrew, quindi ho appena scritto il comando "homebrew install exiftool".

Ecco lo script che ho eseguito, puoi configurarlo per i tuoi scopi. Avevo un'intera cartella di file PDF e volevo i conteggi delle pagine su ognuno di essi, quindi ho dovuto esaminare i file e stampare il nome file e la pagina con un, tra

#!/bin/sh

FILES=/path/to/files/*
for f in $FILES
do
    fn=$(basename "$f")
    printf "$fn"
    pg=$(exiftool "$f" | grep 'Page Count' | cut -c35-)
    printf ",$pg\n"
done
    
risposta data 11.07.2016 - 20:44
fonte
0

È possibile utilizzare l'utilità della riga di comando qpdf per contare il numero di pagine in un documento PDF. qpdf può essere installato tramite Homebrew tramite il seguente comando:

brew install qpdf

Una volta installato, per contare il numero di pagine eseguite:

qpdf --show-npages file.pdf

    
risposta data 12.04.2018 - 19:26
fonte

Leggi altre domande sui tag