[.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 可以依葫芦画瓢。

 1             //创建文档对象
 2             var document = new Document();
 3 
 4             //加载文档
 5             document.LoadFromFile("包含路径的文件名");  //例:document.SaveToFile("Sample.pdf", FileFormat.PDF);
 6             //保存文件
 7             document.SaveToFile("包含文件名的路径",  "想转换的文档格式类型");
 8 
 9             //打开文件,预览操作
10             Process.Start("包含路径的文件名");

  这里的文档格式类型的支持也是比较多的,FileFormat 枚举。

  1     public enum FileFormat
  2     {
  3         //
  4         // 摘要:
  5         //     Microsoft Word 97 - 2003 Binary Document.
  6         Doc = 0,
  7         //
  8         // 摘要:
  9         //     Microsoft Word 97 - 2003 Binary Document or Template.
 10         Dot = 1,
 11         //
 12         // 摘要:
 13         //     Microsoft Word 2007 Document.
 14         Docx = 2,
 15         //
 16         // 摘要:
 17         //     Microsoft Word 2010 Document
 18         Docx2010 = 3,
 19         //
 20         // 摘要:
 21         //     Microsoft Word 2013 Document
 22         Docx2013 = 4,
 23         //
 24         // 摘要:
 25         //     Microsoft Word 2007 Template format.
 26         Dotx = 5,
 27         //
 28         // 摘要:
 29         //     Microsoft Word 2010 Template format.
 30         Dotx2010 = 6,
 31         //
 32         // 摘要:
 33         //     Microsoft Word 2013 Template format.
 34         Dotx2013 = 7,
 35         //
 36         // 摘要:
 37         //     Microsoft Word 2007 macro enabled file format.
 38         Docm = 8,
 39         //
 40         // 摘要:
 41         //     Microsoft Word 2010 macro enabled file format.
 42         Docm2010 = 9,
 43         //
 44         // 摘要:
 45         //     Microsoft Word 2013 macro enabled file format.
 46         Docm2013 = 10,
 47         //
 48         // 摘要:
 49         //     Microsoft Word 2007 macro enabled template format.
 50         Dotm = 11,
 51         //
 52         // 摘要:
 53         //     Microsoft Word 2010 macro enabled template format.
 54         Dotm2010 = 12,
 55         //
 56         // 摘要:
 57         //     Microsoft Word 2013 macro enabled template format.
 58         Dotm2013 = 13,
 59         //
 60         // 摘要:
 61         //     PDF format
 62         PDF = 14,
 63         //
 64         // 摘要:
 65         //     Rtf format
 66         Rtf = 15,
 67         //
 68         // 摘要:
 69         //     Xml file format.
 70         Xml = 16,
 71         //
 72         // 摘要:
 73         //     Text file format.
 74         Txt = 17,
 75         //
 76         // 摘要:
 77         //     Html format.
 78         Html = 18,
 79         //
 80         // 摘要:
 81         //     XPS format
 82         XPS = 19,
 83         //
 84         // 摘要:
 85         //     EPub format
 86         EPub = 20,
 87         //
 88         // 摘要:
 89         //     WordprocessingML format
 90         WordML = 21,
 91         //
 92         // 摘要:
 93         //     Word xml format.
 94         WordXml = 22,
 95         //
 96         // 摘要:
 97         //     The document is in the Word 6 or Word 95 format. Spire.Doc does not currently
 98         //     support loading such documents.
 99         DocPre97 = 23,
100         //
101         // 摘要:
102         //     Instructs Spire.Doc to recognize the format automatically.
103         Auto = 24
104     }

 

 

 

  只是一些新手入门的代码,看起来没什么好说的。

  Demo 下载地址:http://git.oschina.net/liqingwen/OfficeConverter

  

传送门

  《开头不讲"Hello Word",读尽诗书也枉然 : Word 操作组件介绍 - Spire.Doc

 

posted @ 2016-11-03 08:31  反骨仔  阅读(3567)  评论(12编辑  收藏