Wie kann ich nach Seitenzahl auf OpenXML-Inhalte zugreifen?
Kann ich mit OpenXML den Dokumentinhalt nach Seitenzahl lesen?
wordDocument.MainDocumentPart.Document.Body
gibt den Inhalt des gesamten Dokuments an.
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
}
}
}
MSDNReferen
Update 1:
es sieht aus wie Seitenumbrüche sind wie folgt eingestellt
<w:p w:rsidR="003328B0" w:rsidRDefault="003328B0">
<w:r>
<w:br w:type="page" />
</w:r>
</w:p>
So jetzt muss ich das XML mit der obigen Prüfung teilen und @ nehmInnerTex
für jeden gibt mir das einen Seiten-Text.
Jetzt wird die Frage, wie ich das XML mit der obigen Prüfung aufteilen kann.
Update 2:
Seitenumbrüche werden nur festgelegt, wenn Sie Seitenumbrüche haben. Wenn jedoch Text von einer Seite auf eine andere Seite verschoben wird, wird kein XML-Element für Seitenumbrüche festgelegt, sodass die Identifizierung der Seitentrennungen auf dieselbe Herausforderung zurückgesetzt wird.