C++如何获取pptx里的gif文件??

Lings 2009-04-14 11:49:09
office2007的存储格式为 open xml format,可以解压后找到对应的ppt文件里的gif文件,选择的问题是,如何通过程序解压指定的pptx文件??

或者说不需要解压,直接通过其他的的方法,如ppt的COM接口等获取gif图像呢??


大家帮帮忙,谢谢~~!
...全文
260 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lings 2009-04-20
  • 打赏
  • 举报
回复
谢谢各位,上周已经使用zlib成功将pptx解压了,然后通过MSXML解析,成功的获取了gif
zhou314 2009-04-17
  • 打赏
  • 举报
回复
up
shhpj11 2009-04-16
  • 打赏
  • 举报
回复
不懂,帮顶
hndth 2009-04-16
  • 打赏
  • 举报
回复
不懂,帮顶
wangk 2009-04-16
  • 打赏
  • 举报
回复
不会吧,我机器上是,Microsoft PowerPoint 12.0 Object Library。
下面是Shape部分的导出接口:

interface Shape : IDispatch {
....

[id(0x000007e2), hidden, helpcontext(0x000858f5)]
HRESULT Export(
[in] BSTR PathName,
[in] PpShapeFormat Filter,
[in, optional, defaultvalue(0)] int ScaleWidth,
[in, optional, defaultvalue(0)] int ScaleHeight,
[in, optional, defaultvalue(1)] PpExportMode ExportMode);

....
};


Lings 2009-04-16
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wangk 的回复:]
我说的不是Slide,是Shape。
Shape有Export,Slide下可以取Shapes,然后就能得到Shape。
[/Quote]

shape没有Export啊~~~
Lings 2009-04-16
  • 打赏
  • 举报
回复
刚才试了一下,图片是可以导出,但是因为我是导出GIF,结果却是一静态的,而且尺寸不一

shape->Export(_bstr_t(gifPath), ppShapeFormatGIF, 190, 60, ppScaleXY);

后面的参数我不知道具体怎么用(没有相关文档),但是尺寸和ppExportModel的几个值我都试过,还是没有理想中的将GIF完整的导出~~~~


难道非要用在程序中解压.pptx吗????
wangk 2009-04-16
  • 打赏
  • 举报
回复
我说的不是Slide,是Shape
Shape有Export,Slide下可以取Shapes,然后就能得到Shape。
Lings 2009-04-16
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wangk 的回复:]
没有道理啊。虽然我没有试过。
但是能得到图片所在的Shape直接Export不就好了?
[/Quote]

Slide.Export方法是将该Slide导出为一张图片,我要做的是将提取Slide里插入的图片啊~~~
Lings 2009-04-16
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 wangk 的回复:]
不会吧,我机器上是,Microsoft PowerPoint 12.0 Object Library。
下面是Shape部分的导出接口:

C/C++ code
interface Shape : IDispatch {
....

[id(0x000007e2), hidden, helpcontext(0x000858f5)]
HRESULT Export(
[in] BSTR PathName,
[in] PpShapeFormat Filter,
[in, optional, defaultvalue(0)] int ScaleWidth,

[/Quote]

我要晕了,呵呵~~ 我看MSDN上没有,然后Powerpoint的开发手册上也没有,没想到在vs里打个点就出来了,呵呵,多谢指点,我试试~~~希望可行~~!
Lings 2009-04-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wangk 的回复:]
http://www.codeproject.com/KB/COM/ole_automation.aspx
[/Quote]

但是这个里面还不能获取图片,只能获取每张Slide的Shape的元素,不能将图片导出~~~
wangk 2009-04-15
  • 打赏
  • 举报
回复
http://www.codeproject.com/KB/COM/ole_automation.aspx
Lings 2009-04-15
  • 打赏
  • 举报
回复
up
wangk 2009-04-15
  • 打赏
  • 举报
回复
没有道理啊。虽然我没有试过。
但是能得到图片所在的Shape直接Export不就好了?
x8blaze 2009-04-14
  • 打赏
  • 举报
回复
如果PPT是以BIN方式保存的图片就扫描下直接DUMP出来不就行了,本人没研究过PPT中的内容,纯属YY
Lings 2009-04-14
  • 打赏
  • 举报
回复
http://www.codeproject.com/KB/files/zip_utils.aspx
这个好像可以,但是公司的网络却下不下来,郁闷~~

有没有能利用COM接口提取图片的呢??????????????????????
wangk 2009-04-14
  • 打赏
  • 举报
回复
你可以试试以下几个:

http://www.codeproject.com/KB/library/LiteZip.aspx
http://www.codeproject.com/KB/files/zip_utils.aspx
http://www.codeproject.com/KB/cpp/xzipunzip.aspx
Lings 2009-04-14
  • 打赏
  • 举报
回复
我试过zlib,但是好像zlib只能解压经过zlib压缩的文件,我只是简单的使用了 compress 和 uncompress
wangk 2009-04-14
  • 打赏
  • 举报
回复
zip格式的话网上有开源的zip解压库。google下有很多。
Lings 2009-04-14
  • 打赏
  • 举报
回复
快来人啊~~~~
加载更多回复(1)

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