打造一个很简单的文档转换器 - 使用组件 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的更多相关文章

  1. 用mkdocs在gitee码云上建立一个简单的文档博客

    利用mkdocs建立简单的文档博客 一.概述 MkDocs 是一个用于创建项目文档的 快速, 简单 , 完美华丽 的静态站点生成器. 文档源码使用 Markdown 来撰写, 用一个 YAML 文件作 ...

  2. 【转】Jsduck一个纯净的前端文档生成神器

    让前端程序更具可维护性,是一个老生常谈的问题,大多数时候我们都关注于应用层面的代码可维护性,如:OO.模块化.MVC,编码规范.可扩展和复用性,但这都是属于设计层面需要考虑的事情,可维护性还应包含另一 ...

  3. 最近学习工作流 推荐一个activiti 的教程文档

    全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...

  4. 使用Swing实现简易而不简单的文档编辑器

    本文通过Swing来实现文档简易而不简单的文档编辑器,该文档编辑器的功能包括: 设置字体样式:粗体,斜体,下划线,可扩展 设置字体:宋体,黑体,可扩展 设置字号:12,14,18,20,30,40, ...

  5. (亲测解决)每次打开excel文件都会出现两个窗口,一个是空白的sheet1,另一个是自己的文档

    版权声明:本文为博主原创文章,转载请注明出处! https://blog.csdn.net/sinat_34104446/article/details/80210424 一.问题描述每次打开Exce ...

  6. GitBook一个专注于帮助文档的工具

    官网:https://www.gitbook.com GitHub组织:https://github.com/gitbookio GitBook一个专注于帮助文档的工具,比如: 1.简单的左侧列表右侧 ...

  7. elasticsearch _create api创建一个不存在的文档

    https://www.elastic.co/guide/cn/elasticsearch/guide/current/create-doc.html当我们索引一个文档, 怎么确认我们正在创建一个完全 ...

  8. 如何使用 VuePress 搭建一个 element-ui 风格的文档网站

    如何使用 VuePress 搭建一个 element-ui 风格的文档网站 { "devDependencies": { "vuepress": "1 ...

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

    原文:推荐一套.NET文档处理组件Spire.Office 以前的项目中用到一点Word简单处理的功能(文字替换和转PDF格式),当时使用的是一套COM组件,必须在服务器上安装office环境.最近考 ...

随机推荐

  1. HTML URL地址解析

    通过JavaScript的location对象,可获取URL中的协议.主机名.端口.锚点.查询参数等信息. 示例 URL:http://www.akmsg.com/WebDemo/URLParsing ...

  2. 对Castle Windsor的Resolve方法的解析时new对象的探讨

    依赖注入框架Castle Windsor从容器里解析一个实例时(也就是调用Resolve方法),是通过调用待解析对象的构造函数new一个对象并返回,那么问题是:它是调用哪个构造函数呢? 无参的构造函数 ...

  3. 3.Windows Server 2012 R2数据库部署

    很多人竟然不会安装数据库....好吧,来个图文教程,其实和windows里面一样安装,和安装2008一样的 先安装3.5:http://www.cnblogs.com/dunitian/p/53487 ...

  4. nginx的使用

    1.nginx的下载 解压后文件目录: 2.nginx的常用命令 nginx -s stop 强制关闭  nginx -s quit 安全关闭  nginx -s reload 改变配置文件的时候,重 ...

  5. 【原】AFNetworking源码阅读(一)

    [原]AFNetworking源码阅读(一) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 AFNetworking版本:3.0.4 由于我平常并没有经常使用AFNetw ...

  6. 解决PHP-问题:Class 'SimpleXMLElement' not found in

    1.问题 在ubuntu 16.10中,学习PHP,学习到PHP如何生成XML文件时候,碰到了这个问题: PHP Fatal error: Class 'ClassName\SimpleXMLElem ...

  7. UWP开发之Mvvmlight实践九:基于MVVM的项目架构分享

    在前几章介绍了不少MVVM以及Mvvmlight实例,那实际企业开发中将以那种架构开发比较好?怎样分层开发才能节省成本? 本文特别分享实际企业项目开发中使用过的项目架构,欢迎参照使用!有不好的地方欢迎 ...

  8. spring remoting源码分析--Hessian分析

    1. Caucho 1.1 概况 spring-remoting代码的情况如下: 本节近分析caucho模块. 1.2 分类 其中以hession为例,Hessian远程服务调用过程: Hessian ...

  9. SQLServer 版本之八大方法搞清 "我是谁"

    你正在使用 SQL Server 的哪个版本? 贴士:作为一个SQL Server数据库管理者或维护.支持人员,应该会经常问自己这样一个问题:我当前SQL Server版本号是?当前版本已经有的累计更 ...

  10. Java 为值传递而不是引用传递

    ——reference Java is Pass by Value and Not Pass by Reference 其实这个问题是一个非常初级的问题,相关的概念初学者早已掌握,但是时间长了还是容易 ...