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

1. 网页链接

1.1 给文本添加网页链接

1.2 给图片添加网页链接

2. 添加文档链接

3. E-mail邮箱链接

 

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

Jar文件获取及导入:

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

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

Java代码示例(供参考)

  1. import com.spire.doc.*;
  2. import com.spire.doc.documents.*;
  3. import com.spire.doc.fields.DocPicture;
  4.  
  5. public class AddHyperlink {
  6. public static void main(String[]args){
  7. //创建文档
  8. Document doc = new Document();
  9. Section section = doc.addSection();
  10.  
  11. //给文字添加网页链接
  12. Paragraph paragraph = section.addParagraph();
  13. paragraph.appendText("网页链接:");
  14. paragraph.appendHyperlink("https://www.baidu.com/","HomePage", HyperlinkType.Web_Link);
  15.  
  16. //给图片添加网页超链接
  17. paragraph = section.addParagraph();
  18. paragraph.appendText("图片链接:");
  19. paragraph = section.addParagraph();
  20. DocPicture picture = paragraph.appendPicture("code.png");
  21. picture.setTextWrappingStyle(TextWrappingStyle.Inline);
  22. paragraph.appendHyperlink("https://baike.baidu.com/item/Java/85979?fr=aladdin",picture, HyperlinkType.Web_Link);
  23.  
  24. //添加邮箱链接
  25. paragraph = section.addParagraph();
  26. paragraph.appendText("邮箱链接:");
  27. paragraph.appendHyperlink("mailto:zzhuang@163.com","zzhuang@ 163.com", HyperlinkType.E_Mail_Link);
  28.  
  29. //添加文档链接
  30. paragraph = section.addParagraph();
  31. paragraph.appendText("文档链接:");
  32. String filePath = "C:\\Users\\Administrator\\Desktop\\测试文档\\sample.docx";
  33. paragraph.appendHyperlink(filePath,"点击查看原文档", HyperlinkType.File_Link);
  34.  
  35. //创建段落样式
  36. ParagraphStyle style1 = new ParagraphStyle(doc);
  37. style1.setName("style");
  38. style1.getCharacterFormat().setFontName("楷体");
  39. doc.getStyles().add(style1);
  40.  
  41. for (int i = 0; i < section.getParagraphs().getCount(); i++) {
  42. //将段落居中
  43. section.getParagraphs().get(i).getFormat().setHorizontalAlignment(HorizontalAlignment.Left);
  44. //段落末尾自动添加间隔
  45. section.getParagraphs().get(i).getFormat().setAfterAutoSpacing(true);
  46. //应用段落样式
  47. section.getParagraphs().get(i).applyStyle(style1.getName());
  48. }
  49.  
  50. //保存文档
  51. doc.saveToFile("AddHyperlinks.docx", FileFormat.Docx_2013);
  52. }
  53. }

超链接添加效果:

(本文完)

转载请注明出处!

