Java-Aspose实现Word文字替换(本地储存或浏览器下载)
目录
- 1、加载Aspose包
- 2、配置license
- 3、实现
1、加载Aspose包
1、下载:
Aspose官网没有提供相应的maven地址,所有手动引入jar包:
aspose-words-18.10-jdk16.jar
下载地址:https://download.csdn.net/download/zhuocailing3390/76147206
2、配置lib目录:
在项目的resources
目录下,创建lib
目录,并且将下载的jar包
放入其中
3、引入pom:
引入自定义配置的maven坐标:
<dependencys><dependency><groupId>com.aspose.words</groupId><artifactId>aspose-words</artifactId><version>words-18.10-jdk16</version><scope>system</scope><systemPath>${project.basedir}/src/main/resources/lib/aspose-words-18.10-jdk16.jar</systemPath></dependency></dependencys>
2、配置license
在resources
目录下创建license.xml
文件,代码如下:
<License><Data><Products><Product>Aspose.Total for Java</Product><Product>Aspose.Words for Java</Product></Products><EditionType>Enterprise</EditionType><SubscriptionExpiry>20991231</SubscriptionExpiry><LicenseExpiry>20991231</LicenseExpiry><SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber></Data><Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>
</License>
3、实现
代码:
@Controller
@RequestMapping("/aspose")
public class AsposeController {@RequestMapping("/replaceByString")@ResponseBodypublic static void replaceByString() {try {if (!getLicense()) {throw new RuntimeException("文件替换失败!");}FindReplaceOptions options = new FindReplaceOptions();options.setMatchCase(false);// 方式一:直接指定原word位置Document document = new Document("C:\\Users\\LiGezZ\\Desktop\\test.docx");/*方式二:*如果原word在项目的resources目录下,可以使用ClassPathResource进行加载String path = "/word/test.docx";FileInputStream inputStream = new FileInputStream(new ClassPathResource(path).getFile());Document document = new Document(inputStream);*/document.getRange().replace("${name}", "文件替换有限公司", options);// 存储方式一:将提交后的文件输出到指定目录,也可以直接在浏览器进行下载不进行本地储存File outFile = new File("C:\\Users\\LiGezZ\\Desktop\\testReplace.docx");try (FileOutputStream fos = new FileOutputStream(outFile )) {// 输出方式一:输出为worddocument.save(fos, SaveFormat.WORD_ML);// 输出方式二:输出为PDF,需要将输出文件的后缀修改为.pdf,比如:testReplace.pdf// document.save(fos, SaveFormat.PDF);/* 存储方式二:* 如果是输出到浏览器直接下载* 那么将FileOutputStream fos = new FileOutputStream(pdfFile)替换为* ByteArrayOutputStream fos = new ByteArrayOutputStream()response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));byte[] buffer = fos.toByteArray();InputStream arrayInputStream = new ByteArrayInputStream(buffer);byte[] buf = new byte[4096];int len = -1;while ((len = arrayInputStream.read(buf)) != -1) {response.getOutputStream().write(buf, 0, len);}*/}} catch (Exception e) {e.printStackTrace();throw new RuntimeException("文件替换失败!");}}// 验证aspose文件private static boolean getLicense() {boolean result = false;try (InputStream in = Doc2PdfUtil.class.getClassLoader().getResourceAsStream("license.xml")) {// 需要引入com.aspose.words.License的包;License license = new License();license.setLicense(in);result = true;} catch (Exception e) {e.printStackTrace();}return result;}
}
测试:
比如浏览器请求接口:http://localhost:9898/aspose/replaceByString
Java-Aspose实现Word文字替换(本地储存或浏览器下载)相关推荐
- java word格式 导出图表和表格 浏览器下载 支持生成扇形图,条形图等
1.导入依赖 环境 依赖 Apache的POI.FreeMarker和XDocreport xchart <dependency><groupId>fr.opensagres. ...
- java aspose 统计word文档正文页码总数
LayoutCollector 布局收集器 方法:getEndPageIndex(Node node) //获取当前节点所在页码 //统计正文总页码 //真实页码数 int realPa ...
- java 使用POI导出复杂excel表格,通过浏览器下载
pom.xml依赖 <!--POI Excel表格导出依赖--> <dependency><groupId>org.apache.poi</groupId&g ...
- java Aspose.Words实现Word生成表格并下载至本地
一.Maven加入Aspose.Words依赖 <dependency><groupId>com.aspose</groupId><artifactId> ...
- Java项目在Linux环境使用aspose把word转pdf乱码问题
Java项目在Linux环境使用aspose把word转pdf乱码问题 一.问题 在项目中有word转pdf并展示的功能,在本地的windows环境下没有问题.但是放在Linux中部署运行,生成的pd ...
- java openxml 操作 word,(三)、JAVA基于OPENXML的word文档插入、合并、替换操作系列之html转word...
(三).JAVA基于OPENXML的word文档插入.合并.替换操作系列之html转word 系列笔记传送门 富文本转word文档 准备待转换内容 内容清理与格式化 转换成word文档 输出结果展示 ...
- java poi实现Word生成表格并下载至本地
首先我来讲一下需要用到的类: XWPFDocument代表一个docx文档,其可以用来读docx文档,也可以用来写docx文档 XWPFParagraph代表文档.表格.标题等种的段落,由多个XWPF ...
- java word转pdf,docx4j转pdf,docx4j导出pdf乱码,docx4j导出pdf丢失插画和图片,aspose将word转pdf 一共两种方法
前言:一共有docx4j转pdf,aspose转pdf两种方式,不需要设置模板!!! java转pdf目前本人使用有两种方法,下面是方法代码 ps:因为本人是云桌面开发,所以只作截图,具体代码需要自己 ...
- Word处理控件Aspose.Words功能演示:使用Java合并MS Word文档
在各种情况下,可能需要合并多个MS Word文档,例如减少文档数量,在单个文件中保留相似种类的内容(即发票)等.许多在线应用程序使您可以合并两个或多个MS Word文档但是,您可能需要在自己的Web或 ...
- java中实现word(doc、docx)中完美提取文字、表格为结构化数据
java poi word文字表格结构化抽取 目的 好处 概述及依赖 开始 抽取 核心思想: 常量定义 结构化javabean类: WordTableCell类: WordTable类: WordCo ...
最新文章
- 技术图文:如何利用BigOne的API制作自动化交易系统 -- 获取账户资产
- Altium Designer Bottom Solder层的作用
- java logfaction_Java调试的变迁:从System.out.println到log4j
- 20万数据 sql 快还是 java快?_H2数据库学习(一)
- 在JavaScript中以日期/月/年格式获取当前日期
- java创建两个foo方法_Java类实例化原理 - osc_foo7glsg的个人空间 - OSCHINA - 中文开源技术交流社区...
- Kali Linux 秘籍 第四章 信息收集
- linux集群组建和管理,Redis集群搭建与管理
- 三步搞定android应用底部导航栏
- 三十五岁后,就不能做软件测试了?
- 江苏大学矩阵论、数理统计期末考试复习
- 最新回归算法理解、实现及应用(1)线性回归
- FFmpeg获取H264文件的帧率
- echarts字体大小自适应
- cannot find zipfile directory
- 商用清洁机器人:科沃斯“破圈”、高仙机器人“纵深”
- C语言计算5+55+555+5555+55555
- 苹果平板id怎么注册_怎么做成苹果笔记?苹果平板怎么做笔记? - 敬业签便签...
- 改进YOLOv8 | 即插即用篇 | 全维动态卷积 |《 OMNI-DIMENSIONAL DYNAMIC CONVOLUTION》
- Windows Media Player 修复