【已解决】 Java 如何给 word 文档中的已有的文本添加一个超链接
手上有一些 word 文档是纯文本的(如下图):
现在是想在这些纯文本中针对某些 关键词 进行 添加超链接 处理 (如下图):
然后我经过百度发现有个工具可以用、是这个 Spire.doc Java
但是我看了它有两种操作方式:
1、遍历文档的所有超链接、然后对这些 “超链接所携带的文本” 进行修改
//加载Word文档
Document doc = new Document();
doc.loadFromFile("test.docx");
//获取section
Section section = doc.getSections().get(0);
//创建超链接数组
List<Field> hyperlinks = new ArrayList<Field>();
//遍历段落及段落中的对象
for (Paragraph para : (Iterable<Paragraph>) section.getParagraphs()) {
for (DocumentObject obj:(Iterable<DocumentObject>) para.getChildObjects()) {
//找到超链接并将其添加至list中
if (obj.getDocumentObjectType().equals(DocumentObjectType.Field)) {
Field field = (Field) obj;
if (field.getType().equals(FieldType.Field_Hyperlink)) {
hyperlinks.add(field);
}
}
}
}
//修改第一个超链接的展示文本和链接地址
hyperlinks.get(0).setFieldText("新超链接文本");
hyperlinks.get(0).setCode("HYPERLINK \"http://www.baidu.com\"");
//保存文档
doc.saveToFile("ModifyHyperlink.docx", FileFormat.Docx_2013);
doc.dispose();
2、添加一段文本并携带超链接
//创建文档
Document doc = new Document();
Section section = doc.addSection();
//给文字添加网页链接
Paragraph paragraph = section.addParagraph();
paragraph.appendText("网页链接:");
paragraph.appendHyperlink("https://www.baidu.com/","HomePage", HyperlinkType.Web_Link);
//保存文档
doc.saveToFile("AddHyperlinks.docx", FileFormat.Docx_2013);
好像没有针对已有的文本进行添加超链接的操作、现在也是在翻百度中....
同学们有什么好的方法或思路吗,拜托啦
有没有就看库的使用文档
看看文档,这里既然可以增加,也就是差个位置了,如果能提供搜索文本的功能,然后进行替换也好,增加也行,找找有没有什么搜索相关的api
我最近用python做word,有个python-docx库也挺好用