【发布时间】:2015-05-13 06:29:52
【问题描述】:
我正在尝试通过 Microsoft.Office.Interop.Word 获取 MSWord 文档的所有页面(我在 VS2012 中使用 C#)。我想得到的是 List 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;
}
}
但是,当算法到达从一页开始并在另一页结束的段落时,它决定该段落应该在下一页。我想在页面之间拆分这一段,但我不知道如何检测我必须在哪里进行拆分。
【问题讨论】: