【总结】前端JQuery获取Java后端文件流实现常规附件预览功能

项目背景

目前维护的项目是个远古的SpringMVC项目,前端使用的是JQuery和HTML,与Vue相比维护比较复杂,功能实现上没有那么丰富。在做附件预览的需求时,考虑不借助第三方预览服务,通过开源组件实现,需要借助以下服务依赖:
1)Java:引入aspose.words依赖(支持将word文档转换为pdf格式)
注意:需要引入license

1. Java后端处理附件

1.1 将word文档转换为pdf格式

1)在resource下新增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>

2)word转pdf工具类

/**
 * @program: Mickey
 * @description: pdf工具类
 **/
public class WordToPdfUtil {
   

    public static byte[] toPdfBytes(HttpServletRequest req, InputStream inputstream) throws IOException {
   
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        byte[] b = null;
        try {
   
            //认证aspose-word,否则转换的pdf会有水印
            if (!getWordLicense(req)) {
   
                return null;
            }
            LoadOptions options = new LoadOptions();
            options.setLoadFormat(LoadFormat.DOC);
            Document doc = new Document(inputstream, options);
            doc.save(bos, SaveFormat.PDF);
            b = bos.toByteArray();
        } catch (Exception e) {
   
            e.printStackTrace();
            throw new RuntimeException("word转换pdf出错!");
        } finally {
   
            bos.close
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值