java处理ppt方案详解
需求
需要系统中展示的ppt案例有一个动态展示的效果,也就是要有动画的交互,要求支持浏览器直接打开预览
背景
目前已经实现了前端上传pptx文件,后端解析为png的图片,前端掉接口返回对应的图片,模拟播放ppt的效果
各种尝试实践
1、服务器直接存储pptx文件,浏览器直接打开。
谷歌,ie直接下载
Micrisoft Edge会转为在线处理pptx文件的一个网站然后打开预览
且谷歌也有这样一个网站,但是打不开,可能需要连外网
https://view.officeapps.live.com/op/view.aspx?src=你的pptx文件地址&wdOrigin=BROWSELINK
预览效果如下,可以有动态交互效果
尝试本地保存为静态页面,未果,遂弃之
2、将每一个ppt页面都手动转化为html页面
在将pptx文件转化为一个个html页面后,我发现,页面依然是静态的,也就是说,poi的包不支持去解析pptx文件为html后依旧保持原有交互
3、前端寻找插件,或者自己解析pptx文件
这里我已经精疲力竭了,好像已经没有什么思路了,找了半天资料,感觉前端也不是不能自己解析,这个留在最后没有办法以后再看吧
4、第三方jar包
第三方jar包,直接转为html,无法达到动态效果,效果大体会比原来转图片的效果好,部分的字体会有溢出,但是依然是静态的图片组成的页面,部分字体溢出的问题,在编辑的时候尽量不要以字符结尾即可解决
5、继续尝试寻找插件,或jar包
未果
6、将pptx转化为svg
在经历了千辛万苦之后,我发现是真的无法找到满足我的需求的工具了,我想起了借鉴一下微软的做法,我打开了他们在线转化的网站,发现了他们是一大堆的svg图片加css样式去实现的,想到我们也只是需要一些基本的动态交互效果,感觉确实可行,保留一下
7、将pptx转化为ODP格式
我还想着有没有哪种格式是浏览器可以识别的,pptx可以转化的,且能保留一定的动态交互效果的格式,查找了半天,看到一个说ODP格式有动态效果,且浏览器可以直接打开,抱着激动的心情,我将pptx文件转化为ODP文件,最后拿浏览器访问时,直接又是下载。(这里备注一下,浏览器在遇到自己无法识别的文件,都会去下载)
8、将pptx文件转化为ppt文件
这个时候有点病急乱投医的感觉了,明知道不会有结果的事,还是尝试了,浏览器打开ppt文件依然是下载
小结
ppt文件不可以在软件内部直接打开,通过解析后又无法保留原有的交互,.ppt和.pptx文件无法通过转化格式的方式在浏览器上直接打开后还能保存动态交互的,但是借鉴微软浏览器的处理方式,当你打开.ppt或.pptx结尾的文件时,它会有一个在线解析的网址,可以支持你在网页直接打开并且保留一定的交互。所以我自己的系统在处理时也可以参照,将每一个ppt都保存为一个svg图,通过css的样式去达到一个动态交互的效果。具体交互方式看自己需求。
初步方案预想:PPT文件转存为svg格式通过设置样式的方式去实现动态交互
重点分析
1、样式的嵌入方式(如果在svg里直接插入交互样式,后端需要看看怎么具体去实现)
2、svg的动态交互的通用模版具体的实现方式(后端没办法逐一加不同class)
具体实现
1、后端保存pptx文件为svg格式,保存时连同样式名字一起保存,在对应的config配置表中添加不同样式,返回svg的同时返回需要使用的交互样式
2、前端写多套样式模版,存在后台配置中,通过接口获取,动态拼接在页面上
相关文章:

java处理ppt方案详解
需求 需要系统中展示的ppt案例有一个动态展示的效果,也就是要有动画的交互,要求支持浏览器直接打开预览 背景 目前已经实现了前端上传pptx文件,后端解析为png的图片,前端掉接口返回对应的图片,模拟播放ppt的效果 各种尝…...
鸿蒙4.0.0 安装minitouch
鸿蒙4.0.0 安装minitouch ubuntu 系统 minitouch 地址 https://github.com/DeviceFarmer/minitouch 因为 鸿蒙4.0.0 对应安卓12 API版本31 所以启动 minitouch 需要 STFService 地址 https://github.com/openstf/STFService.apk 到release下载最新的STFService.apk &…...

前端excel带样式导出 exceljs 插件的使用
本来用的xlsx和xlsx-style两个插件,过程一步一个坑,到完全能用要消灭好多bug。这时发现了exceljs,真香😀 案例 <!DOCTYPE html> <html><head><meta charset"utf-8" /><meta name"view…...

用GOGS搭建GIT服务器
GOGS官网 Gogs: A painless self-hosted Git service 进入文件所在目录 cd /usr/local/develop 解压文件 tar -xvf gogs_0.13.0_linux_amd64.tar.gz 解压之后 进入gogs 目录 cd gogs 创建几个目录 userdata 存放用户数据 log文件存放进程日志 repositories 仓库根目…...

