Кто-нибудь знает, как я могу подсчитать количество страниц в pdf-файле, используя php? Благодаря!
Основываясь на ответе Р. Уббена, я нашел следующий код PHP, чтобы дать хорошие результаты:
function count_pages($pdfname) { $pdftext = file_get_contents($pdfname); $num = preg_match_all("/\/Page\W/", $pdftext, $dummy); return $num; }
\W
соответствует любому не-буквенно-цифровому символу и исключает такие вещи, как /Pages
, /PageMode
и т. Д.
PDF-файлы хранят страницы в дереве. Объекты «/ Pages» могут иметь записи «/ Parent» и «/ Kids», за которыми следует «/ Count». Вы не можете суммировать записи «/ Count», потому что Kid может быть другим узлом Pages. Объект «/ Page» – это лист.
Откройте pdf в виде текстового файла и подсчитайте количество раз, когда в файле появляется «/ Page» (не «/ Pages»). Это должно быть правильным большую часть времени.
exec('pdftops ' . $filename . ' - | grep showpage | wc -l', $output);
См. Также похожие вопросы и ответы:
Подсчитайте количество страниц в PDF только в PHP