使用Corel SDK创建Wordperfect文件

时间:2015-01-22 08:57:05

标签: c# .net wordperfect

我们正在尝试使用带有.net(C#)框架工作的Corel sdk(WPOX7 SDK)创建一个wordperfect文件。

我正在使用Google搜索文档而无法获取任何文档。

任何人都知道,请提供样品。

1 个答案:

答案 0 :(得分:4)

我认为您不想使用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;


    }
}
}

您还可以选择创建WP文档,而无需打开WordPerfect,通过使用Corel调用“WordPerfect文件规范”以编程方式创建适当WP格式的文件。此路由的问题是您需要创建规范模型才能创建WordPerfect可以正确打开的二进制文件。如果您只关心创建非常简单的WP文档,那么这可以毫无困难地完成,但是创建整个文件规范的模型将是一个相当大的项目。

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

这实际上取决于你需要做多少“压缩”WP文件。将PerfectScript命令管理到WordPerfect文档中需要相当长的时间,即使对于简单的文档也是如此。如果您需要使用更标准的格式化工具创建5-20页文档,那么我将使用PerfectScript API。如果您需要创建200页的文档,那么您可以花时间建模文件规范(或使用libwpd作为创建编写器的基础)。