Chinaunix首页 | 论坛 | 博客
  • 博客访问: 677285
  • 博文数量: 78
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 744
  • 用 户 组: 普通用户
  • 注册时间: 2017-10-27 10:00
  • 认证徽章:
文章分类

全部博文(78)

文章存档

2019年(24)

2018年(45)

2017年(9)

我的朋友

分类: C#/.net

2018-04-09 10:28:38

分页符是word中常用的一种分页的符号,它标志着上一页的结束和下一页的开始。在word中分页符有两种,一种是自动分页符,也叫软分页符,即一页数据写满以后转到下一页时word自动插入的一个分页符;另一种是手动分页符,也称为硬分页符,通常用于在指定位置强制分页。插入手动分页符可以方便打印,但很多时候手动分页符也会影响整个文档的排版问题,这时就需要移除分页符。其实有很多种方法可以实现在word中插入或删除手动分页符,就不一 一介绍了,这里主要分享一下如何使用Free Spire.Doc for .NET来完成这一功能(如果需要VB.NET代码可以去谷歌搜索C# to VB.NET转换就可以了)。
一、插入分页符
步骤1新建一个控制台项目并添加引用和命名空间

  1. using Spire.Doc;
  2. using Spire.Doc.Documents;
步骤2新建一个word文档对象并加载需要插入分页符的文档

  1. Document document = new Document();
  2. document.LoadFromFile(@"C:\Users\Administrator\Desktop\法国旅游景点介绍.docx");
步骤3在指定的位置添加分页符

  1. document.Sections[0].Paragraphs[1].AppendBreak(BreakType.PageBreak);
步骤4保存并重启文档

  1. document.SaveToFile("分页符.docx", FileFormat.Docx2010);
  2. System.Diagnostics.Process.Start("分页符.docx");

测试结果:
分页前:

分页后:


二、删除分页
步骤1与第一部分步骤2一样,新建一个word文档对象并加载待删除分页符的文档

  1. Document document = new Document();
  2. document.LoadFromFile("分页符.docx");
步骤2遍历文档中第一个section的所有段落,找到分页符并将其删除。

  1. for (int j = 0; j < document.Sections[0].Paragraphs.Count; j++)
  2.             {
  3.                 Paragraph p = document.Sections[0].Paragraphs[j];
  4.                 for (int i = 0; i < p.ChildObjects.Count; i++)
  5.                 {
  6.                     DocumentObject obj = p.ChildObjects[i];
  7.                     if (obj.DocumentObjectType == DocumentObjectType.Break)
  8.                     {
  9.                         Break b = obj as Break;
  10.                         p.ChildObjects.Remove(b);
  11.                     }
  12.                 }
  13.             }
步骤3保存并重启文档

  1. document.SaveToFile("移除分页符.docx", FileFormat.Docx2010);
  2. System.Diagnostics.Process.Start("移除分页符.docx");

整合后的全部代码操作:

  1. using Spire.Doc;
  2. using Spire.Doc.Documents;

  3. namespace insert_and_remove_page_break_in_word
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             Document document = new Document();
  10.             document.LoadFromFile(@"C:\Users\Administrator\Desktop\文件A.docx");

  11.             //在指定位置插入分页符
  12.             document.Sections[0].Paragraphs[1].AppendBreak(BreakType.PageBreak);

  13.             //移除分页符
  14.             /*for (int j = 0; j < document.Sections[0].Paragraphs.Count; j++)
  15.             {
  16.                 Paragraph p = document.Sections[0].Paragraphs[j];
  17.                 for (int i = 0; i < p.ChildObjects.Count; i++)
  18.                 {
  19.                     DocumentObject obj = p.ChildObjects[i];
  20.                     if (obj.DocumentObjectType == DocumentObjectType.Break)
  21.                     {
  22.                         Break b = obj as Break;
  23.                         p.ChildObjects.Remove(b);
  24.                     }
  25.                 }
  26.             }*/

  27.             document.SaveToFile("文件B.docx", FileFormat.Docx2010);
  28.             System.Diagnostics.Process.Start("文件B.docx");
  29.         }
  30.     }
  31. }

阅读(1142) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册