C# 複製Word(複製全部內容、部分內容、頁眉頁腳)

本篇示例將介紹C# 複製Word文檔的方法。根據不同的需要,我們將複製Word文檔分三種情況來講述,具體包括以下幾點:

  • 複製整個Word文檔
  • 複製文檔中的部分內容
  • 複製頁眉或者頁腳

    工具使用

  • Free Spire.Doc for .NET 6.3
  • Visual Studio
    PS:在以下示例中需要添加引用類庫Spire.Doc.dll。(dll可在安裝路徑下的Bin文件夾裏獲取dll)

示例演示

1.複製全部文檔內容

源文檔:
C# 複製Word(複製全部內容、部分內容、頁眉頁腳)
需要複製到以下目標文檔:
C# 複製Word(複製全部內容、部分內容、頁眉頁腳)

【C#】

using Spire.Doc;

namespace CopyWord_Doc
{
    class Program
    {
        static void Main(string[] args)
        {
            //新建Word文檔1,用於加載源文檔
            Document sourceDoc = new Document("sample.docx");
            //新建Word文檔2,用於加載複製內容的目標文檔
            Document destinationDoc = new Document("target.docx");

            //遍歷源word文檔中的所有section,並把內容複製到目標word文檔
            foreach (Section sec in sourceDoc.Sections)
            {
                foreach (DocumentObject obj in sec.Body.ChildObjects)
                {
                    destinationDoc.Sections[0].Body.ChildObjects.Add(obj.Clone());
                }
            }

            //保存並打開復制的目標文檔
            destinationDoc.SaveToFile("target.docx", FileFormat.Docx2010);
            System.Diagnostics.Process.Start("target.docx");
        }
    }
}

複製結果:
C# 複製Word(複製全部內容、部分內容、頁眉頁腳)

2. 複製部分內容(帶格式複製)

【C#】

using Spire.Doc;
using Spire.Doc.Documents;

namespace CopyPara_Doc
{
    class Program
    {
        static void Main(string[] args)
        {
            //創建Word文檔1,加載源文檔
            Document doc1 = new Document();
            doc1.LoadFromFile("sample.docx");

            //創建一個空白文檔,作爲複製內容的目標文檔
            Document doc2 = new Document();

            //獲取Word文檔1第一節的第一段和第二段
            Section s = doc1.Sections[0];
            Paragraph p1 = s.Paragraphs[0];
            Paragraph p2 = s.Paragraphs[1];

            //在Word文檔2中添加Section,並將文檔1中的第一、二段的內容複製到文檔2中
            Section s2 = doc2.AddSection();
            Paragraph NewPara1 = (Paragraph)p1.Clone();
            s2.Paragraphs.Add(NewPara1);
            Paragraph NewPara2 = (Paragraph)p2.Clone();
            s2.Paragraphs.Add(NewPara2);

            //保存並打開復制後的文檔
            doc2.SaveToFile("copy.docx", FileFormat.Docx2010);
            System.Diagnostics.Process.Start("copy.docx");
        }
    }
}

源文檔:
C# 複製Word(複製全部內容、部分內容、頁眉頁腳)
複製結果:
C# 複製Word(複製全部內容、部分內容、頁眉頁腳)

3.複製頁眉或頁腳

這裏以複製頁眉爲例
源文檔中的頁眉效果:
C# 複製Word(複製全部內容、部分內容、頁眉頁腳)
【C#】

using Spire.Doc;

namespace CopyHeaderAndFooter_Doc
{
    class Program
    {
        static void Main(string[] args)
        {
            //新建Word文檔1,並加載帶頁眉的源文檔
            Document doc1 = new Document();
            doc1.LoadFromFile("test1.docx");

            //獲取文檔1的頁眉
            HeaderFooter Header = doc1.Sections[0].HeadersFooters.Header;

            //新建文檔2,並加載目標文檔
            Document doc2 = new Document("test2.docx");

            //遍歷文檔2中的所有Section
            foreach (Section section in doc2.Sections)
            {
                foreach (DocumentObject obj in Header.ChildObjects)
                {
                    //將複製的頁眉對象添加到section
                    section.HeadersFooters.Header.ChildObjects.Add(obj.Clone());
                }
            }

            //保存並打開文檔
            doc2.SaveToFile("copyHeader.docx", FileFormat.Docx2013);
            System.Diagnostics.Process.Start("copyHeader.docx");
        }
    }
}

複製結果:
C# 複製Word(複製全部內容、部分內容、頁眉頁腳)
同樣複製頁腳也是可以的。

以上爲本次示例介紹的全部內容。
如需轉載,請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章