我正在开发一个生成相对大量 Word 输出的应用程序。目前,我们正在使用 Word 互操作服务来创建文档,但速度很慢,尤其是在旧版(2007 年之前)的 Office 中。我们希望加快生成速度。
我还没有做很多分析,但我很有信心问题在于我们正在进行大量的 COM 调用。我希望分析会产生比其他调用慢的子集,但我的直觉告诉我,这可能是 COM 开销(或 Word 互操作开销)的问题,而不仅仅是一些慢速调用。
此外,该产品可以生成 HTML 输出,并且该过程 (a) 非常快,并且 (b) 使用几乎相同的代码路径,只是针对特定于 HTML 的功能片段使用不同的子类。所以我很确定我们的算法从根本上来说并不慢。
所以...我正在寻找有关加速 Word 文件生成的替代方法的建议。
我们不能只将生成的 HTML 文件重命名为 .doc,也不能生成 RTF——在这两种情况下,重要的格式信息都会丢失,而且在 RTF 情况下,内联图形无法正常工作。
我们正在评估的一种方法是以编程方式从一个模板生成和打开一个 Word 文件(通过互操作),该模板具有一个知道如何使用平面文件并创建必要输出的宏。我们对有关该方法的反馈以及任何其他加快速度的想法感兴趣。