我试图通过Microsoft.Office.Interop.Word获取MSWord文档的所有页面(我在VS2012中使用C#).我想得到的是List <String> Pages,其中index是页面数.我理解(至少我认为是这样),没有直接的方法可以做到这一点.所以我想出了类似的东西:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当算法到达段落时,它从一个页面开始到另一个页面结束,它决定段落应该在下一页.我想在页面之间拆分这段,但我不知道如何检测我必须在哪里进行拆分.