Найти новую страницу в документе Word

Как определить новую страницу или какой-либо идентификатор, обозначающий номер страницы, с помощью python-docx? Я пока безрезультатно просматривал документы, а также пытался найти атрибут WD_BREAK.PAGE, но эта функция еще не поддерживается. Вся помощь приветствуется, спасибо.


person artifex_somnia    schedule 01.06.2014    source источник


Ответы (1)


Короткий ответ: вы не можете надежно определить программные разрывы страниц из файла .docx. Вы можете идентифицировать резкие разрывы страниц, и вы можете определить, где Word разрывал страницы во время последнего "перетекания" документа.

Документ Word представляет собой «перетекающий» документ, что означает, что механизм компоновки Word «перемещает» текст документа на страницу до тех пор, пока не закончится место, а затем создает новую страницу, на которую перетекает оставшийся текст. Эти «мягкие» разрывы страниц не указаны в файле .docx; они определяются Word во время рендеринга для отображения или печати. Это имеет смысл, потому что всякий раз, когда вы меняете, например, поля, страницы могут разрываться в разных местах.

Следствием этого является то, что файл .docx не содержит разметки, определяющей, где следующий текст должен перетекать на новую страницу.

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

В помощь вспомогательным технологиям, таким как голосовое чтение для слабовидящих, Word может вставлять <w:lastRenderedPageBreak> элементов. Я мало что знаю об этом и о том, при каких обстоятельствах Word их вставляет, но это может быть тем, что стоит изучить.

person scanny    schedule 02.06.2014
comment
Ах. Я понимаю. Большое спасибо за ваше объяснение. - person artifex_somnia; 03.06.2014