2024年美赛数学建模E题思路分析 - 财产保险的可持续性
# 1 赛题 问题E:财产保险的可持续性 极端天气事件正成为财产所有者和保险公司面临的危机。“近年来,世界已经遭受了1000多起极端天气事件造成的超过1万亿美元的损失”。[1]2022年,保险业的自然灾害索赔人数“比30年的平均水平增加了115%”。…...

哪种安全数据交换系统,可以满足信创环境要求?
安全数据交换系统是一种专门设计用于在不同网络环境之间安全传输数据的技术解决方案。这类系统确保数据在传输过程中的完整性、机密性和可用性,同时遵守相关的数据保护法规和行业标准。 使用安全数据交换系统的原因主要包括以下几点: 1、数据保护&#…...

OfficeWeb365 Readfile 任意文件读取漏洞
免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…...

机器学习基础、数学统计学概念、模型基础技术名词及相关代码个人举例
1.机器学习基础 (1)机器学习概述 机器学习是一种人工智能(AI)的分支,通过使用统计学和计算机科学的技术,使计算机能够从数据中学习并自动改进性能,而无需进行明确的编程。它涉及构建和训练机器…...
小埋的解密游戏的题解
目录 原题描述: 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 样例 #2 样例输入 #2 样例输出 #2 提示 主要思路: 代码实现code: 原题描述: 题目描述 小埋最近在玩一个解密游戏,这个游戏…...

idea常用设置
1、内存优化 根据自己电脑本身的内存,对idea安装包里bin目录下的idea64.exe.vmoptions文件进行修改 -server -Xms256m -Xmx2048m -XX:MaxPermSize1024m -XX:ReservedCodeCacheSize256m -ea -Dsun.io.useCanonCachesfalse -Djava.Net.preferIPv4Stacktrue -Djsse.e…...
npm出现 Error: EISDIR: illegal operation on a directory, read
npm出现 Error: EISDIR: illegal operation on a directory, read 一、问题二、解决 一、问题 可能是由于运行了npm config set cafile ""之类的方法,造成了cafile为空 二、解决 文件位于C:\Users\用户名\ 下 找到c盘下的Users下的用户目录,进入找到.n…...

简易计算器的制作(函数指针数组的实践)
个人主页(找往期文章包括但不限于本期文章中不懂的知识点): 我要学编程(ಥ_ಥ)-CSDN博客 前期思路(菜单的制作等):利用C语言的分支循环少量的函数知识写一个猜数字的小游戏-CSDN博客 计算器的制作其实与游…...

HBase相关面试准备问题
为什么选择HBase 1、海量存储 Hbase适合存储PB级别的海量数据,在PB级别的数,能在几十到几百毫秒内返回数据。这与Hbase的极易扩展性息息相关。正是因为Hbase良好的扩展性,才为海量数据的存储提供了便利。 2、列式存储 这里的列式存储其实说的…...
sklearn实现数据标准化(Standardization)和归一化(Normalization)
标准化(Standardization) sklearn的标准化过程,即包括Z-Score标准化,也包括0-1标准化,并且即可以通过实用函数来进行标准化处理,同时也可以利用评估器来执行标准化过程。接下来我们分不同功能以的不同实现…...

做技术的应该是没有什么你不会
这句话放在现在很多年轻人的观念来评价,肯定是错的。但小编一直捧为真理,也一直践行着。 我记不得这话可能也是谁给我讲的。 先讲故事吧。 小编刚参加工作是做技术支持,我所在公司是给一些软件开发企业提供智能卡读写机具,并配…...

MySQL进阶45讲【10】MySQL为什么有时候会选错索引?
1 前言 前面我们介绍过索引,在MySQL中一张表其实是可以支持多个索引的。但是,写SQL语句的时候,并没有主动指定使用哪个索引。也就是说,使用哪个索引是由MySQL来确定的。 大家有没有碰到过这种情况,一条本来可以执行得…...
网络安全-端口扫描和服务识别的几种方式
禁止未授权测试!!! 前言 在日常的渗透测试中,我们拿到一个ip或者域名之后,需要做的事情就是搞清楚这台主机上运行的服务有哪些,开放的端口有哪些。如果我们连开放的端口和服务都不知道,下一步针…...

【分布式】雪花算法学习笔记
雪花算法学习笔记 来源 https://pdai.tech/md/algorithm/alg-domain-id-snowflake.html概述 雪花算法是推特开源的分布式ID生成算法,以划分命名空间的方式将64位分割成多个部分,每一个部分代表不同的含义,这种就是将64位划分成不同的段&…...
6.函数表达式 - JS
函数表达式 function (someArgs) { someStatements } function name(someArgs) { someStatements } (someArgs) > { someStatements }函数表达式就是要,在一个表达式中定义一个函数;箭头函数也是一个简洁的函数表达式;执行完函数表达式&a…...
【RK3288 Android10 C30 支持sim卡拔掉不弹窗,及热插拔】
文章目录 【RK3288 Android10 C30 支持sim卡拔掉不弹窗,及热插拔】需求方案patchframework【RK3288 Android10 C30 支持sim卡拔掉不弹窗,及热插拔】 需求 由于3288 硬件上的sim卡座不支持热插拔,是没有顶针来识别sim卡是否被拔掉的。所以在sim被拔掉或者松动的时候,会弹窗…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...