我正在尝试通过Microsoft.Office.Interop.Word(我在VS2012中使用C#)获取MSWord文档的所有页面。我想要得到的是一个List< String > Pages,其中索引是页码。我理解(至少我认为是这样),没有直接的方法可以做到这一点。因此,我想到了以下解决方案:
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;
}
}
但是,当算法遇到一个从一页开始并在另一页结束的段落时,它会决定该段落应该在下一页。我想将这个段落分成两页,但是我不知道如何检测需要拆分的位置。