[.NET] 打造一个很简单的文档转换器 - 使用组件 Spire.Office
打造一个很简单的文档转换器 - 使用组件 Spire.Office
【博主】反骨仔 【原文】http://www.cnblogs.com/liqingwen/p/6024827.html
序
之前,《开头不讲"Hello Word",读尽诗书也枉然 : Word 操作组件介绍 - Spire.Doc》一文简单介绍了 Spire.Doc 如何使用。这次我们来介绍如何打造一个简单的文档转换器。
目录
Spire.Office 介绍
关于 Spire.Office,它是一个专门为开发人员创建,读取,写入设计的库,转换和从打印 word 文档文件。作为一个独立的 .NET组件,它不需要在机器上安装微软的 Word 等办公软件。然而,它可以将微软的“文档创建功能”集成到任何开发人员的网络应用程序中。它是一个可靠的 MS Word 的API,可以执行许多Word文档处理任务。它支持 C #,VB.NET,ASP.NET 和 ASP.NET 的 MVC,以及支持Word 97-2003 / 2007 / 2010 / 2013 并能将它们转换为常用的文件格式,如 XML,RTF,TXT,XPS,EPUB 等高质量转换,反之亦然。它是一款来自 E-iceblue 公司开发的组件。
以下是摘取“慧都控件网”对该公司的简单介绍。
E-iceblue 是一个 .NET、Silverlight 和 WPF 开发控件供应商。e-iceblue 的目标是为客户提供高质量的控件去阅读和写作不同格式的文件。E-iceblue 的控件被大部分的世界 500 强企业广泛使用。e-iceblue 的主要开发者在开发高性能、高质量的 .NET、Silverlight 和 WPF 控件技术方面有超过 10 年的经验。每天,e-iceblue 产品帮助大量的来自超过 60 个国家的大型/小型公司的开发人员从更容易、更好、更快和更富有成效的开发和向顾客交付可靠的应用程序。
库引用
我只是想打造 word 和 excel 转换器,所以只在 Nuget 中安装上图中的 ~.Doc 和 ~.XLS。
界面预览
我发现当 ~.Doc 和 ~.XLS 同时装在一个类库中的时候,在转换部分类型时会出现异常,所以采取了分层的形式。
WordConverter 只引用 ~.Doc。
这是很普通的一款拖控件完成的转换器。
代码片段
将核心的转换代码提炼出来会发现,使用起来是比较简单的。这里是 Word 转换的代码,Excel 可以依葫芦画瓢。
//创建文档对象
var document = new Document(); //加载文档
document.LoadFromFile("包含路径的文件名"); //例:document.SaveToFile("Sample.pdf", FileFormat.PDF);
//保存文件
document.SaveToFile("包含文件名的路径", "想转换的文档格式类型"); //打开文件,预览操作
Process.Start("包含路径的文件名");
这里的文档格式类型的支持也是比较多的,FileFormat 枚举。
public enum FileFormat
{
//
// 摘要:
// Microsoft Word 97 - 2003 Binary Document.
Doc = ,
//
// 摘要:
// Microsoft Word 97 - 2003 Binary Document or Template.
Dot = ,
//
// 摘要:
// Microsoft Word 2007 Document.
Docx = ,
//
// 摘要:
// Microsoft Word 2010 Document
Docx2010 = ,
//
// 摘要:
// Microsoft Word 2013 Document
Docx2013 = ,
//
// 摘要:
// Microsoft Word 2007 Template format.
Dotx = ,
//
// 摘要:
// Microsoft Word 2010 Template format.
Dotx2010 = ,
//
// 摘要:
// Microsoft Word 2013 Template format.
Dotx2013 = ,
//
// 摘要:
// Microsoft Word 2007 macro enabled file format.
Docm = ,
//
// 摘要:
// Microsoft Word 2010 macro enabled file format.
Docm2010 = ,
//
// 摘要:
// Microsoft Word 2013 macro enabled file format.
Docm2013 = ,
//
// 摘要:
// Microsoft Word 2007 macro enabled template format.
Dotm = ,
//
// 摘要:
// Microsoft Word 2010 macro enabled template format.
Dotm2010 = ,
//
// 摘要:
// Microsoft Word 2013 macro enabled template format.
Dotm2013 = ,
//
// 摘要:
// PDF format
PDF = ,
//
// 摘要:
// Rtf format
Rtf = ,
//
// 摘要:
// Xml file format.
Xml = ,
//
// 摘要:
// Text file format.
Txt = ,
//
// 摘要:
// Html format.
Html = ,
//
// 摘要:
// XPS format
XPS = ,
//
// 摘要:
// EPub format
EPub = ,
//
// 摘要:
// WordprocessingML format
WordML = ,
//
// 摘要:
// Word xml format.
WordXml = ,
//
// 摘要:
// The document is in the Word 6 or Word 95 format. Spire.Doc does not currently
// support loading such documents.
DocPre97 = ,
//
// 摘要:
// Instructs Spire.Doc to recognize the format automatically.
Auto =
}
只是一些新手入门的代码,看起来没什么好说的。
Demo 下载地址:http://git.oschina.net/liqingwen/OfficeConverter
传送门
《开头不讲"Hello Word",读尽诗书也枉然 : Word 操作组件介绍 - Spire.Doc》
[.NET] 打造一个很简单的文档转换器 - 使用组件 Spire.Office的更多相关文章
- 用mkdocs在gitee码云上建立一个简单的文档博客
利用mkdocs建立简单的文档博客 一.概述 MkDocs 是一个用于创建项目文档的 快速, 简单 , 完美华丽 的静态站点生成器. 文档源码使用 Markdown 来撰写, 用一个 YAML 文件作 ...
- 【转】Jsduck一个纯净的前端文档生成神器
让前端程序更具可维护性,是一个老生常谈的问题,大多数时候我们都关注于应用层面的代码可维护性,如:OO.模块化.MVC,编码规范.可扩展和复用性,但这都是属于设计层面需要考虑的事情,可维护性还应包含另一 ...
- 最近学习工作流 推荐一个activiti 的教程文档
全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...
- 使用Swing实现简易而不简单的文档编辑器
本文通过Swing来实现文档简易而不简单的文档编辑器,该文档编辑器的功能包括: 设置字体样式:粗体,斜体,下划线,可扩展 设置字体:宋体,黑体,可扩展 设置字号:12,14,18,20,30,40, ...
- (亲测解决)每次打开excel文件都会出现两个窗口,一个是空白的sheet1,另一个是自己的文档
版权声明:本文为博主原创文章,转载请注明出处! https://blog.csdn.net/sinat_34104446/article/details/80210424 一.问题描述每次打开Exce ...
- GitBook一个专注于帮助文档的工具
官网:https://www.gitbook.com GitHub组织:https://github.com/gitbookio GitBook一个专注于帮助文档的工具,比如: 1.简单的左侧列表右侧 ...
- elasticsearch _create api创建一个不存在的文档
https://www.elastic.co/guide/cn/elasticsearch/guide/current/create-doc.html当我们索引一个文档, 怎么确认我们正在创建一个完全 ...
- 如何使用 VuePress 搭建一个 element-ui 风格的文档网站
如何使用 VuePress 搭建一个 element-ui 风格的文档网站 { "devDependencies": { "vuepress": "1 ...
- 推荐一套.NET文档处理组件Spire.Office
原文:推荐一套.NET文档处理组件Spire.Office 以前的项目中用到一点Word简单处理的功能(文字替换和转PDF格式),当时使用的是一套COM组件,必须在服务器上安装office环境.最近考 ...
随机推荐
- 使用Monit监控本地进程
目前用它监控某些服务,失败自动重启,同时监控特定的日志文件,如果有变化,就发邮件报警 安装不细写了,网上好多 我先用cat /proc/version看了下我的系统是el6的,于是wget http: ...
- 使用AWS亚马逊云搭建Gmail转发服务(三)
title: 使用AWS亚马逊云搭建Gmail转发服务(三) author:青南 date: 2015-01-02 15:42:22 categories: [Python] tags: [log,G ...
- Ngrok让你的本地Web应用暴露在公网上
1.Ngrok介绍 Ngrok是一个反向代理,通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道.Ngrok可捕获和分析所有通道上的流量,便于后期分析和重放.简单来说,利用 Ngrok可以 ...
- [Egret]优雅的写http
首先,自从使用链式调用的写法后,就一发不可收拾的喜爱上了这种优雅的方式.不管是写架构还是写模块,我都会不自觉的使用这种最优雅的方式.链式写法既减少了代码量,又非常优雅的. 在使用 egret 的htt ...
- C# await和async
基础阅读:http://www.cnblogs.com/jesse2013/p/async-and-await.html 答疑阅读:http://www.cnblogs.com/heyuquan/ar ...
- Twproject Gantt开源甘特图功能扩展
1.Twproject Gantt甘特图介绍 Twproject Gantt 是一款基于 jQuery 开发的甘特图组件,也可以创建其它图表,例如任务树(Task Trees).内置编辑.缩放和 CS ...
- spider RPC入门指南
本部分将介绍使用spider RPC开发分布式应用的客户端和服务端. spider RPC中间件基于J2SE 8开发,因此需要确保服务器上安装了JDK 8及以上版本,不依赖于任何额外需要独立安装和配置 ...
- Kotlin类:功能更强、而更简洁(KAD 03)
作者:Antonio Leiva 时间:Dec 7, 2016 原文链接:http://antonioleiva.com/classes-kotlin/ Kotlin类尽可能简单,这样用较少的代码完成 ...
- 编译器开发系列--Ocelot语言1.抽象语法树
从今天开始研究开发自己的编程语言Ocelot,从<自制编译器>出发,然后再自己不断完善功能并优化. 编译器前端简单,就不深入研究了,直接用现成的一款工具叫JavaCC,它可以生成抽象语法树 ...
- NodeJS使用mysql
1.环境准备 手动添加数据库依赖: 在package.json的dependencies中新增, "mysql" : "latest", { "nam ...