C#开源组件DocX版本区别点滴
阅读原文时间:2023年07月09日阅读:1

在C#中,需要处理Office Word文档时,由于MsOffice Com的版本局限性,所以选择不与本机MsOffice安装与否或安装版本相关的软件,以便软件或使用时的通用性与版权限制,特别是对于国内好多用户选择WPS来处理Office文档。常用开源软件有NPOIDocX。还有受限的Spire免费版也可以处理。

DocX是一个.NET库,允许开发人员以简单直观的方式处理Word 2007/2010/2013文件。 DocX是快速,轻量级,最好的是它不需要安装Microsoft Word或Office。DocX组件不仅可以完成对文档的一般要求,例如创建文档,创建表格和文本,并且还可以创建图形报表。DocX使创建和操作文档成为一个简单的任务。

它不使用COM库,也不需要安装Microsoft Office。在使用DocX组件时,你需要安装 .NET框架4.0 和 Visual Studio 2010或更高版本。

DocX的主要特点:

(1).在文档中插入,删除或替换文本。所有标准文本格式都可用。 字体{系列,大小,颜色},粗体,斜体,下划线,删除线,脚本{子,超级},突出显示。

(2).段落属性显示。方向LeftToRight或RightToLeft;缩进;比对。

(3).DocX也支持:图片,超链接,表,页眉和页脚,自定义属性。

实际上,DocX是Xceed的.Net下的收费软件Xceed Word的简化版。在1.1版之前,其命名空间是Novacode。到1.1时,更新较大,命名空间改为Xceed,1.1时只有Xceed.Words.NET,后来增加了Xceed.Document.NET。

在目前网上的大多数DocX的应用介绍与范例代码中,大部分都是1.1之前的内容。所以,你如果选择的是比较新的版本,就要注意。而且,可能是因为是免费版本吧,开发团队对于其中有些Bug没处理到位,比如插入图片AppendPicture在1.0.0.22中,是没有问题的,而在1.0.0.15时是有问题的,在更新到1.1时,也能够处理,但在1.5中同样代码却不出来,所以,你如果碰到这种情况,不妨多试试几个版本,又如页眉页脚的奇偶页,1.0.0.22是奇偶页是相同的,这个Bug在1.1中又修改过来了。

我是在NPOI处理Word文档时,遇到在页眉页脚中插入表格总是弄不了(后来解决了),才转向用DocX来处理,但又遇到了插入图片失败。在网上搜索或代码处理上花了很多时间(当然其中有我自己水平太低的原因),在开源官网的评论与Bug评论贴中才想到版本问题,这才了解了上述原因。

所以,我以后在贴出代码时,会将组件版本列出。

以下是各版本重大更新时命名空间及存在问题:

//Version 1.4.1.0(本版本起至目前1.5.0.0止,分为两个命名空间):发现问题:图片插入不成功。
//using Xceed.Words.NET;
//using Xceed.Document.NET;
//Version 1.1.0.0 - 1.3.0.0(本版本起更改命名空间),建议使用版本1.3.0,测试到目前为止包括图片等基本功能正常。故以后若没有标示版本,就以1.3.0版本为准。
using Xceed.Words.NET;
//Version 1.0.0.22及之前:版本太旧,功能受限,我测试也不全。
//using Novacode;