为了账号安全,请及时绑定邮箱和手机立即绑定

Java 添加、修改Word超链接

标签:
Java

对特定元素添加超链接后,用户可以通过点击被链接的元素来激活这些链接,通常在被链接的元素下带有下划线或者以不同的颜色显示来进行区分。按照使用对象的不同,链接可以分为文本超链接,图像超链接,E-mail链接,锚点链接,多媒体文件链接,空链接等多种链接,本篇文章中将介绍在Word中添加以下几种常见超链接的方法,包括:

1. 网页链接

 1.1 给文本添加网页链接

 1.2 给图片添加网页链接

2. 添加文档链接

3. E-mail邮箱链接

如果需要修改Word文档中已有的超链接,也可以参考文中的方法。

 

使用工具:Free Spire.Doc for Java (免费版)

Jar文件获取及导入:

方法1官网获取jar文件包。下载并解压文件。解压后,将文件夹lib下的Spire.Doc.jar文件导入Java程序。如下:

https://img1.sycdn.imooc.com//5de091fd0001ff8d03550336.jpg

方法2通过maven仓库安装导入。

 

Java代码示例(供参考)

【示例1】添加Word超链接

 import com.spire.doc.*;
 import com.spire.doc.documents.*;
 import com.spire.doc.fields.DocPicture;
 
 public class AddHyperlink {
     public static void main(String[]args){
         //创建文档
         Document doc = new Document();
         Section section = doc.addSection();
 
         //给文字添加网页链接
         Paragraph paragraph = section.addParagraph();
         paragraph.appendText("网页链接:");
         paragraph.appendHyperlink("https://www.baidu.com/","HomePage", HyperlinkType.Web_Link);
 
         //给图片添加网页超链接
         paragraph = section.addParagraph();
         paragraph.appendText("图片链接:");
         paragraph = section.addParagraph();
         DocPicture picture = paragraph.appendPicture("code.png");
         picture.setTextWrappingStyle(TextWrappingStyle.Inline);
         paragraph.appendHyperlink("https://baike.baidu.com/item/Java/85979?fr=aladdin",picture, HyperlinkType.Web_Link);
 
         //添加邮箱链接
         paragraph = section.addParagraph();
         paragraph.appendText("邮箱链接:");
         paragraph.appendHyperlink("mailto:zzhuang@163.com","zzhuang@ 163.com", HyperlinkType.E_Mail_Link);
 
         //添加文档链接
         paragraph = section.addParagraph();
         paragraph.appendText("文档链接:");
         String filePath = "C:\\Users\\Administrator\\Desktop\\测试文档\\sample.docx";
         paragraph.appendHyperlink(filePath,"点击查看原文档", HyperlinkType.File_Link);
 
 
         //创建段落样式
         ParagraphStyle style1 = new ParagraphStyle(doc);
         style1.setName("style");
         style1.getCharacterFormat().setFontName("楷体");
         doc.getStyles().add(style1);
 
         for (int i = 0; i < section.getParagraphs().getCount(); i++) {
             //将段落居中
           section.getParagraphs().get(i).getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
             //段落末尾自动添加间隔
             section.getParagraphs().get(i).getFormat().setAfterAutoSpacing(true);
             //应用段落样式
             section.getParagraphs().get(i).applyStyle(style1.getName());
         }
 
         //保存文档
         doc.saveToFile("AddHyperlinks.docx", FileFormat.Docx_2013);
     }
 }

超链接添加效果:

https://img1.sycdn.imooc.com//5de0926b00016dc005540387.jpg

【示例2】修改Word中的超链接

 import com.spire.doc.*;
 import com.spire.doc.documents.*;
 import com.spire.doc.fields.Field;
 import com.spire.doc.Section;
 import java.util.ArrayList;
 import java.util.List;
 
 public class ModifyHyperlink {
     public static void main(String[] args) {
         //加载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();
     }
 }

超链接修改效果:

修改前:

https://img1.sycdn.imooc.com//5de092f20001f99c08980497.jpg

修改后:

https://img1.sycdn.imooc.com//5de0931f000168c108830495.jpg


(本文完)

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
9
获赞与收藏
48

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消