如何替换PowerPoint(.ppt)文档中的文本?

时间:2009-06-25 16:49:26

标签: replace powerpoint placeholder contentplaceholder

有什么解决方案?我只知道使用Apache POI替换Word(.doc)文件中的书签的解决方案吗?

是否还可以在.doc和.ppt文档中更改图像,布局,文本样式?

我考虑更换Word和PowerPoint文档中的区域以进​​行批量处理。

平台:MS-Office 2003

6 个答案:

答案 0 :(得分:3)

您的平台限制是什么?

显然Apache POI至少可以让你获得部分路径。

Microsoft自己的COM API非常强大,并且已记录在案here。如果a)你没有在服务器(许多用户,多线程)环境中运行,我建议使用它们; b)您可以在生产机器上安装适当版本的powerpoint; c)您可以针对COM对象模型进行编码。

答案 1 :(得分:3)

它有点贵,但是Aspose.Slides是一个非常强大的文件夹来处理PowerPoint文件

答案 2 :(得分:2)

如果您使用其他Office套装作为选项,请参阅以下列表:

使用POI您无法编辑.pptx文件格式,但您不依赖于系统上安装的应用程序。相反,其他两个选项使用其他应用程序,但它们肯定更适合处理演示文稿。顺便提一下,OpenOffice与旧格式的兼容性更好。此外,如果您使用UNO,您将拥有多种语言选择,UNO适用于Java,C ++,Python和其他语言。

答案 3 :(得分:1)

我的经验不是直接与Power Point,但我实际上已经推出了自己的WordML(XML)生成器。它a)删除了Word上的所有依赖项,b)非常快c)并让我从头开始构建文档。

但要创造它需要做很多工作。我只创建了一个只写实现。

我对Power Point并不熟悉,所以这是猜想,但你可以通过阅读XML(Power Point 2003 ??)和/或破解Office Open XML文件(压缩的XML)来推销自己的产品。 ,然后使用XPath操作数据,然后将所有内容保存回磁盘。

但这不适用于旧的基于OLE Compound Document的Power Point文件。

答案 4 :(得分:1)

之前我做过类似的事情:以编程方式访问和操作PowerPoint演示文稿。回到我做的时候,它全都是使用COM的C ++,但类似的原则适用于C#/ VB .NET应用程序,因为它们很容易实现COM互操作。

您正在寻找的内容称为Office文档模型。基本上,Office应用程序以编程方式公开其文档,作为定义其内容的对象树。这些对象可以通过API访问,您可以操作它们,添加新对象,并执行您想要的任何其他处理。它非常强大;你可以使用它来操纵文档的几乎所有方面。但是您需要安装Office和Visual Studio才能使用它。

一些链接:

希望这有帮助!

答案 5 :(得分:1)

显然,新用户每个帖子只能包含一个链接。多么蹩脚! :)

这是我打算包括的另一个链接: