【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文档

预览拼接地址

相关推荐
老家的回忆10 小时前
jsPDF和html2canvas生成pdf,组件用的elementplus,亲测30多页,20s实现
前端·vue.js·pdf·html2canvas·jspdf
Vertira10 小时前
pdf 合并 python实现(已解决)
前端·python·pdf
十一08299313 小时前
【PDF-XSS攻击】springboot项目-上传文件-解决PDF文件XSS攻击
spring boot·pdf·xss
qq_3938282213 小时前
PDF的图片文字识别工具
windows·pdf·电脑·软件需求·图片处理
RainSerein15 小时前
Laravel8中使用phpword生成word文档
word·php·laravel
qq_3938282218 小时前
办公文档批量打印器 Word、PPT、Excel、PDF、图片和文本,它都支持批量打印。
windows·word·powerpoint·excel·软件需求
wsxqaz18 小时前
浏览器原生控件上传PDF导致hash值不同
算法·pdf·哈希算法
工业3D_大熊10 天前
3D模式格式转换工具HOOPS Exchange如何将3D PDF转换为STEP格式?
3d·pdf·3d格式转换·3d模型格式转换·cad格式转换·cad数据格式转换·3d模型可视化
_oP_i10 天前
实现 “WebView2 获取word选中内容
开发语言·c#·word
IDRSolutions_CN11 天前
在 Java 中生成 PDF 缩略图(教程)
java·经验分享·pdf·软件工程·团队开发