2014-05-14 104 views
0

在我的要求中,我想重複一個特定的段落,該段落位於word文檔的一節中。 這裏word文檔分成幾部分,在部分我們有段像下面如何使用ASPOSE.DLL重複段落中的段落

#Section Start 
1) TO RECEIVE AND ADOPT FINANCIAL STATEMENTS FOR THE YEAR ENDED [FYE] 

a.That the Financial Statements of the Company for the financial year ended [FYE] together with the Director(s)' Report and Statement thereon be hereby received and adopted. 
b. Second paragraph. 
c. Third paragraph. 
#Section End 

我想重複「一」點到3倍

我嘗試下面的代碼

// Copy all content including headers and footers from the specified 
//pages into the destination document. 
       ArrayList pageSections = finder.RetrieveAllNodesOnPages(1, doc.Sections.Count, NodeType.Section); 
       System.Data.DataTable dt = GetDataTable(); //Sample DataTable which is having Keys and Values 
       int sectionCount = 0; 
       foreach (Section section in pageSections) 
       { 

        NodeCollection paragraphs = section.GetChildNodes(NodeType.Paragraph, true); 

        for (int i = 0; i < paragraphs.Count; i++) 
        { 
         string text = paragraphs[i].Range.Text; 

        } 
        } 

請幫助我如何重複一段。

回答

1

我在Aspose擔任社交媒體開發人員。請使用以下示例代碼重複使用Aspose.Words for .NET的段落。

Document doc = new Document("document.docx"); 

PageNumberFinder finder = new PageNumberFinder(doc); 

// Split nodes which are found across pages. 
finder.SplitNodesAcrossPages(true); 

// Copy all content including headers and footers from the specified pages into the         
//destination document. 
ArrayList pageSections = finder.RetrieveAllNodesOnPages(1, doc.Sections.Count, NodeType.Section); 

//Sample DataTable which is having Keys and Values 
System.Data.DataTable dt = GetDataTable(); 

int sectionCount = 0; 

foreach (Section section in pageSections) 
{ 

    NodeCollection paragraphs = section.GetChildNodes(NodeType.Paragraph, true); 

    for (int i = 0; i < paragraphs.Count; i++) 
    {      
     //Paragraph you want to copy 
     if (i == 10) 
     { 

      //Use Document Builder to Navigate to the paragraph 
      DocumentBuilder builder = new DocumentBuilder(doc); 

      builder.MoveTo(paragraphs[i]); 

      //Insert a Paragraph break 
      builder.InsertParagraph(); 

      //Insert the Paragraph to repeat it 
      builder.Writeln(paragraphs[i].ToString(SaveFormat.Text)); 


     } 


    } 

} 

doc.Save("test.docx");