如何使用ASPOSE.DLL重复节中的段落

时间:2014-05-14 04:40:47

标签: asp.net aspose aspose.words

在我的要求中,我想重复一个单词文档中的特定段落。 这里word文档分为几个部分,我们在下面有段落如下

#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

我想重复“a”点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 个答案:

答案 0 :(得分: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");