在没有Word Automation的情况下,在Delphi中读取/解析/修改MS Word文档

时间:2009-06-06 07:48:18

标签: delphi automation ms-word file-format

有没有人知道可以读取/解析/修改MS Word文档的 Delphi 的任何好的库(免费或商业版)(最好是支持Word 2007)没有 MS Word OLE自动化?我找到了一些用于.Net,但没有用于Delphi。

例如,这里有两个.Net / Java库 - AsposeWord.net

我不想在我的应用程序中添加.Net依赖项。最好在exe内部编译的库是最好的,但任何ActiveX都可以工作。

谢谢。

4 个答案:

答案 0 :(得分:2)

我知道(一个简单的非商业)Excel的变体,但不是Word。而不是非常新的。

DR:问题是需要安装Word。上面的选项没有。此外,OLE可能会变慢,例如如果你想在邮件中留下无数的个人信件。

我能想到的唯一其他例程就是自动化Open Office。但是这可能会有相同的速度问题(或更糟),所以这取决于你为什么要这么做。

Office格式非常复杂,几乎所有解决方案都会比咳出一个单词更昂贵(无论是大量时间还是金钱)。 (并且用OOo你甚至可以避免这种情况)

答案 1 :(得分:1)

Scalabium具有 TSMWordDocument 组件,可以提取纯文本并完全使用本机代码。它不支持修改它们或提取图形/样式。他们的 SM Export 组件集允许生成Word文档,但我认为它不支持读取它们。我们使用TSMWordDocument,与COM自动化相比,它的速度非常快。我们遇到的唯一缺点就是即使它与Delphi 2009兼容,它仍然不会处理国际文本,除非系统代码页匹配(因此日语系统上的日语可以,但不是英语系统)。

答案 2 :(得分:0)

您可以使用.NET库并为其创建一个ActiveX / COM包装器,您可以从Delphi中使用它。

This article描述了COM和.NET之间的互操作可能性。查看“从COM使用.NET对象”

答案 3 :(得分:0)

Microsoft的格式非常复杂,需要编写并保持最新的一组组件,以便在没有自动化的情况下执行您想要的操作。

Winsoft's Office Component Suite,但您会看到尚未更新以使用最新版本的Office或Delphi 2009 +。