C# 插入或删除word分页符
C# 插入或删除word分页符
分页符是word中常用的一种分页的符号,它标志着上一页的结束和下一页的开始。在word中分页符有两种,一种是自动分页符,也叫软分页符,即一页数据写满以后转到下一页时word自动插入的一个分页符;另一种是手动分页符,也称为硬分页符,通常用于在指定位置强制分页。插入手动分页符可以方便打印,但很多时候手动分页符也会影响整个文档的排版问题,这时就需要移除分页符。其实有很多种方法可以实现在word中插入或删除手动分页符,就不一 一介绍了,这里主要分享一下如何使用C#来完成这一功能(如果需要VB.NET代码可以去谷歌搜索C# to VB.NET转换就可以了)。
第一部分:插入分页符
步骤1:新建一个控制台项目并添加引用和命名空间
using Spire.Doc;
using Spire.Doc.Documents;
步骤2:新建一个word文档对象并加载需要插入分页符的文档
Document document = new Document();
document.LoadFromFile(@"C:\Users\Administrator\Desktop\法国旅游景点介绍.docx");
步骤3:在指定的位置添加分页符
document.Sections[0].Paragraphs[1].AppendBreak(BreakType.PageBreak);
步骤4:保存并重启文档
document.SaveToFile("分页符.docx", FileFormat.Docx2010);
System.Diagnostics.Process.Start("分页符.docx");
原文档截图:

与效果图对比:
这里我将输出的word文档视图改为双页视图方便对比。

