使用 Corel SDK 创建 Wordperfect 文件

use*_*356 1 .net c# wordperfect

我们正在尝试使用 Corel sdk(WPOX7 SDK)和 .net(C#)框架创建一个完美的文件。

我正在谷歌搜索文件,但无法获得任何文件。

有谁知道,请提供样品给我。

Ric*_*det 5

我认为您不想走使用 SDK 创建 WordPerfect 文档的路线。我可能是错的,但是当我查看那个 SDK 时,更多的是关于修改 WordPerfect 程序的运行方式。非常复杂的学习曲线。

但是,使用 .NET 和 WP 附带的 PerfectScript API 创建 WP 文档相当简单。

我会先花几个小时看看这个网站,尤其是使用 VB.NET 来控制 WordPerfect 的部分。

http://www.wpuniverse.com/vb/

该站点上的大多数示例都使用 Visual Basic,这有点像骑马到办公室,但将这些想法转换为 C#(或 IronPython)非常简单。

您还需要熟悉 PerfectScript 命令集(有数百个可能的命令)。这与宏编写者用于在 WordPerfect 中自动化 WordPerfect 的语言相同,只是在使用 .NET 语言时使用的语法略有不同。

创建 WP 文档需要采取的步骤是:

1) 找到 wpwin17.tlb 或 wpwin17.dll——假设您使用的是 WP x7。这应该位于安装 WP 的 Corel/.../programs 文件夹中。使用 tlb 更容易,如果它在那里,但如果没有,您总是可以使用命令行程序 regasm.exe 创建一个 tlb。将您的项目的引用添加到 tlb。

2) 添加“使用WordPerfect;” 和“使用 System.Runtime.InteropServices”;引用将使用 PerfectScript 命令的任何文件。

3) 启动 PerfectScript 并创建您的文档!

这是一个非常简单的示例,说明您可以做什么。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


using WordPerfect;
using System.Runtime.InteropServices;

namespace WordPerfectBasic
{
class Program
{
    static void Main(string[] args)
    {

        PerfectScript wp = new PerfectScript();
        wp.WPActivate();
        wp.AppMaximize();
        wp.KeyType("Hello World!"); // note that the PS macro command is "Type", but that is a reserved keyword
                                    // in C#, so Visual Studio modified the name to "KeyType"
        wp.KeyType("\n\t");
        wp.KeyType("Blah");
        wp.Justification(_Justification_Justification_enum.
            Center_Justification_Justification);    // Instead of using the PS argument, which is 
                                                    // usually a string or integer, VS provides enums.
        wp.AttributeAppearanceOn(14); // Underline.  Somebody forgot to provide enums for this command,
                                      //so you have to figure out on your own 
                                      // what integer equivalent WP uses.
        wp.KeyType("Blum");

        Marshal.ReleaseComObject(wp);   //need to release PerfectScript in order to re-gain 
                                        //access to the WordPerfect document
        wp = null;


    }
}
}
Run Code Online (Sandbox Code Playgroud)

您还可以选择在不打开 WordPerfect 的情况下创建 WP 文档,方法是使用 Corel 称为“WordPerfect 文件规范”的程序以正确的 WP 格式创建文件。此路线的问题在于,您需要创建规范模型才能创建 WordPerfect 可以正确打开的二进制文件。如果您只关心创建非常简单的 WP 文档,这可以轻松完成,但创建整个文件规范的模型将是一个相当大的项目。

libwpd 的人使用 C++ 做了类似的事情,以便将 .wpd 文件转换为 .odf 文件,但据我所知,他们只为 WordPerfect 创建了一个阅读器,而不是一个编写器。

这实际上取决于您需要对 WP 文档进行多少“处理”。将 PerfectScript 命令通过管道传送到 WordPerfect 文档需要花费大量时间,即使对于简单的文档也是如此。如果您需要能够使用更标准的格式化工具创建 5-20 页的文档,那么我会使用 PerfectScript API。如果您需要逐个创建 200 页的文档,那么您的时间可能会很好地用于对文件规范进行建模(或使用 libwpd 作为创建编写器的基础)。