5

我需要一个允许在 .NET 环境中读取 WPD 文件的库。

到目前为止,我只找到了 libwpd

这似乎是一个本机库,没有可将其与 .NET Interop 一起使用的文档。

另一种解决方案是使用命令行转换器转换为另一种更常见的格式(例如 RTF、HTML 或 ODT),但我也找不到这样的转换器。

任何人都可以帮忙吗?

4

2 回答 2

2

事实证明,Corel 不提供要下载的 dll,并且必须为每个 WordPerfect 版本生成它们。我在这里找到了相关信息:

wpuniverse.com 上的 .NET-Programming-Interop-Assemblies

  1. 找到与您的 WordPerfect 版本相关的 *.tlb,我的位于C:\Program Files (x86)\Corel\WordPerfect Office X6\Programs\wpwin16.tlb
  2. 在 VisualStudio 中添加对 *.tlb 的引用,它将生成一个Interop.WordPerfect.dll文件
  3. 在您的文件中放置这样的 using 语句:using WordPerfect;并执行以下操作:

    PerfectScript WPScript = null;
    WPScript = new PerfectScript();
    WPScript.FileOpen(*filepath*);
    WPScript.SelectOff();
    WPScript.PosDocVeryTop();
    WPScript.SearchString(*FindText*);
    

有可用的智能感知,上面的 wpuniverse 链接应该会有所帮助。

于 2013-02-07T00:08:31.747 回答
0

在使用糟糕且不完整的 PerfectScript 界面努力做到这一点很长时间之后,我开发了一个自定义阅读器来将 wpd 文件解析为 wpd 文件中的大多数函数和文本。 WP_Reader是一个 C# 库,可轻松用于提取 WordPerfect 文档中包含的大部分内容。

但是,在您学习并理解 WP6+ 文件规范之前,WP_Reader 不会对您有多大帮助。您仍然必须编写自己的自定义标记器来将文件解构为有用的东西。有关如何使用该库的详细介绍,请访问WPUniverse 论坛

无需安装 WordPerfect。

根据 GNU 宽通用公共许可证获得许可。

我知道这可能看起来像是自我推销,但 5 年前,除了尝试让 libwpd 在 .NET 上运行之外,根本没有任何东西可以使用。现在,任何具有类似编程技能的人都可以提取 wpd 文档。

于 2016-12-08T23:13:14.247 回答