C#如何处理Word文档分页——插入、删除、阻止分页-创新互联
本篇文章将介绍C#编程如何来处理Word分页的方法。操作Word中的分页这里分为几种情况的来介绍:
创新互联专注于企业营销型网站建设、网站重做改版、滨州网站定制设计、自适应品牌网站建设、H5开发、商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为滨州等各大城市提供网站开发制作服务。- 插入分页
1.1在指定段落末尾插入分页
1.2 在指定字符后插入分页 - 删除分页
3.阻止表格分页
处理工具:Spire.Doc for .NET 6.1
安装该类库后,在程序中引用Spire.Doc.dll文件即可(如下图),dll文件在安装路径下Bin文件夹中获取。
【示例1】插入分页(在指定段落末尾插入分页)
【C#】
using Spire.Doc;
using Spire.Doc.Documents;
namespace InsertPageBreak_Doc
{
class Program
{
static void Main(string[] args)
{
//创建实例,加载文件
Document document = new Document();
document.LoadFromFile("test.docx");
//在指定段落末尾,插入分页
document.Sections[0].Paragraphs[1].AppendBreak(BreakType.PageBreak);
//保存文件并打开
document.SaveToFile("PageBreak.docx", FileFormat.Docx2010);
System.Diagnostics.Process.Start("PageBreak.docx");
}
}
}
调试运行程序,生成文档。
分页前后效果对比添:
分页前
分页后
【示例2】插入分页(在指定字符后插入分页)
C#
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
namespace InsertPagebreak1_Doc
{
class Program
{
static void Main(string[] args)
{
//创建实例,加载文件
Document doc = new Document();
doc.LoadFromFile("test.docx");
//查找需要在其后插入分页的字符
TextSelection[] selections = doc.FindAllString("guests", true, true);
//遍历文档,插入分页
foreach (TextSelection ts in selections)
{
TextRange range = ts.GetAsOneRange();
Paragraph paragraph = range.OwnerParagraph;
int index = paragraph.ChildObjects.IndexOf(range);
Break pageBreak = new Break(doc, BreakType.PageBreak);
paragraph.ChildObjects.Insert(index + 1, pageBreak);
}
//保存并打开文档
doc.SaveToFile("Break.docx", FileFormat.Docx);
System.Diagnostics.Process.Start("Break.docx");
}
}
}
测试结果:
【示例3】删除分页
C#
using Spire.Doc;
using Spire.Doc.Documents;
namespace RemovePagebreak_Doc
{
class Program
{
static void Main(string[] args)
{
{
//实例化Document类,加载文件
Document document = new Document();
document.LoadFromFile("sample.docx", FileFormat.Docx);
//遍历第一节中的所有段落,移除分页
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("result.docx", FileFormat.Docx);
System.Diagnostics.Process.Start("result.docx");
}
}
}
}
测试效果对比:
原文档:
删除分页后:
【示例4】阻止Word表格分页
测试文件如下:
方法一:将跨页的表格重新定位放置在同一个页面上
C#
using Spire.Doc;
using Spire.Doc.Documents;
namespace PreventPagebreak_Table__Doc
{
class Program
{
static void Main(string[] args)
{
//创建Document类实例,加载文档
Document doc = new Document("test.docx");
//获取表格
Table table = doc.Sections[0].Tables[0] as Table;
//设置表格的段落位置,保持表格在同一页
foreach (TableRow row in table.Rows)
{
foreach (TableCell cell in row.Cells)
{
foreach (Paragraph p in cell.Paragraphs)
{
p.Format.KeepFollow = true;
}
}
}
//保存文件并打开
doc.SaveToFile("result.docx", FileFormat.Docx2010);
System.Diagnostics.Process.Start("result.docx");
}
}
}
测试效果:
方法二:阻止同一行数据被强制分页
C#
using Spire.Doc;
using Spire.Doc.Documents;
namespace PreventPagebreak_Table__Doc
{
class Program
{
static void Main(string[] args)
{
//创建实例,加载文件
Document doc = new Document("test.docx");
//获取指定表格
Table table = doc.Sections[0].Tables[0] as Table;
//设置表格分页属性
table.TableFormat.IsBreakAcrossPages = false;
//保存并打开文件
doc.SaveToFile("output.docx", FileFormat.Docx2010);
System.Diagnostics.Process.Start("output.docx");
}
}
}
测试效果:
以上全部是本次关于如何操作Word中的分页符的方法。如需转载,请注明出处。
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
文章标题:C#如何处理Word文档分页——插入、删除、阻止分页-创新互联
标题网址:http://cdiso.cn/article/doedop.html