3

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

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

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

平台:MS-Office 2003

4

6 回答 6

3

您的平台限制是什么?

显然, Apache POI至少可以帮助您完成其中的一部分。

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

于 2009-06-30T14:31:41.160 回答
3

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

于 2009-07-02T14:06:16.480 回答
2

如果您选择使用其他 Office 套装,以下是可能的解决方案列表:

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

于 2009-06-28T22:50:38.823 回答
1

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

但要创建它需要做很多工作。我只是在创建一个只写的实现。

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

但是,这不适用于基于旧 OLE 复合文档的 Power Point 文件。

于 2009-06-30T17:37:20.557 回答
1

我以前做过类似的事情:以编程方式访问和操作 PowerPoint 演示文稿。早在我这样做的时候,它都是在 C++ 中使用 COM,但类似的原则也适用于 C#/VB .NET 应用程序,因为它们非常容易进行 COM 互操作。

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

一些链接:

希望这可以帮助!

于 2009-07-05T06:35:12.657 回答
1

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

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

于 2009-07-05T06:39:53.743 回答