题注是指对象下方(或上方)的一行简短文字,用于描述该对象。在word中使用题注功能可以保证文档中图片、表格或图表等项目能够有序地自动编号。如果移动、插入或删除带题注的项目时,word 可以自动更新。本文将详细介绍如何使用spire.doc来添加和删除题注。
添加题注
代码如下:
c#
//实例化document对象
document document = new document();
//添加一个section
section s = document.addsection();
//添加一个段落并在其中添加图片
paragraph par1 = s.addparagraph();
par1.format.afterspacing = 10;
docpicture pic1 = par1.appendpicture(image.fromfile(@"logo1.png"));
pic1.height = 100;
pic1.width = 120;
//在图片上添加题注
captionnumberingformat format = captionnumberingformat.number;
pic1.addcaption("spire.doc logo_插 图", format, captionposition.afterimage);
//另加一个段落进行同样的操作
paragraph par2 = s.addparagraph();
docpicture pic2 = par2.appendpicture(image.fromfile(@"logo2.png"));
pic2.height = 100;
pic2.width = 120;
pic2.addcaption("spire.doc logo_插 图", format, captionposition.afterimage);
//更新域并保存文档
document.isupdatefields = true;
document.savetofile("caption.docx", fileformat.docx);
vb.net
'实例化document对象
dim document as document = new document
'添加一个section
dim s as section = document.addsection
'添加一个段落并在其中添加图片
dim par1 as paragraph = s.addparagraph
par1.format.afterspacing = 10
dim pic1 as docpicture = par1.appendpicture(image.fromfile("logo1.png"))
pic1.height = 100
pic1.width = 120
'在图片上添加题注
dim format as captionnumberingformat = captionnumberingformat.number
pic1.addcaption("spire.doc logo_插 图", format, captionposition.afterimage)
'另加一个段落进行同样的操作
dim par2 as paragraph = s.addparagraph
dim pic2 as docpicture = par2.appendpicture(image.fromfile("logo2.png"))
pic2.height = 100
pic2.width = 120
pic2.addcaption("spire.doc logo_插 图", format, captionposition.afterimage)
'更新域并保存文档
document.isupdatefields = true
document.savetofile("caption.docx", fileformat.docx)
结果如图:
删除题注
代码如下:
c#
//加载刚才的结果文档
document doc = new document();
doc.loadfromfile("caption.docx");
//查找然后获取第一个题注
textselection[] slcs = doc.findallstring("spire.doc logo_插 图", true, true);
textrange tr=slcs[0].getasonerange();
paragraph para= tr.ownerparagraph;
//删除其所在的段落
doc.sections[0].paragraphs.remove(para);
//更新域, 发现第二张插图的序号现在更新为1了
doc.isupdatefields = true;
doc.savetofile("deletecaption.docx",fileformat.docx2010);
vb.net
'加载刚才的结果文档
dim doc as document = new document
doc.loadfromfile("caption.docx")
'查找然后获取第一个题注
dim slcs() as textselection = doc.findallstring("spire.doc logo_插 图", true, true)
dim tr as textrange = slcs(0).getasonerange
dim para as paragraph = tr.ownerparagraph
'删除其所在的段落
doc.sections(0).paragraphs.remove(para)
'更新域, 发现第二张插图的序号现在更新为1了
doc.isupdatefields = true
doc.savetofile("deletecaption.docx", fileformat.docx2010)
结果如图: