首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Corel SDK创建Wordperfect文件

使用Corel SDK创建Wordperfect文件
EN

Stack Overflow用户
提问于 2015-01-22 16:57:05
回答 1查看 909关注 0票数 1

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

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

有没有人知道,请给我一个样品。

EN

回答 1

Stack Overflow用户

发布于 2015-02-02 08:41:28

我不认为您想走使用SDK创建WordPerfect文档的路线。我可能错了,但当我浏览那个软件开发工具包时,它更多的是关于修改WordPerfect程序的功能。非常复杂的学习曲线。

然而,使用.NET和WP附带的PerfectScript应用编程接口创建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)添加对将使用PerfectScript命令的任何文件的"using WordPerfect;“和"using System.Runtime.InteropServices";引用。

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

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

代码语言:javascript
复制
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可以正确打开的二进制文件。如果你只关心创建非常简单的可湿性粉剂文档,这可以很容易地完成,但创建整个文件规范的模型将是一个相当大的工程。

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

这真的取决于你需要做多少“处理”可湿性粉剂的文档。将PerfectScript命令通过管道传输到WordPerfect文档需要相当长的时间,即使是对于一个简单的文档也是如此。如果您需要能够使用更标准的格式化工具创建5-20页的文档,那么我将使用PerfectScript应用编程接口。如果您需要一打一打地创建200页文档,那么您的时间可能会花在对文件规范建模上(或者使用libwpd作为创建编写器的基础)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28084619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档