Bekommen Seiten des word-Dokuments
Ich versuche alle Seiten von MSWord-Dokument über Microsoft.Office.Interop.Wort (ich bin mit C# VS2012). Was ich bekommen möchte, ist List< String > Seiten, index ist die Nummer der Seite. Ich verstehe (glaube ich zumindest so), dass es keinen direkten Weg, dies zu tun. Also ich kam mit etwas, dass wie:
List<String> Pages = new List<String>();
int NumberOfPreviousPage = -1;
int NumberOfPage = -1;
string InnerText = "";
for (int i = 0; i < Doc.Paragraphs.Count; i++)
{
Paragraph CurrentParagraph = Doc.Paragraphs[i + 1];
InnerText = CurrentParagraph.Range.Text;
NumberOfPage = CurrentParagraph.Range.get_Information(WdInformation.wdActiveEndPageNumber);
if (NumberOfPage == NumberOfPreviousPage)
Pages[Pages.Count - 1] += String.Format("\r\n{0}", InnerText);
else
{
Pages.Add(InnerText);
NumberOfPreviousPage = NumberOfPage;
}
}
Aber, wenn der Algorithmus erhält Absatz, der beginnt auf einer Seite und endet auf einem anderen, so entscheidet Sie, dass Absatz sollte auf der nächsten Seite. Ich will split in diesem Absatz zwischen den Seiten, aber ich weiß nicht, wie zu erkennen, wo ich zu tun habe, der split.
- Siehe auch hier stackoverflow.com/a/12339771/74585
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schließlich beendete ich mit diesem, und es funktioniert (es ist lahm, es ist hässlich, aber es tut, was es soll):
Ein bisschen eine einfachere Lösung.
Pseudo-code:
Umsetzung: