java操作word、插入超链接到本地文件

使用工具:spire.doc.free

一、安装方法

1.spire.doc.free官网:https://www.e-iceblue.com/,JAVA----Free Spire.Doc for Java----download----Install from Maven Repository

 

 

 2.配置pom.xml

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencys>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc.free</artifactId>
        <version>2.7.3</version>
    </dependency>
</dependencys>

二、使用方法

word模板文件里面插入书签----读取模板文件----用spire提供的api替换标签----输出替换后的文件

1.普通文本可以直接替换

 //加载文档
Document doc = new Document();
doc.loadFromStream(".doc模板文件路径"), FileFormat.Docx_2013);
//获取书签
BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(doc);
bookmarksNavigator.moveToBookmark("title");
bookmarksNavigator.insertText("我是标题");

2.超链接替换

bookmarksNavigator.moveToBookmark("files");
Paragraph paragraph = new Paragraph(doc);
// 添加超链接
paragraph.appendHyperlink("链接url", "文件名(要添加链接的文字)", HyperlinkType.Web_Link);
// 换行
paragraph.appendBreak(BreakType.Line_Break);
// 添加超链接(多个链接一般用for循环从list中读取,添加到paragraph)
paragraph.appendHyperlink("链接url", "文件名(要添加链接的文字)", HyperlinkType.Web_Link);
TextBodyPart textBodyPart = new TextBodyPart(doc);
bookmarksNavigator.replaceBookmarkContent(textBodyPart);
textBodyPart.getBodyItems().add(paragraph);
bookmarksNavigator.replaceBookmarkContent(textBodyPart);

3.保存文档

// 保存到硬盘
doc.saveToFile("文件路径", FileFormat.Docx_2013);
// 二进制流的形式返回给前端
response.setContentType("application/binary;charset=UTF-8");
ServletOutputStream out = response.getOutputStream();
doc.saveToStream(out , FileFormat.Docx_2013);
out.flush();
out.close();
doc.dispose();

 

 

posted on 2020-07-11 10:15  从零开始2020  阅读(1428)  评论(0编辑  收藏  举报