使用COM将PPT文档转成JPG文件
来源:互联网 发布:静境电纸书 知乎 编辑:程序博客网 时间:2024/05/20 20:01
我们还是按步骤来,首先,添加类,并将头文件引进来:
选择“文件”:
找到MSOffice安装目录,找到MSPPT.OLB文件并选择打开:
再选择要导出的类:
接着点完成就OK了,下一步在刚刚选择的这几个类的生成出来的头文件里面注释掉下面这行代码,不然编译通不过:
//#import "C:\\Program Files (x86)\\Microsoft Office\\Office12\\MSPPT.OLB" no_namespace
然后开始正式写代码了,首先,初始化COM,我选择的是
//初始化COM if(!AfxOleInit()){AfxMessageBox(_T( "Cannot initialize COM dll" )); }
每次调用的时候都调用这个初始化,接下来,直接上代码:
CApplicationPPT app; //我这里只是把导出来的类改了一下名字而已,导出来的那几个头文件类名都可以自己随便改的。if(!app.CreateDispatch(_T("Powerpoint.Application"))) { AfxMessageBox(_T("无法启动PowerPoint服务器!")); return; } Sleep( 500 );CPresentations cpres;cpres.AttachDispatch( app.get_Presentations() );LPDISPATCH lpDisp; lpDisp = cpres.Open(pPPTFile,0,0,0); CPresentation cpre;cpre.AttachDispatch( lpDisp );CSlides cslides;cslides.AttachDispatch( cpre.get_Slides() );//获取幻灯片总数int nPageCount = cslides.get_Count();
for ( int i = 1; i <= nPageCount; i++ ){CSlide cSlide; cSlide.AttachDispatch( cslides.Item(COleVariant((long)i)) ); cSlide.Copy(); //使用Ppt自带的方式输出图片,而且图片清晰度更好。使用PPT自带的输出文件接口 //传0,0表示使用默认的大小输出文件。cSlide.Export( strJPGFileEx,"jpg",0,0);}
整个读取PPT文档就这样了,想起来比较复杂,但实际上代码很少,接下来释放:
//清理工作 cslides.ReleaseDispatch(); cpre.ReleaseDispatch(); cpres.ReleaseDispatch(); app.ReleaseDispatch();app.Quit();
如果PPT里有特别的字体,发现输出来的图片,会有些模糊,不知道什么原因,哪位朋友知道还望告知一下啊,就这样,完工! 这部分代码在WINXP,WIN7,WIN8, 32/64位系统下都运行良好。
- 使用COM将PPT文档转成JPG文件
- 如何将PDF扫描文件转成PPT文档
- 将ppt幻灯片转成pdf文档在线
- 能将pdf文件转成ppt吗
- 怎样可以将ppt文档转成pdf的格式
- 如何将ppt转成pdf样式的文档
- 将JPG文件转换成word文档
- tif转成jpg文件
- 直接在资源管理器内将PPT转成pdf文件
- 怎么将编辑好的PDF文件转成PPT
- 将ppt转成pdf文件的常见方法汇总
- 将PPT文件转换为Word文档
- 如何将.jpg 转成.eps
- java使用jacob将word,excel,ppt转成html
- 将一个多页WORD文档转成一个图片(JPG/PNG)
- 将UIView转成UIImage,将UIImage转成PNG/JPG
- 将UIView转成UIImage,将UIImage转成PNG/JPG
- 怎样将jpg转成pdf格式
- C#4.0和VS2010新特性(三)
- 模拟线程安全问题
- Android4.1Systemui分析
- python 字典元素判定方法
- DB2 表 暂挂 -668
- 使用COM将PPT文档转成JPG文件
- latch: cache buffers chains
- 类似flashget的浮动窗口的实现
- Hud 1874 畅通工程续[基础最短路(Dijsktra)]
- 用友华表
- HDU 3746 Cyclic Nacklace KMP
- 动态链接库和静态链接库
- printk导致系统崩溃
- 插入最少的字符使字符串成为回文