Как считать страницы в нескольких файлах PDF?
Я только что получил учебник в формате PDF, состоящий из примерно 20 отдельных файлов (по главам) с квазирегулярными именами. Есть ли способ подсчета страниц в книге без открытия каждого файла (или просмотра свойств)?
[решение может быть для Windows или Ubuntu]
7 ответов
С помощью 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
,
Я знаю, что уже слишком поздно, но я нашел способ лучше и проще для этого.
Загрузите и установите из sourceforge "pdf split and merge"
Перетащите все свои файлы на него, и на экране он создаст отчет в виде электронной таблицы о количестве страниц и информации о каждом из них.
Выберите это, скопируйте, вставьте в Excel или OpenCalc, вы получили это.
Я сделал приложение только для этого, он написан на Java, поэтому работает на всех ОС. Проверьте это здесь:
https://github.com/hamiltino/multiple-pdf-counter/releases
Лучше всего запускать приложение из терминала (java -jar
) чтобы он работал правильно.
Поместите файл jar в каталог, в котором вы хотите получить количество страниц всех PDF-файлов. Он также будет циклически перемещаться по подпапкам, нет необходимости размещать все PDF-файлы там, где находится файл JAR, так как он будет циклически перемещаться по подпапкам, в которые вы помещаете фляга Дважды щелкните по банке, это может занять некоторое время, если есть много файлов PDF, в конечном итоге он выведет файл TXT в тот же каталог файла JAR, и он будет иметь количество страниц в нем.
В Adobe Acrobat Pro перейдите к файлу > создать PDF > объединить файлы в один PDF . Затем добавьте файлы и выберите нужные файлы. Нажмите объединить, и посмотрите, сколько страниц в окончательном PDF.
Привет не знаю, как вы можете сделать это на Windows, но на Linux Bash это должно работать с этим
PDFS=`ls *.pdf` Счетчик =0 для меня в $PDFS делать (( counter += `pdfinfo internship_report.pdf | sed -n 's| Страницы:[^0-9]*\([0-9]*\).*|\1|p'`)) сделанный счетчик эхо $
С наилучшими пожеланиями Кенни
Другой подход с parallel
а также expr
(должно быть немного быстрее на многопроцессорных машинах):
expr $( echo -n 0; parallel "pdfinfo {} |sed -n 's/Pages: */ + /p'" ::: *pdf|tr '\n' ' ')
Можно использовать PDFsam Basic:
- бесплатно
- работает на Microsoft Windows, Mac OS X и Linux
- доступна портативная версия (по крайней мере, для Windows)
- может подсчитывать количество страниц в нескольких PDF-файлах одновременно: