题注在 word 文档中是提高可理解性和组织结构的重要元素。它提供对图片、表格等内容的解释和补充信息,增强文档的可读性和清晰度。题注还用于强调重点和关键信息,方便引用和索引特定内容。通过合理使用题注,读者能更好地理解和解读文档中的数据和图像,并能快速定位所需信息。本文将介绍如何使 spire.doc for .net 在 c# 项目中添加和删除 word 文档中的题注。
安装 spire.doc for .net
首先,您需要将 spire.doc for.net 包含的 dll 文件作为引用添加到您的 .net项目中。dll 文件可以从此链接下载,也可以通过 安装。
pm> install-package spire.doc
添加图片题注到 word 文档
实现向 word 文档中的图片添加题注,即创建段落、添加图片内容,以及调用 docpicture.addcaption(string name, captionnumberingformat format, captionposition captionposition) 方法来生成题注的编号。详细步骤如下:
- 创建一个 document 类的对象。
- 使用 document.addsection() 方法添加一个章节。
- 创建一个 paragraph 对象 pictureparagraphcaption 并将其添加到文档中的指定章节(section)。
- 使用 paragraph.appendpicture(image image) 方法向段落中添加 docpicture 图片对象 pic1。
- 通过 docpicture.addcaption(string name, captionnumberingformat format, captionposition captionposition) 方法来添加题注以 captionnumberingformat.number 数字方式进行编号。
- 使用 document.savetofile() 方法保存结果文档。
- c#
using spire.doc;
using spire.doc.documents;
using spire.doc.fields;
using system.drawing;
namespace addpicturecaption
{
internal class program
{
static void main(string[] args)
{
// 创建word文档对象
document document = new document();
// 添加一个章节
section section = document.addsection();
// 添加一个新段落并给它添加一个图片
paragraph pictureparagraphcaption = section.addparagraph();
pictureparagraphcaption.format.afterspacing = 10;
docpicture pic1 = pictureparagraphcaption.appendpicture(image.fromfile("data\\1.png"));
pic1.height = 100;
pic1.width = 100;
// 给图片添加题注
captionnumberingformat format = captionnumberingformat.number;
pic1.addcaption("图片", format, captionposition.belowitem);
// 再新添加一个新段落并给它添加一个图片
pictureparagraphcaption = section.addparagraph();
docpicture pic2 = pictureparagraphcaption.appendpicture(image.fromfile("data\\2.png"));
pic2.height = 100;
pic2.width = 100;
// 给图片添加题注
pic2.addcaption("图片", format, captionposition.belowitem);
// 更新文档中的所有的域
document.isupdatefields = true;
// 保存到一个docx文档
string result = "添加图片题注.docx";
document.savetofile(result, spire.doc.fileformat.docx2016);
// 关闭document对象释放资源
document.close();
document.dispose();
}
}
}
添加表格题注到 word 文档
实现向 word 文档中的表格添加题注,即创建表格,调用 table.addcaption(string name, captionnumberingformat format, captionposition captionposition) 方法来生成题注的编号。详细步骤如下:
- 创建一个 document 类的对象。
- 使用 document.addsection() 方法添加一个章节。
- 创建一个 table 对象 tablecaption 并将其添加到文档中的指定章节(section)。
- 使用 table.resetcells(int rowsnum, int columnsnum) 方法来设置表格的行数和列数。
- 通过 table.addcaption(string name, captionnumberingformat format, captionposition captionposition) 方法来添加题注以 captionnumberingformat.number 数字方式进行编号。
- 使用 document.savetofile() 方法保存结果文档。
- c#
using spire.doc;
namespace addtablecation
{
internal class program
{
static void main(string[] args)
{
// 创建word文档对象
document document = new document();
// 添加一个章节
section section = document.addsection();
// 添加一个表格
table tablecaption = section.addtable(true);
tablecaption.resetcells(3, 2);
// 给表格添加题注
tablecaption.addcaption("表格", captionnumberingformat.number, captionposition.belowitem);
// 再新添加一个表格并给表格添加题注
tablecaption = section.addtable(true);
tablecaption.resetcells(2, 3);
tablecaption.addcaption("表格", captionnumberingformat.number, captionposition.belowitem);
// 更新文档中的所有的域
document.isupdatefields = true;
// 保存到一个docx文档
string result = "添加表格题注.docx";
document.savetofile(result, spire.doc.fileformat.docx2016);
// 关闭document对象释放资源
document.close();
document.dispose();
}
}
}
从 word 文档中删除题注
spire.doc for .net 还可以实现从存在题注的 word 文档中将题注进行删除。详细步骤如下:
- 创建 document 类的对象。
- 使用 document.loadfromfile() 方法加载一个 word 文档。
- 创建一个自定义方法 detectcaptionparagraph(paragraph paragraph) 来判断此段落是否包含题注。
- 循环遍历文档中所有的段落 paragraph 对象,并使用自定义方法 detectcaptionparagraph(paragraph paragraph) 找出包含题注的段落,将它们全部删除掉。
- 使用 document.savetofile() 方法保存结果文档。
- c#
using spire.doc;
using spire.doc.documents;
using spire.doc.fields;
namespace deletecaptions
{
internal class program1
{
static void main(string[] args)
{
// 创建word文档对象
document document = new document();
// 加载示例.docx文件
document.loadfromfile("data/示例.docx");
section section;
// 遍历所有节
for (int i = 0; i < document.sections.count; i )
{
section = document.sections[i];
// 倒序遍历节中的段落
for (int j = section.body.paragraphs.count - 1; j >= 0; j--)
{
// 检测段落是否为题注段落
if (detectcaptionparagraph(section.body.paragraphs[j]))
{
// 如果是题注段落,则移除该段落
section.body.paragraphs.removeat(j);
}
}
}
// 保存删除题注后的文档
string result = "删除题注.docx";
document.savetofile(result, spire.doc.fileformat.docx2016);
// 关闭document对象释放资源
document.close();
document.dispose();
}
// 判断段落是否为题注段落的方法
static bool detectcaptionparagraph(paragraph paragraph)
{
bool tag = false;
field field;
// 遍历段落中的子对象
for (int i = 0; i < paragraph.childobjects.count; i )
{
if (paragraph.childobjects[i].documentobjecttype == documentobjecttype.field)
{
// 判断子对象是否为field类型
field = (field)paragraph.childobjects[i];
if (field.type == fieldtype.fieldsequence)
{
// 判断field类型是否为fieldsequence,即题注域类型
return true;
}
}
}
return tag;
}
}
}
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。