¿Comando de shell para contar las páginas en un PDF (que no sea pdftk)?

4

He estado usando esto para obtener un número de páginas de archivos PDF en scripts de shell en OS X:

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

(donde $i es el nombre del archivo PDF)

Sin embargo, hay veces en que eso no parece funcionar, por lo que me gustaría encontrar otra forma de hacerlo.

    
pregunta TJ Luoma 05.08.2015 - 00:21

5 respuestas

5

Debería poder usar mdls para ver los atributos de metadatos de un PDF:

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

    
respondido por el jordanmerrick 05.08.2015 - 00:42
4

Otra solución exiftool :

cd /path/to/pdf/directory
exiftool -T -filename -PageCount -s3 -ext pdf .
    
respondido por el fd0 11.07.2016 - 21:41
0

Si el archivo está indexado o no, esto funciona, sin embargo, si el archivo de destino no reside en un volumen / ubicación que se está indexando, aquí hay una alternativa a la excelente solución presentada por jordanmerrick.

Acabo de intentarlo con exiftool y si es solo el recuento de páginas que desea como Número entonces esto funciona:

exiftool "$i" | grep 'Page Count' | cut -c35-
    
respondido por el user3439894 05.08.2015 - 01:02
0

mdls tampoco funcionó para mí. Hice esto en una Mac, pero espero que sea igual en cualquier shell o bash similar. Con el Mac ya tengo instalado Homebrew, así que primero escribí el comando "homebrew install exiftool".

Aquí está el script que ejecuté, puedes configurarlo para tus propósitos. Tenía una carpeta completa de archivos PDF y quería que la página contara con cada uno de ellos, así que revisé los archivos e imprimí el nombre del archivo y la página con una, entre ellos

#!/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
    
respondido por el RKaneKnight 11.07.2016 - 20:44
0

Puede utilizar la utilidad de línea de comandos qpdf para contar la cantidad de páginas en un documento PDF. qpdf se puede instalar a través de Homebrew ejecutando el siguiente comando:

brew install qpdf

Una vez instalado, para contar el número de páginas ejecutadas:

qpdf --show-npages file.pdf

    
respondido por el Geek 12.04.2018 - 19:26

Lea otras preguntas en las etiquetas