office2007的存储格式为 open xml format,可以解压后找到对应的ppt文件里的gif文件,选择的问题是,如何通过程序解压指定的pptx文件??或者说不需要解压,直接通过其他的的方法,如ppt的COM接口等获取gif图像呢??
大家帮帮忙,谢谢~~!

解决方案 »

  1.   

    如果PPT是以BIN方式保存的图片就扫描下直接DUMP出来不就行了,本人没研究过PPT中的内容,纯属YY
      

  2.   

    office 2007 是以一个zip文件存储的,你把 .pptx 改为 .zip或 .rar,就可以解压看到ppt里面的内容了,包括图片~~~继续等待
      

  3.   

    zip格式的话网上有开源的zip解压库。google下有很多。
      

  4.   

    我试过zlib,但是好像zlib只能解压经过zlib压缩的文件,我只是简单的使用了 compress 和 uncompress
      

  5.   

    你可以试试以下几个: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
      

  6.   

    http://www.codeproject.com/KB/files/zip_utils.aspx 
    这个好像可以,但是公司的网络却下不下来,郁闷~~有没有能利用COM接口提取图片的呢??????????????????????
      

  7.   

    http://www.codeproject.com/KB/COM/ole_automation.aspx
      

  8.   


    但是这个里面还不能获取图片,只能获取每张Slide的Shape的元素,不能将图片导出~~~
      

  9.   

    没有道理啊。虽然我没有试过。
    但是能得到图片所在的Shape直接Export不就好了?
      

  10.   


    Slide.Export方法是将该Slide导出为一张图片,我要做的是将提取Slide里插入的图片啊~~~
      

  11.   

    我说的不是Slide,是Shape
    Shape有Export,Slide下可以取Shapes,然后就能得到Shape。
      

  12.   


    shape没有Export啊~~~  
      

  13.   

    不会吧,我机器上是,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);....
    };
      

  14.   


    我要晕了,呵呵~~  我看MSDN上没有,然后Powerpoint的开发手册上也没有,没想到在vs里打个点就出来了,呵呵,多谢指点,我试试~~~希望可行~~!
      

  15.   

    刚才试了一下,图片是可以导出,但是因为我是导出GIF,结果却是一静态的,而且尺寸不一shape->Export(_bstr_t(gifPath), ppShapeFormatGIF, 190, 60, ppScaleXY);后面的参数我不知道具体怎么用(没有相关文档),但是尺寸和ppExportModel的几个值我都试过,还是没有理想中的将GIF完整的导出~~~~
    难道非要用在程序中解压.pptx吗????
      

  16.   

    谢谢各位,上周已经使用zlib成功将pptx解压了,然后通过MSXML解析,成功的获取了gif