Як порахувати сторінки у кількох PDF-файлах?


12

Щойно я отримав підручник у форматі PDF, який складався з приблизно 20 окремих файлів pdfs (за розділами) з квазірегулярними назвами. Чи існує спосіб підрахунку сторінок у книзі без відкриття кожного файлу (або проходження властивостей)?

[рішення може бути для Windows або Ubuntu]


У вас є Adobe Acrobat?
wizlog

Ви хочете, що кількість сторінок для кожного файлу PDF та / або всієї книги?
Франк

@FranckDernoncourt - спасибі Питання було задано десь 7 років тому. Якщо ви вирішили будь-який із згаданих вами способів, чому б ви просто не додали тут відповіді, щоб майбутні користувачі, які досліджували цю проблему, могли звернутися?
ysap

Відповіді:


19

Використовуючи pdfinfoце найкраще, що я міг придумати: Щоб надрукувати кількість сторінок у файлі:

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

Щоб надрукувати суму всіх сторінок у всіх файлах:

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

На Ubuntu, pdfinfoміститься в пакеті poppler-utils. Щоб встановити його, використовуйте:

sudo apt-get install poppler-utils

У Windows можна використовувати cygwin. pdfinfoміститься в упаковці poppler.


+1 pdfinfo - саме те, що я шукав. Мені це потрібно для підрахунку сторінок у моєму пакеті емуляції друку.
Джо

Мені довелося додати прапор --text до команди grep, оскільки чомусь pdfinfo повернув щось, що grep інтерпретується як двійковий файл. Отже, grep --text "^ Сторінки:", на всякий випадок, якщо хтось інший має те саме питання.
KIAaze

4

Я знаю, що це занадто пізно, але я просто знайшов спосіб кращого і простішого рішення для цього.

Завантажте та встановіть з sourceforge "pdf split and merge"

Залиште всі файли на ньому, і на екрані він генерує звіт, що нагадує електронну таблицю, про кількість сторінок та інформацію про кожну.

Виберіть це, скопіюйте, вставте в excel або opencalc, і отримали його.


4

Я зробив додаток саме для цього, його написано на Java, тому працює на всіх ОС. Перевірте це тут:

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

Найкраще запустити програму з терміналу ( java -jar), щоб переконатися, що вона справно працює.

Помістіть файл jar в каталог, в який ви хочете отримати кількість сторінок усіх pdfs. Це також буде проходити через папки, не потрібно розміщувати всі файли файлів, де знаходиться файл jar, оскільки він буде проходити через папки, де ви розміщуєте файл банку. Двічі клацніть на баночці, це може зайняти деякий час, якщо буде багато pdfs, з часом вона виведе файл txt у той самий каталог файлу jar, і в ній буде кількість сторінок.


Хороша ідея. Хорошими вдосконаленнями були б: 1) відкритий, тобто лише командний рядок (без користувальницького інтерфейсу), і 2) виведення розміру сторінки кожного файлу разом із загальним
raider33

1

У Adobe Acrobat Pro перейдіть до файлу > створити PDF > об'єднати файли в один PDF . Потім додайте файли та виберіть потрібні файли. Клацніть комбінувати та подивіться, скільки сторінок знаходиться у фінальному PDF.


Дякуємо @wizlog - це дійсно вимагає повнофункціонального (і дорогого) програмного забезпечення, чи не так?
ysap

Щойно помітив ваш коментар до питання. Ні, я цього не маю.
ysap

1

Привіт, не знаю, як це можна зробити на Windows, але в Linux bash він повинен працювати з цим

PDFS = `ls * .pdf`
лічильник = 0
за i в $ PDFS
робити
   ((counter + = `pdfinfo internship_report.pdf | sed -n 's | Сторінки: [^ 0-9] * \ ([0-9] * \). * | \ 1 | p'`))
зроблено
echo $ counter

кращі норми kenny


Дякую, Кенні Це може спрацювати, якщо ім'я файлу буде сканувати файли. Оголошено все одно.
ysap

0

інший підхід з parallelі expr(повинен бути трохи швидшим на багатопроцесорних машинах):

expr $( echo -n 0; parallel "pdfinfo {} |sed -n 's/Pages: */ + /p'" ::: *pdf|tr '\n' ' ')
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.