2011-08-17 13 views
10

Próbuję parsować dokument programu Word, a informacje, których szukam, powinny znajdować się tylko na pierwszej stronie. Czy istnieje sposób na uzyskanie numeru strony dla akapitu?Jak znaleźć numer strony dla akapitu Word?

foreach (Word.Paragraph p in document.Paragraphs) 
{ 
    // pageNo = ..... 
    // if(pageNo == 1 && p.Range.Text.StartsWith("This")) { 
    //  /* do some processing with the paragraph */ 
    // } 
} 

Odpowiedz

16

Od tego postu VSTO 2007: how do I determine the page and paragraph number of a Range? mogę zobaczyć można uzyskać Numer strony tworzą szereg

/// <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); 
    } 

I od tego postu, how to detect Empty paragraph in Word Document using Microsoft.Office.Interop.Word in C#4.0? jestem pewien, u może znaleźć się w zakresie od ust!

for each p in Doc.Content.Paragraphs 
    if (p.Range.End - p.Range.Start) > 1 then (The paragraph is empty) 
Next 

trzeba mieć swoje rozwiązanie łączące obie odpowiedzi, założę!

4
foreach (Word.Paragraph p in document.Paragraphs) 
{ 
    int page = p.Range.Information[Word.WdInformation.wdActiveEndAdjustedPageNumber]; 
    Console.WriteLine(p.Range.Text + " is on page " + page); 
} 

Coś takiego może być tym, czego szukasz. Przeczytaj różnicę między wdActiveEndPageNumber i wdActiveEndAdjustedPageNumber, aby sprawdzić, który z nich odpowiada Twoim potrzebom.

Powiązane problemy