第二部分:删除分页符
步骤1:与第一部分步骤2一样,新建一个word文档对象并加载待删除分页符的文档
Document document = new Document();
document.LoadFromFile("分页符.docx");
步骤2:遍历文档中第一个section的所有段落,找到分页符并将其删除。
for (int j = 0; j < document.Sections[0].Paragraphs.Count; j++)
{
Paragraph p = document.Sections[0].Paragraphs[j];
for (int i = 0; i < p.ChildObjects.Count; i++)
{
DocumentObject obj = p.ChildObjects[i];
if (obj.DocumentObjectType == DocumentObjectType.Break)
{
Break b = obj as Break;
p.ChildObjects.Remove(b);
}
}
}
步骤3:保存并重启文档
document.SaveToFile("移除分页符.docx", FileFormat.Docx2010);
System.Diagnostics.Process.Start("移除分页符.docx");
全部代码整合参考:
using Spire.Doc;
using Spire.Doc.Documents; namespace insert_and_remove_page_break_in_word
{
class Program
{
static void Main(string[] args)
{
Document document = new Document();
document.LoadFromFile(@"C:\Users\Administrator\Desktop\文件A.docx"); //在指定位置插入分页符
document.Sections[0].Paragraphs[1].AppendBreak(BreakType.PageBreak); //移除分页符
/*for (int j = 0; j < document.Sections[0].Paragraphs.Count; j++)
{
Paragraph p = document.Sections[0].Paragraphs[j];
for (int i = 0; i < p.ChildObjects.Count; i++)
{
DocumentObject obj = p.ChildObjects[i];
if (obj.DocumentObjectType == DocumentObjectType.Break)
{
Break b = obj as Break;
p.ChildObjects.Remove(b);
}
}
}*/ document.SaveToFile("文件B.docx", FileFormat.Docx2010);
System.Diagnostics.Process.Start("文件B.docx");
}
}
}
总结:
在这个方案中我使用了E-iceblue公司的免费Word控件,它方便易用,而且运行不依赖office,同时还支持其它功能如新建、阅读、编辑及转换等。使用时需要注意的是免费版有一定的限制,但我觉得一般情况下个人使用已经足够了。供有需要的朋友参考。
C# 插入或删除word分页符的更多相关文章
- Word 分页符怎么使用
当一页内容输入完之后,还留有很多空白区域没有填写,一直按回车键跳转到下一页显得复杂,并且回车键经过的地方都是段落. 可以手动添加分页符,使当前页跳转到下一页. 也可以使用快捷键Ctrl + Enter ...
- WORD学习之插入分页符
我们在用Word编辑文档时,不可避免的需要对文档进行页面布局,才能使得文档看起来更加美观.有时候会使用到分页符,下面就简单介绍一下分页符 分页符 主要作用: 1.若要把两段分开在两页显示时,把光标定位 ...
- 技巧分享:解决Word 2010当中“分页符”造成的空白行
技巧分享:解决Word 2010当中“分页符”造成的空白行 P1:关于“分页符” 在Word当中插入“分页符”之后,后面的内容就会“更起一段”.就好像“换行符”(回车)会让后面的内容“另起一行”一样. ...
- C#操作Word文档(加密、解密、对应书签插入分页符)
原文:C#操作Word文档(加密.解密.对应书签插入分页符) 最近做一个项目,客户要求对已经生成好的RTF文件中的内容进行分页显示,由于之前对这方面没有什么了解,后来在网上也找了相关的资料,并结合自己 ...
- 导出word功能,用html代码在word中插入分页符
<span lang=EN-US style="font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:" mce_st ...
- Java 在Word指定段落/文本位置插入分页符
在Word插入分页符可以在指定段落后插入,也可以在特定文本位置处插入.本文,将以Java代码来操作以上两种文档分页需求.下面是详细方法及步骤. [程序环境] 在程序中导入jar,如下两种方法: 方法1 ...
- C#/VB.NET 在Word文档中插入分页符
分页符是分页的一种符号,上一页结束以及下一页开始的位置.通查用于在指定位置强制分页.本文将分为两部分来介绍如何在Word文档中插入分页符.并附上C#/VB.NET以供参考,详情请阅读以下内容. 在特定 ...
- 【word xml】将word转化为xml格式后,如何在xml中卫word添加分页符
1.首先在xml中找到我们需要添加分页符的位置 例如:我需要在这个第一部分上面添加一个分页符 2.找到这个[第一部分]这个位置之后,开始往上找,找到对应的位置 3.在</w:pPr>下方添 ...
- word域代码判断奇偶插入分页符
阿拉伯数字页码判断奇偶插入分页符(PAGE表示当前页码,QUOTE 12表示插入分页符) {IF{=MOD({PAGE},2)} = 1 "{ QUOTE 12}" " ...
随机推荐
- [转]关于SVN的操作批处理示例
为了一句话:不要动手做机器能够做的事情. 天天工作用svn,更新啥的打开目录啥的动作天天在重复.每次写些命令也蛮无聊的,不说了,看下面: @echo off rem 显示部分 @echo 注 意 事 ...
- 在线Spirte图定位工具,自动生成CSS
发现一个在线雪碧图中的图片地位的工具,并且能够自动生成css.spritecow 废话不多说,有图有真相:
- PHP基础面试题
1.PHP的意思? 答:PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页 2.谈谈asp,php,jsp的优缺点? 答:ASP全名Active Server Pag ...
- C代码实现数组
直接上代码,没有什么说的 # include <stdio.h> # include <malloc.h> # include <stdlib.h> //用C实现数 ...
- Xamarin的不归路-使用Gorilla Player实时预览XAML
搞了一天,才安装好,记录一下遇到的坑,为大家节约些时间. 一.下载软件 软件下载地址:http://gorillaplayer.com/ 没有FQ前用360极速浏览器和迅雷下载了好多次都失败了.用了蓝 ...
- STL之关联容器
关联容器包含map.set.multimap.multiset. 关联容器的特点是明显的,相对于顺序容器,有如下特点: 1.其内部是采用非线性的二叉树结构,具体的说是红黑树的结构原理实现的. 2.se ...
- ecma6 yield
function * generator(k){ console.log('begin'); var x = yield k; console.log('x:',x); var y = yield x ...
- winform设置文本框宽度 根据文字数量和字体返回宽度
_LinkLabel.Width = TextRenderer.MeasureText(_LinkLabel.Text, _LinkLabel.Font).Width;
- IIS Community Newsletter June 2013
Announcements Windows 2012 Server R2 preview released Windows Server 2012 R2 provides a wide range o ...
- ABP理论学习之领域服务
返回总目录 本篇目录 介绍 IDomainService接口和DomainService类 样例 创建一个接口 服务实现 调用应用服务 一些讨论 何不只使用应用服务 如何强制使用领域服务 介绍 领域服 ...