推荐一套.NET文档处理组件Spire.Office

简介: 原文:推荐一套.NET文档处理组件Spire.Office以前的项目中用到一点Word简单处理的功能(文字替换和转PDF格式),当时使用的是一套COM组件,必须在服务器上安装office环境。最近考虑系统升级,希望能找个.NET组件,省去COM组件的注册和环境依赖。
原文: 推荐一套.NET文档处理组件Spire.Office

以前的项目中用到一点Word简单处理的功能(文字替换和转PDF格式),当时使用的是一套COM组件,必须在服务器上安装office环境。最近考虑系统升级,希望能找个.NET组件,省去COM组件的注册和环境依赖。朋友推荐了Spire.Office组件,测试了一下,感觉挺不错。特此记录和介绍一下,大家以后也多一个选择。

 

经过简单的代码测试和查阅资料,个人总体评价如下:

优点与特色:

1.完全脱离Office环境;

2.纯.NET组件,与COM组件相比,省去注册和开发中的经常引用丢失,同时代码中的参数简化很多;

3.支持.NET体系下的各种技术平台(ASP.NET/WinForm/WPF/SilverLight)和多语言(C#/VB.NET);

4.示例代码很齐全,帮助文档很详细;

5.接口设计封装合理,上手迅速,易于使用;

6.对文档兼容性较好(据说支持从97到最新的文档,但未验证)。

 

建议与期待:

1.中文资料。目前的网站和帮助文档都做的相当不错,虽然是英文的,但对绝大多数开发人员基本不构成障碍,如果能有中文版则更锦上添花。

2.希望能够提供简单的可视化文档控件和编辑器,那样的话(也许是我没发现),则开发人员能够轻易地在系统中定制和集成一个简化版的文档编辑器。

 

测试的方法和步骤如下:

 下载和安装:

1.进入Spire.Office的官方网站:http://www.e-iceblue.com/

2.网站列出了多种技术平台下的各类文档处理组件,选择需要的组件并下载(提供了免费的试用版本),如下图:

3.安装程序并查看帮助文档和示例代码:

 

制作测试程序:

1.创建工程和引入组件,这个很easy。除了可以从示例代码中找到引入的类库,还可以通过Nuget在线安装需要的dll:

 

 

2.编写测试代码(示例比较简单,但通过和我之前的COM组件相比较,确实精简不少):

//initialize word object
document = new Document();
document.LoadFromFile(samplePath);

//get strings to replace
Dictionary<string, string> dictReplace = GetReplaceDictionary();
//Replace text
foreach (KeyValuePair<string, string> kvp in dictReplace)
{
document.Replace(kvp.Key, kvp.Value, true, true);
}
//Save doc file.
document.SaveToFile(docPath, FileFormat.Doc);
//Convert to PDF
document.SaveToFile(pdfPath, FileFormat.PDF);

MessageBox.Show("All tasks are finished.", "doc processing", MessageBoxButtons.OK, MessageBoxIcon.Information);
document.Close();

 

3.运行和验证结果:

 

 

 

 

题外话:

 最初在官方网站查看资料的时候,以为是一家国外的公司。无意中从联系方式中看到是来自内地的公司,还是比较惊讶。毕竟一直觉得做开发工具和控件类产品是比较有技术难度的工作,而且这套控件靠质量和技术赢得了众多知名企业客户,很难能可贵,值得我们技术同行佩服和学习。

所以,如果有机会在商业项目中使用类似的工具,那就应该考虑采购和支持一下。

 

目录
相关文章
|
1月前
|
人工智能 文字识别 自然语言处理
1.6K star!这个开源文本提取神器,5分钟搞定PDF/图片/Office文档!
Kreuzberg 是一个基于 Python 的文本提取库,支持从 PDF、图像、Office 文档等 20+ 格式中提取文本内容。采用 MIT 开源协议,具备本地处理、异步架构、智能 OCR 等特性,特别适合需要隐私保护的文档处理场景。
|
3月前
|
开发框架 数据可视化 .NET
.NET 中管理 Web API 文档的两种方式
.NET 中管理 Web API 文档的两种方式
73 14
|
11月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的计算机office课程平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的计算机office课程平台的详细设计和实现(源码+lw+部署文档+讲解等)
|
11月前
|
JavaScript Java 测试技术
基于ssm+vue.js的计算机office课程平台附带文章和源代码设计说明文档ppt
基于ssm+vue.js的计算机office课程平台附带文章和源代码设计说明文档ppt
70 1
|
5月前
|
C#
【Azure App Service】使用Microsoft.Office.Interop.Word来操作Word文档,部署到App Service后报错COMException
System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (0x80040154 (REGDB_E_CLASSNOTREG)).
103 2
|
5月前
|
API C#
在.NET中使用QuestPDF高效地生成PDF文档
在.NET中使用QuestPDF高效地生成PDF文档
|
6月前
.NET 4.0下实现.NET4.5的Task类相似功能组件
【10月更文挑战第29天】在.NET 4.0 环境下,可以使用 `BackgroundWorker` 类来实现类似于 .NET 4.5 中 `Task` 类的功能。`BackgroundWorker` 允许在后台执行耗时操作,同时不会阻塞用户界面线程,并支持进度报告和取消操作。尽管它有一些局限性,如复杂的事件处理模型和不灵活的任务管理方式,但在某些情况下仍能有效替代 `Task` 类。
|
11月前
|
搜索推荐 API C#
.NET开源快速、强大、免费的电子表格组件
.NET开源快速、强大、免费的电子表格组件
152 0
|
9月前
|
存储 开发框架 前端开发
基于Lumisoft.NET组件,使用IMAP协议收取邮件
基于Lumisoft.NET组件,使用IMAP协议收取邮件
|
9月前
|
存储 对象存储 Python
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
下一篇
oss创建bucket