Próbuję uzyskać wszystkie strony dokumentu MSWord przez Microsoft.Office.Interop.Word (używam C# w VS2012). To, co chciałbym uzyskać, to List < Ciąg> Strony, gdzie index to liczba stron. Rozumiem (przynajmniej tak uważam), że nie ma na to bezpośredniego sposobu. Więc wymyśliłem coś takiego:Pobierz strony dokumentu Word
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;
}
}
ale gdy dostaje się do ust algorytm, który rozpoczyna się na jednej stronie, a kończy się na innym, uzna, że akapit powinien być na następnej stronie. Chcę podzielić ten akapit między strony, ale nie wiem, jak wykryć, gdzie muszę dokonać podziału.
Zobacz również tutaj http://stackoverflow.com/a/12339771/74585 –