C# 复制Word(复制全部内容、部分内容、页眉页脚)

本篇示例将介绍C# 复制Word文档的方法。根据不同的需要,我们将复制Word文档分三种情况来讲述,具体包括以下几点:

  • 复制整个Word文档
  • 复制文档中的部分内容
  • 复制页眉或者页脚

    工具使用

  • Free Spire.Doc for .NET 6.3
  • Visual Studio
    PS:在以下示例中需要添加引用类库Spire.Doc.dll。(dll可在安装路径下的Bin文件夹里获取dll)

示例演示

1.复制全部文档内容

源文档:

需要复制到以下目标文档:

【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");
        }
    }
}

复制结果:

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

源文档:

复制结果:

3.复制页眉或页脚

这里以复制页眉为例
源文档中的页眉效果:

【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");
        }
    }
}

复制结果:

同样复制页脚也是可以的。

以上为本次示例介绍的全部内容。
如需转载,请注明出处。

原文地址:http://blog.51cto.com/eiceblue/2131634

时间: 2024-08-26 00:41:16

C# 复制Word(复制全部内容、部分内容、页眉页脚)的相关文章

C# 操作Word页眉页脚——奇偶页/首页不同、不连续设置页码、复制页眉页脚、锁定页眉页脚、删除页眉

序 ?本文是对Word页眉页脚的操作方法的进一步的阐述.在"C# 添加Word页眉页脚.页码"一文中,介绍了添加简单页眉页脚的方法,该文中的方法可满足于大多数的页眉页脚添加要求,但是对于比较复杂一点的文档,对页眉页脚的添加要求比较严格的,如需要设置奇.偶页的页眉页脚不同.首页页眉页脚不同.设置页码时需要对不同章节的内容设置不同页码.对包含重要信息的页眉页脚需要设置编辑权限.相同性质的文档需要复制指定页眉页脚等等操作,则可以参考本文中的方法.?鉴于此,本文就以上操作要求分以下几个示例要点

word添加页眉脚和设置各页不同的页眉页脚.

添加页眉方法: 首选打开需要添加在页眉的文档,双击文档头部(也就是页眉处),进入页眉页脚编辑模式. 添加自已需要的页眉 翻到页脚处,添加页脚,页脚处我就只添加页码了,在页眉页脚编辑模式下,选择设计选项卡(此选项卡只有在页眉页脚处于编辑模式才会显示).然后选择页码----设置底端-----普通数字2 此时页眉页脚便添加成功了.页眉页脚的特性是设置后所有页面相同,页脚添加的页码是自增类型的,就是每增加一页会自动+1.页眉页脚设置成功后退出页眉页脚编辑模式可直接点击”设计”选项卡下的”关闭页眉页脚本”

使用C#在word中插入页眉页脚

//插入页脚 [csharp] view plaincopyprint? public void InsertFooter(string footer) { if (ActiveWindow.ActivePane.View.Type == WdViewType.wdNormalView || ActiveWindow.ActivePane.View.Type == WdViewType.wdOutlineView) { ActiveWindow.ActivePane.View.Type = Wd

Word 论文 页眉页脚

页眉 在每个章节最后一行添加分隔符(连续) 勾选奇偶页不同 (可选) 例如:保持奇数不变 在新的一章的第一个偶数页,取消选中链接到前一页页眉, 然后填写页眉内容 页脚 罗马数字 部分 设置页码 编辑这一章的第一页(前面设置页眉时勾选了奇偶页不同则是这一章的前两页)执行如下步骤 双击页脚, 点击页码 -> 设置页码格式 页面的设置编号格式, 勾选起始页码 本章后续部分 双击页脚, 点击页码 -> 设置页码格式 编辑设置编号格式, 勾选续前节 添加页码 双击页脚, 点击页码 -> 页面低端

C#操作word的一些基本方法(word打印,插入文件,插入图片,定位页眉页脚,去掉横线)

Microsoft.Office.Interop.Word.Application wordApp = new ApplicationClass() word对象 2. Microsoft.Office.Interop.Word.Document wordDoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing) 文档对象 3. Object Nothing = System.Reflection

使用jquery.layout.js构建页眉/页脚/左侧导航/中间展示内容的网页结构

背景: 快速将一个页面分成几个部分,在导航和页眉的位置放置公用的元素. 准备: jquery.layout.js 首先,向页面中引入如下js文件和css文件,代码: 1 <link href="~/Resource/Css/Site.css" rel="stylesheet" /> 2 <link href="~/Resource/Script/jquery.layout/jquery.layout.css" rel="

VB 替换word文档中页眉页脚的文字

查找资料,替换成功的只有替换页面内容的文字 Sub docs()Dim wordapp Set wordapp = CreateObject("Word.Application") With wordapp .documents.Open (ThisWorkbook.Path & "test.docx") .Visible = True .activedocument.content.Find.Execute FindText:=text1, Replace

Office WORD如何为每一页设置不同的页眉页脚

如下图所示,我想要为封面和目录,摘要等等设置不同的页眉页脚(一般封面和目录不需要页脚) ? 而从正文开始,套用相同的页眉和以页数作为页脚(注意"第一章 绪论"不是这个文档的第一页) ? 具体实现方法: 1 将光标定位到第一页(在第一页的任意位置都行),点击视图-页眉和页脚.然后输入页眉"封面".点击关闭按钮,这个页眉就做好了. ? 2 往下翻,发现每一页的页眉都是"封面".我的第二页是目录,所以要把页眉改成目录.首先光标定位到第一页的末尾,点击插

word页眉页脚设置

1.怎样插入页码? 析:比如想从第3页开始编页码,就把光标放在第3页的开头,单击 (1)页面布局---->分隔符---->分节符---->下一页. (2)然后在第3页的页脚处右键编辑,取消"链接到前一条页眉按钮,断开与前一节的联系:" 如图:点击就会取消链接. (3)然后选择页码格式里的,起始页码为1.如图: (4)最后:页码--页面底端--选择页码的样式即可. 2.如何设置奇偶页不同? 析:先是上面的(1)(2),然后点"奇偶页不同".再是(3)