Как получить доступ к содержимому OpenXML по номеру страницы?
Используя OpenXML, могу ли я прочитать содержимое документа по номеру страницы?
wordDocument.MainDocumentPart.Document.Body
дает содержание полного документа.
public void OpenWordprocessingDocumentReadonly()
{
string filepath = @"C:\...\test.docx";
// Open a WordprocessingDocument based on a filepath.
using (WordprocessingDocument wordDocument =
WordprocessingDocument.Open(filepath, false))
{
// Assign a reference to the existing document body.
Body body = wordDocument.MainDocumentPart.Document.Body;
int pageCount = 0;
if (wordDocument.ExtendedFilePropertiesPart.Properties.Pages.Text != null)
{
pageCount = Convert.ToInt32(wordDocument.ExtendedFilePropertiesPart.Properties.Pages.Text);
}
for (int i = 1; i <= pageCount; i++)
{
//Read the content by page number
}
}
}
MSDNСсылка
Обновление 1:
похоже, что разрывы страниц устанавливаются как показано ниже
<w:p w:rsidR="003328B0" w:rsidRDefault="003328B0">
<w:r>
<w:br w:type="page" />
</w:r>
</w:p>
Так что теперь мне нужно разделить XML с проверкой выше и взятьInnerTex
для каждого, что даст мне текст тиски страницы.
Теперь возникает вопрос, как я могу разделить XML с проверкой выше?
Обновление 2:
Разрывы страниц устанавливаются только тогда, когда у вас есть разрывы страниц, но если текст перемещается с одной страницы на другие страницы, тогда элемент XML разрыва страницы не устанавливается, поэтому он возвращается к той же задаче, что и для определения разделения страниц.