【ow365】java对接使用第三方ow365预览pdf,word等office文档

ow365官网

文档在线预览 OfficeWeb365 速度更快的Office在线预览服务提供office在线预览及PDF在线预览服务,支持Word文档在线预览、Excel在线预览、PowerPoint在线预览、WPS等Office文件在线预览,支持所有浏览器及移动设备Mobile预览,无需安装ActiveX控件,无需客户端部署即可实现办公文档在线预览。https://officeweb365.com/

Java示例代码

java 复制代码
package com.htaiyun.utils;
import org.apache.commons.codec.binary.Base64;
import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;
import java.security.Key;
import java.security.spec.AlgorithmParameterSpec;

public class DESEncrypt {
    private static final byte[] DESkey = "12345678".getBytes();// 设置密钥,略去
    private static final byte[] DESIV = "87654321".getBytes() ;// 设置向量,略去
    //加密算法的参数接口,IvParameterSpec是它的一个实现
    static AlgorithmParameterSpec iv = null;
    private static Key key = null;

    public DESEncrypt() throws Exception {
        this(DESkey,DESIV);
    }

    public DESEncrypt(String DESkey,String DESIV) throws Exception {
        this(DESkey.getBytes(),DESIV.getBytes());
    }

    private DESEncrypt(byte[] DESkey,byte[] DESIV) throws Exception {
        // 设置密钥参数
        DESKeySpec keySpec = new DESKeySpec(DESkey);
        // 设置向量
        iv = new IvParameterSpec(DESIV);
        // 获得密钥工厂
        SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
        key = keyFactory.generateSecret(keySpec);// 得到密钥对象
    }
    /**
     * @param data
     * @return
     * @throws 加密
     */
    public  String encode(String data) throws Exception {
        // 得到加密对象Cipher
        Cipher enCipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
        // 设置工作模式为加密模式,给出密钥和向量
        enCipher.init(Cipher.ENCRYPT_MODE, key, iv);
        byte[] pasByte = enCipher.doFinal(data.getBytes("utf-8"));
        return Base64.encodeBase64String(pasByte).replaceAll("\\+", "_").replaceAll("\\/", "*").replaceAll("\\=", "-");
    }
    /**
     * @param data
     * @return
     * @throws 解密
     */
    public  String decode(String data) throws Exception {
        Cipher deCipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
        deCipher.init(Cipher.DECRYPT_MODE, key, iv);
        byte[] pasByte = deCipher.doFinal(Base64.decodeBase64(data.replaceAll("_", "+").replaceAll("*", "/").replaceAll("-", "=")));
        return new String(pasByte, "UTF-8");
    }

    public static void main(String[] args) throws Exception {
        DESEncrypt tools = new DESEncrypt();
        System.out.println("加密:" + tools.encode("http://192.168.1.2/a.doc"));
        System.out.println("解密:" + tools.decode(tools.encode("http://192.168.1.2/a.doc ")));
    }
}

添加绑定域名

获取密钥对和向量

开启文件地址加密

帮助文档和Java示例方法

帮助 OfficeWeb365 速度更快的Office在线预览服务

下载Java文档

预览拼接地址

相关推荐
缺点内向11 小时前
C#: 告别繁琐!轻松移除Word文档中的文本与图片水印
c#·自动化·word·.net
徐小夕@趣谈前端14 小时前
拒绝重复造轮子?我们偏偏花365天,用Vue3写了款AI协同的Word编辑器
人工智能·编辑器·word
kingwebo'sZone16 小时前
C#使用Aspose.Words把 word转成图片
前端·c#·word
科技D人生19 小时前
Vue.js 学习总结(20)—— Vue-Office 实战:word、pdf、excel、ppt 多种文档的在线预览
vue.js·word·vue-pdf·stylesheet·docx-preview·vue-office
Java面试题总结1 天前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf
傻啦嘿哟1 天前
Python操作PDF页面详解:删除指定页的完整方案
开发语言·python·pdf
weixin_416660072 天前
技术分析:豆包生成带公式文案导出Word乱码的底层机理
人工智能·word·豆包
骆驼爱记录2 天前
Word样式库不显示的8种修复方法
word·wps·新人首发
苍煜2 天前
超简单 poi-tl 学习博客:从0到1掌握Word生成(无需模板+模板填充)
学习·word
请为小H留灯2 天前
Word论文 封面、目录、页码设置步骤!(2026详细版教程)
毕业设计·word·论文格式