我试图解析一个Word文档,我正在寻找的信息应该位于第一页.有没有办法得到一个段落的页码?
foreach (Word.Paragraph p in document.Paragraphs) { // pageNo = ..... // if(pageNo == 1 && p.Range.Text.StartsWith("This")) { // /* do some processing with the paragraph */ // } }
解决方法
从这个帖子
VSTO 2007: how do I determine the page and paragraph number of a Range?我可以看到你可以得到一个范围的页数
/// <summary> /// Determines the pagenumber of a range. /// </summary> /// <param name="range">The range to be located.</param> /// <returns></returns> private static int GetPageNumberOfRange(Word.Range range) { return (int)range.get_Information(Word.WdInformation.wdActiveEndPageNumber); }
从这个帖子,how to detect Empty paragraph in Word Document using Microsoft.Office.Interop.Word in C#4.0?我确定你可以找到范围从段落!
for each p in Doc.Content.Paragraphs if (p.Range.End - p.Range.Start) > 1 then (The paragraph is empty) Next
你应该把你的解决方案结合在一起,我敢打赌!