在 word 文档中添加、插入和删除页面对于管理和呈现内容至关重要。通过添加新页面,可以使文档结构更清晰,内容更有条理。插入页面可以在需要时分隔不同部分,突出重点或使内容更易阅读。删除页面则可以帮助简化文档,去除不必要的信息或错误内容。本文将介绍如何使用 spire.doc for .net 在 c# 项目中添加、插入和删除 word 文档中的页面。
安装 spire.doc for .net
首先,您需要将 spire.doc for.net 包含的 dll 文件作为引用添加到您的 .net 项目中。dll 文件可以从此链接下载,也可以通过 安装。
pm> install-package spire.doc
c# 在 word 文档中添加页面
在 word 文档末尾添加新页面的步骤是首先获取最后一个章节,然后在该章节的最后一个段落末尾插入一个分页符,这样做可以确保后续添加的内容会出现在新的页面上。以下是详细步骤:
- 创建一个 document 对象。
- 使用 document.loadfromfile() 方法加载示例 word 文档。
- 使用 document.lastsection.body 获取文档的最后一个节的正文部分。
- 通过调用 paragraph.appendbreak(breaktype.pagebreak) 方法添加一个分页符。
- 创建一个新的段落样式 paragraphstyle 对象。
- 使用 document.styles.add() 方法将新段落样式添加到文档样式集合中。
- 创建一个新的段落 paragraph 对象并设置文本内容。
- 使用 paragraph.applystyle(paragraphstyle.name) 方法应用之前创建的段落样式到新段落。
- 使用 body.childobjects.add(paragraph) 方法添加新段落到文档中。
- 使用 document.savetofile() 方法保存结果文档。
- c#
// 创建一个新的文档对象
document document = new document();
// 从文件加载示例文档
document.loadfromfile("示例.docx");
// 获取文档的最后一个章节的正文部分
body body = document.lastsection.body;
// 在正文最后一个段落后插入分页符
body.lastparagraph.appendbreak(breaktype.pagebreak);
// 创建一个新的段落样式
paragraphstyle paragraphstyle = new paragraphstyle(document);
paragraphstyle.name = "customparagraphstyle1";
paragraphstyle.paragraphformat.linespacing = 12;
paragraphstyle.paragraphformat.afterspacing = 8;
paragraphstyle.characterformat.fontname = "微软雅黑";
paragraphstyle.characterformat.fontsize = 12;
// 将段落样式添加到文档的样式集合中
document.styles.add(paragraphstyle);
// 创建新的段落并设置文本内容
paragraph paragraph = new paragraph(document);
paragraph.appendtext("非常感谢您使用我们的 spire.doc for .net 产品。试用版除了会在生成的结果文档中添加红色水印,而且仅支持转换前 10 页到其它格式。当您购买并应用 license 后,会成功移除这些水印信息并解除功能限制。");
// 应用段落样式
paragraph.applystyle(paragraphstyle.name);
// 将段落添加到正文的内容集合中
body.childobjects.add(paragraph);
// 创建另一个新的段落并设置文本内容
paragraph = new paragraph(document);
paragraph.appendtext("为了更完整的试用我们的产品,我们免费提供一个月临时 license 给我们的每一位客户。请发送邮件到 sales @e-iceblue.com 并在邮件内备注下面信息,我们会在一个工作日内将license发送给您。");
// 应用段落样式
paragraph.applystyle(paragraphstyle.name);
// 将段落添加到正文的内容集合中
body.childobjects.add(paragraph);
// 保存文档到指定路径
document.savetofile("添加一个页面.docx", fileformat.docx);
// 关闭文档
document.close();
// 释放文档对象的资源
document.dispose();
c# 在 word 文档中插入页面
在插入新页面之前,首先需要确定指定页面内容在节中的结束位置索引,然后在该位置之后逐个添加新页面的内容到文档中。最后,为了将内容与后续页面分隔开来,添加一个分页符是必要的。详细步骤如下:
- 创建一个 document 对象。
- 使用 document.loadfromfile() 方法加载示例 word 文档。
- 使用 document.lastsection.body 获取文档的最后一个节的正文部分。
- 通过调用 paragraph.appendbreak(breaktype.pagebreak) 方法添加一个分页符。
- 创建一个新的段落样式 paragraphstyle 对象。
- 使用 document.styles.add() 方法将新段落样式添加到文档样式集合中。
- 创建一个新的段落 paragraph 对象并设置文本内容。
- 使用 paragraph.applystyle(paragraphstyle.name) 方法应用之前创建的段落样式到新段落。
- 使用 body.childobjects.add(paragraph) 方法添加新段落到文档中。
- 使用 document.savetofile() 方法保存结果文档。
- c#
using spire.doc;
using spire.doc.pages;
using spire.doc.documents;
namespace spiredocdemo
{
internal class program
{
static void main(string[] args)
{
// 创建一个新的文档对象
document document = new document();
// 从文件加载示例文档
document.loadfromfile("示例.docx");
// 创建固定布局文档对象
fixedlayoutdocument layoutdoc = new fixedlayoutdocument(document);
// 获取第一页
fixedlayoutpage page = layoutdoc.pages[0];
// 获取文档正文部分
body body = page.section.body;
// 获取当前页第一列的最后一个段落
paragraph paragraphend = page.columns[0].lines[page.columns[0].lines.count - 1].paragraph;
// 初始化结束索引
int endindex = 0;
if (paragraphend != null)
{
// 获取最后一个段落的索引
endindex = body.childobjects.indexof(paragraphend);
}
// 创建一个新的段落样式
paragraphstyle paragraphstyle = new paragraphstyle(document);
paragraphstyle.name = "customparagraphstyle1";
paragraphstyle.paragraphformat.linespacing = 12;
paragraphstyle.paragraphformat.afterspacing = 8;
paragraphstyle.characterformat.fontname = "微软雅黑";
paragraphstyle.characterformat.fontsize = 12;
// 将段落样式添加到文档的样式集合中
document.styles.add(paragraphstyle);
// 创建新的段落并设置文本内容
paragraph paragraph = new paragraph(document);
paragraph.appendtext("非常感谢您使用我们的 spire.doc for .net 产品。试用版除了会在生成的结果文档中添加红色水印,而且仅支持转换前 10 页到其它格式。当您购买并应用 license 后,会成功移除这些水印信息并解除功能限制。");
// 应用段落样式
paragraph.applystyle(paragraphstyle.name);
// 在指定位置插入段落
body.childobjects.insert(endindex 1, paragraph);
// 创建另一个新的段落
paragraph = new paragraph(document);
paragraph.appendtext("为了更完整的试用我们的产品,我们免费提供一个月临时 license 给我们的每一位客户。请发送邮件到 sales @e-iceblue.com 并在邮件内备注下面信息,我们会在一个工作日内将license发送给您。");
// 应用段落样式
paragraph.applystyle(paragraphstyle.name);
// 添加分页符
paragraph.appendbreak(breaktype.pagebreak);
// 在指定位置插入段落
body.childobjects.insert(endindex 2, paragraph);
// 保存文档到指定路径
document.savetofile("在指定的页面后插入新的一页.docx", spire.doc.fileformat.docx);
// 关闭并释放原文档
document.close();
document.dispose();
}
}
}
c# 从 word 文档中删除页面
要删除一个页面的内容,首先需要确定该页面的起始元素和结束元素在文档中的索引位置,然后可以使用循环程序逐个移除这些元素,从而删除整个页面的内容。详细步骤如下:
- 创建一个 document 对象。
- 使用 document.loadfromfile() 方法加载示例 word 文档。
- 创建一个 fixedlayoutdocument 对象。
- 获取文档中的第一个页面 fixedlayoutpage 对象。
- 使用 fixedlayoutpage.section 属性获取页面所在的节。
- 获取页面第一个段落在节中的索引位置。
- 获取页面最后一个段落在节中的索引位置。
- 使用一个 for 循环逐个移除页面的内容。
- 使用 document.savetofile() 方法保存结果文档。
- c#
using spire.doc;
using spire.doc.pages;
using spire.doc.documents;
namespace spiredocdemo
{
internal class program
{
static void main(string[] args)
{
// 创建一个新的文档对象
document document = new document();
// 从文件加载示例文档
document.loadfromfile("示例.docx");
// 创建固定布局文档对象
fixedlayoutdocument layoutdoc = new fixedlayoutdocument(document);
// 获取第二页
fixedlayoutpage page = layoutdoc.pages[1];
// 获取页面的节
section section = page.section;
// 获取页面第一列的第一个段落
paragraph paragraphstart = page.columns[0].lines[0].paragraph;
int startindex = 0;
if (paragraphstart != null)
{
// 获取起始段落的索引
startindex = section.body.childobjects.indexof(paragraphstart);
}
// 获取页面第一列的最后一个段落
paragraph paragraphend = page.columns[0].lines[page.columns[0].lines.count - 1].paragraph;
int endindex = 0;
if (paragraphend != null)
{
// 获取结束段落的索引
endindex = section.body.childobjects.indexof(paragraphend);
}
// 删除指定范围内的段落
for (int i = 0; i <= (endindex - startindex); i )
{
section.body.childobjects.removeat(startindex);
}
// 保存文档到指定路径
document.savetofile("删除一个页面.docx", spire.doc.fileformat.docx);
// 关闭并释放原文档
document.close();
document.dispose();
}
}
}
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。