【前端】ikun-pptx编辑器前瞻问题三: pptx的图片如何提取,并在前端渲染。

文章目录

pptx中的图片提取的一般步骤

以第一页幻灯片为例,需要下列步骤:

  1. 在slide1.xml中找到图片ID
  2. 在 slide1.xml.rels 中找到第一页幻灯片的所有映射关系(rid -> 文件)
  3. 整理出映射集合 map<rid: 文件路径>。
  4. 根据id读取文件流, 转换为base64编码
  5. 在<img标签中通过base64渲染出图片。

可以看出这个步骤其实挺复杂了,cursor已经乱写代码导致图片提取不正确, 所以自己慢慢修正吧。

rel 映射关系例子

xml 复制代码
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout" Target="../slideLayouts/slideLayout1.xml"/>
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="../media/image3.png"/>
<Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="../media/image4.png"/>
<Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="../media/image2.png"/>
</Relationships>

图片在幻灯片中的引用形式

pptx树状目录展示

相关推荐
用户059540174464 分钟前
AI 客服突然“失忆”,排查 6 小时发现 LangChain 记忆存储的 3 个致命坑
前端·css
IT_陈寒26 分钟前
Vue的v-if和v-show,我竟然用错了这么久
前端·人工智能·后端
云絮.29 分钟前
计算机相关工作原理
服务器·前端·数据库
随风一样自由31 分钟前
【前端+React+缓存竞态】导航切换缓存刷新机制
前端·react.js·缓存
恋猫de小郭38 分钟前
Flutter 开发怎么做 Agent ?从工程实战详细给你解读下
android·前端·flutter
IT_陈寒40 分钟前
React状态更新延迟搞晕我,原来是闭包在捣鬼
前端·人工智能·后端
晓得迷路了40 分钟前
栗子前端技术周刊第 136 期 - pnpr、Flow 重构移植 Rust、Astryx...
前端·javascript·css
柳杉1 小时前
别再手写大屏了!用这套「3D 地图 + 拖拽脚手架」示例源码,交付效率提升 80%
前端·three.js·数据可视化
乌夷1 小时前
Vue.js 3 的设计思路
前端·javascript·vue.js
丨我是张先生丨1 小时前
英语单词 Web Page
前端·css·css3