题注在文档中起到了多种重要的作用,包括提供背景信息、提高可读性、方便引用和索引,以及增加可信度和凯发线上登陆下载网址的版权保护。本文将介绍如何使 spire.doc for java 在 java 项目中添加和删除 word 文档中的题注。
安装 spire.doc for java
首先,您需要在 java 程序中添加 spire.doc.jar 文件作为依赖项。您可以从此链接下载 jar 文件;如果您使用 maven,则可以通过在 pom.xml 文件中添加以下代码导入 jar 文件。
com.e-iceblue
e-iceblue
https://repo.e-iceblue.cn/repository/maven-public/
e-iceblue
spire.doc
12.1.10
添加图片题注到 word 文档
通过调用 docpicture.addcaption(string name, captionnumberingformat format, captionposition captionposition) 方法来给图片添加题注。详细步骤如下:
- 创建一个 document 类的对象。
- 使用 document.addsection() 方法添加一个章节。
- 创建一个 paragraph 对象 pictureparagraphcaption 并将其添加到文档中的指定章节(section)。
- 使用 paragraph.appendpicture(string filepath) 方法向段落中添加 docpicture 图片对象 pic1。
- 通过 docpicture.addcaption(string name, captionnumberingformat format, captionposition captionposition) 方法来添加题注以 captionnumberingformat.number 数字方式进行编号。
- 使用 document.savetofile() 方法保存结果文档。
- java
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.docpicture;
public class addpicturecaption {
public static void main(string[] args) {
// 创建word文档对象
document document = new document();
// 添加一个章节
section section = document.addsection();
// 添加一个新段落并给它添加一个图片
paragraph pictureparagraphcaption = section.addparagraph();
pictureparagraphcaption.getformat().setafterspacing(10);
docpicture pic1 = pictureparagraphcaption.appendpicture("data\\1.png");
pic1.setheight(100);
pic1.setwidth(100);
// 给图片添加题注
captionnumberingformat format = captionnumberingformat.number;
pic1.addcaption("图片", format, captionposition.below_item);
// 再新添加一个新段落并给它添加一个图片
pictureparagraphcaption = section.addparagraph();
docpicture pic2 = pictureparagraphcaption.appendpicture("data\\2.png");
pic2.setheight(100);
pic2.setwidth(100);
// 给图片添加题注
pic2.addcaption("图片", format, captionposition.below_item);
// 更新文档中的所有的域
document.isupdatefields(true);
// 保存到一个docx文档
string result = "添加图片题注.docx";
document.savetofile(result, fileformat.docx_2016);
// 关闭document对象释放资源
document.close();
document.dispose();
}
}
添加表格题注到 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() 方法保存结果文档。
- java
import com.spire.doc.*;
public class addtablecaption {
public 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.below_item);
// 再新添加一个表格并给表格添加题注
tablecaption = section.addtable(true);
tablecaption.resetcells(2, 3);
tablecaption.addcaption("表格", captionnumberingformat.number, captionposition.below_item);
// 更新文档中的所有的域
document.isupdatefields(true);
// 保存到一个docx文档
string result = "添加表格题注.docx";
document.savetofile(result, fileformat.docx_2016);
// 关闭document对象释放资源
document.close();
document.dispose();
}
}
从 word 文档中删除题注
上面介绍了使用 spire.doc for java 添加题注,同样它也支持从 word 文档中删除题注。详细步骤如下:
- 创建 document 类的对象。
- 使用 document.loadfromfile() 方法加载一个 word 文档。
- 创建一个自定义方法 detectcaptionparagraph(paragraph paragraph) 来判断此段落是否包含题注。
- 循环遍历文档中所有的段落 paragraph 对象,并使用自定义方法 detectcaptionparagraph(paragraph paragraph) 找出包含题注的段落,将它们全部删除掉。
- 使用 document.savetofile() 方法保存结果文档。
- java
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.*;
public class deletecaptions {
public static void main(string[] args) {
// 创建word文档对象
document document = new document();
// 加载示例.docx文件
document.loadfromfile("data/示例.docx");
section section;
// 遍历所有节
for (int i = 0; i < document.getsections().getcount(); i ) {
section = document.getsections().get(i);
// 倒序遍历节中的段落
for (int j = section.getbody().getparagraphs().getcount() - 1; j >= 0; j--) {
// 检测段落是否为题注段落
if (detectcaptionparagraph(section.getbody().getparagraphs().get(j))){
// 如果是题注段落,则移除该段落
section.getbody().getparagraphs().removeat(j);
}
}
}
// 保存删除题注后的文档
string result = "删除题注.docx";
document.savetofile(result, fileformat.docx_2016);
// 关闭document对象释放资源
document.close();
document.dispose();
}
// 判断段落是否为题注段落的方法
static boolean detectcaptionparagraph(paragraph paragraph) {
boolean tag = false;
field field;
// 遍历段落中的子对象
for (int i = 0; i < paragraph.getchildobjects().getcount(); i ) {
if(paragraph.getchildobjects().get(i).getdocumentobjecttype().equals(documentobjecttype.field)) {
// 判断子对象是否为field类型
field = (field) paragraph.getchildobjects().get(i);
if (field.gettype().equals(fieldtype.field_sequence)){
// 判断field类型是否为fieldsequence,即题注域类型
return true;
}
}
}
return tag;
}
}
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。