Java 添加超链接到Word文档的更多相关文章

  1. Java 添加超链接到Excel文档

    超链接即内容链接,通过给特定对象设置超链接,可实现载体与特定网页.文件.邮件.网络等的链接,点击链接载体可打开链接目标,在文档处理中是一种比较常用的功能.本文将介绍通过Java程序给Excel文档添加 ...

  2. C# 插入超链接到PDF文档(3种情况)

    超链接可以实现不同元素之间的连接,用户可以通过点击被链接的元素来激活这些链接.具有高效.快捷.准确的特点.本文中,将分享通过C#编程在PDF文档中插入超链接的方法.内容包含以下要点: 插入网页链接 插 ...

  3. Java jacob调用打印机打印word文档

    前面说了Java如何生成复杂的Word文档,今年记录下Java如何调用打印机打印word文档. 起初用的是自带的PrintJob,但是系统提供的打印机制并不成熟完整.网上的代码也是千篇一律,在我的打印 ...

  4. Java 用Freemarker完美导出word文档(带图片)

    Java  用Freemarker完美导出word文档(带图片) 前言 最近在项目中,因客户要求,将页面内容(如合同协议)导出成word,在网上翻了好多,感觉太乱了,不过最后还是较好解决了这个问题. ...

  5. 微信公众号怎么添加附件?比如word文档,pdf文件等

    微信公众号怎么添加附件?比如word文档,pdf文件等   我们都知道创建一个微信公众号,在公众号中发布一些文章是非常简单的,但公众号添加附件下载的功能却被限制,如今可以使用小程序“微附件”进行在公众 ...

  6. Java 添加OLE对象到Excel文档

    本文介绍通过Java程序添加OLE对象到Excel文档.OLE分为两种形式,一种通过嵌入(Embed),方式,一种通过链接(Link)方式.前者是将对象嵌入到文档中,外部对该对象的更改不影响嵌入操作时 ...

  7. Java 读取txt文件生成Word文档

    本文将以Java程序代码为例介绍如何读取txt文件中的内容,生成Word文档.在编辑代码前,可参考如下代码环境进行配置: IntelliJ IDEA Free Spire.Doc for Java T ...

  8. 使用Java POI来选择提取Word文档中的表格信息

    通过使用Java POI来提取Word(1992)文档中的表格信息,其中POI支持不同的ms文档类型,在具体操作中需要注意.本文主要是通过POI来提取微软2003文档中的表格信息,具体code如下(事 ...

  9. Java导出freemarker实现下载word文档格式功能

    首先呢,先说一下制作freemarker模板步骤, 1. 在WPS上写出所要的下载的word格式当做模板 2. 把模板内不固定的内容(例:从数据库读取的信息)写成123或者好代替的文字标注 3. 把固 ...

随机推荐

  1. Linux-Ubuntu学习笔记

    因学习Python需求,特开此贴用于记录Linux-Ubuntu操作系统的学习笔记. Linux命令-基础版 Linux命令-高级版 此贴终结了,主要用于开发过程中忘记命令时使用.

  2. P1387 最大正方形 |动态规划

    题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入格式 输入文件第一行为两个整数n,m(1<=n,m<=100),接下来n行,每行m个数字,用空格隔 ...

  3. luogu P2824 [HEOI2016/TJOI2016]排序

    题目描述 在2016年,佳媛姐姐喜欢上了数字序列.因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题,需要你来帮助他.这个难题是这样子的:给出一个1到n的全排列,现在对这个全排列序列进行 ...

  4. [TimLinux] Python IDE工具

    1. 首推IDE工具PyCharm JetBrains公司推出的系列IDE工具中支持Python编译语言的开发工具,基本上可以认为是行业第一IDE工具了,分为社区版和专业版,可以创建纯Python单文 ...

  5. 洛谷 P2764(最小路径覆盖=节点数-最大匹配)

    给定有向图G=(V,E).设P 是G 的一个简单路(顶点不相交)的集合.如果V 中每个顶点恰好在P 的一条路上,则称P是G 的一个路径覆盖.P 中路径可以从V 的任何一个顶点开始,长度也是任意的,特别 ...

  6. (全国多校重现赛一)D Dying light

    LsF is visiting a local amusement park with his friends, and a mirror room successfully attracts his ...

  7. HDU-1027Ignatius and princess II

    Now our hero finds the door to the BEelzebub feng5166. He opens the door and finds feng5166 is about ...

  8. CodeForces1006D-Two Strings Swaps

    D. Two Strings Swaps time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  9. WY 2019 人工智能数学基础视频教程

    ├─01.第一阶段:AI数学基石 │ ├─01.第一章:线性代数 │ │ │ ]AI Math_[第1章]线性代数v2 .pdf │ │ │ │ │ └─视频 │ │ 01_本章概述.mp4 │ │ ...

  10. ef not in

    //not in linq var xx=(from c in measStateDetail where !((from d in breakInstr select d.InstrCode).Co ...