DELPHI控制PowerPoint

DELPHI控制PowerPoint

 

有一大批PPT文件,想对每一个PPT文件采集其中一页,转换成Jpg或Gif文件,这样可以通过图像浏览软件迅速找到想要的PPT文件,也可以做成相册之类的集中直观地浏览这些PPT文件。大概是这个想法。

所以查了一些资料,用DELPHI控制PowerPoint,打开某个PPT文件,然后用程序自动提取其中的一页,转换成图像文件。

发现还是比较容易的,PowerPoint有两大模式,一是设计模式,用PowerPointPresentation组件去控制,另一个模式是幻灯播放模式,用PowerPointSlide去控制。幻灯模式我们的软件不需要用到,所以没有写,不过例程中有一些注释的演示代码,如果需要可以参考一下。

DELPHI控制PowerPoint基本套路是,放一个TPowerPointApplication用于与PowerPoint之间沟通,然后用PowerPointPresentation打开一个文件,后面就全部用PowerPointPresentation去控制了。至于PowerPointPresentation的代码属性,其实可以在PowerPoint里录制一段宏,把宏的代码直接抄过来修改一下就可以。DELPHI提供Office组件的贡献是让它支持VBA吧。

帖一下代码吧,以下是把PPT文件的最后一页转换成640x480大小的Gif图片
begin
  PowerPointApplication1.Connect;
  //调用PowerPoint时,PowerPoint窗口可见
  PowerPointApplication1.Visible := msoTrue;
  //打开Ppt文件
  PowerPointPresentation1.ConnectTo(PowerPointApplication1.Presentations.Open(fn, msofalse, msofalse, msoTrue));
  //导出最后一页为Gif
  PowerPointPresentation1.Slides.Item(PowerPointPresentation1.Slides.Count).Export(ChangeFileExt(fn, '.gif'), '.gif', 640, 480);
  PowerPointPresentation1.Close;
  PowerPointPresentation1.Disconnect;
  PowerPointApplication1.Disconnect;
  ShowMessage('转换完成');
end;

以下的代码则是利用“另存”的功能,把整个PPT转换成一组JPG文件,运行结果是产生一个图片目录,而不是一张图片
var
  EParam: OleVariant;
begin
  PowerPointApplication1.Connect;
  PowerPointApplication1.Visible := msoTrue;
  PowerPointPresentation1.ConnectTo(PowerPointApplication1.Presentations.Open(fn, msofalse, msofalse, msoTrue));

  //全部另存为Jpg
  PowerPointPresentation1.SaveAs(ChangeFileExt(fn, '.jpg'), ppSaveAsJPG, msoFalse);  //这句将导出所有页面

  PowerPointPresentation1.Close;
  PowerPointPresentation1.Disconnect;
  PowerPointApplication1.Disconnect;
  ShowMessage('转换完成');
end;

同时提供例程的源码和截图,欢迎交流。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Delphi 是一种编程语言和集成开发环境,能够用于开发各种应用程序,包括远程控制应用程序。 远程控制是一种技术,允许用户通过网络或互联网连接远程设备,并对其进行控制和操作。在Delphi中,我们可以使用一些库和组件来实现远程控制功能。 首先,我们可以使用Delphi提供的Socket组件来建立客户端和服务器之间的网络连接。通过使用TCP/IP协议,我们可以在客户端和服务器之间建立可靠的通信通道。 其次,我们可以使用Delphi提供的远程过程调用(RPC)机制来实现远程控制。RPC允许我们在客户端上调用在服务器上运行的函数或方法。我们可以定义一个接口,包含所有需要在客户端和服务器之间调用的函数或方法。然后,在Delphi中,我们可以使用远程接口代理和存根生成工具来生成客户端和服务器之间的通信代码。 另外,我们还可以使用Delphi提供的远程数据模块(Remote Data Module)来实现远程控制。远程数据模块允许客户端应用程序通过网络连接到远程服务器上的数据模块,并对其进行访问和操作。通过远程数据模块,我们可以在客户端上使用远程数据集和远程查询来实现对远程服务器上的数据进行增加、删除、修改和查询等操作。 总之,通过Delphi的网络编程和远程控制机制,我们可以方便地实现远程设备的控制和操作。无论是建立网络连接、远程过程调用,还是使用远程数据模块,Delphi都提供了丰富的工具和组件来简化开发过程,使得远程控制变得更加容易实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值