PHPWord – Получение количества страниц?

Я использую парсер PHPWord для создания документа, а затем в командной строке для автоматической печати документа. Документ ДОЛЖЕН быть на одной странице, потому что это сертификат и должен быть напечатан на специальной бумаге.

Я добавляю имена людей, поэтому люди с более длинными именами могут перебрасывать одну строку на две части и все нажимать на вторую страницу.

У PHPWord есть способ подсчитать количество страниц, поэтому я могу поднять ошибку, если количество страниц превышает одно?

После лапания через источник, похоже, что это еще нельзя сделать.

Однако в app.xml есть тег под названием «Страницы», который должен содержать количество страниц. Я не думаю, что это точно, но это хоть что-то.

Вот пример кода:

// Include PHPWord and other stuff before here function getPages() { $zip = new \PhpOffice\PhpWord\Shared\ZipArchive(); $zip->open("/path/to/your/document.docx"); preg_match("/\<Pages>(.*)\<\/Pages\>/", $zip->getFromName("docProps/app.xml"), $var); return $var[0]; } 

Это возвращает 1 для меня в документе, который должен иметь 2 страницы. Возможно, PHPWord не потрудился рассчитать количество страниц или подсчитывать только разрывы страниц, но, по крайней мере, это начало.

EDIT: Используя командную строку Word, я могу обновить число страниц программно:

\path\to\winword.exe /mToolsWordCountRecount /mFileSave /mFileCloseOrExit myfile.docx

Это добавляет второй или два к поколению, но по крайней мере теперь я могу точно определить количество страниц