• [.NET] 打造一个很简单的文档转换器


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

  • 相关阅读:
    Spring Boot 2.x基础教程:Swagger接口分类与各元素排序问题详解
    Spring Boot 2.x基础教程:JSR-303实现请求参数校验
    Spring Boot 2.x基础教程:使用Swagger2构建强大的API文档
    Spring Boot 2.x基础教程:构建RESTful API与单元测试
    IntelliJ中Git突然不能用,报错 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)
    OpenWrite插件上架Google商店,插件安装更加容易!用户安全更有保障!
    为什么我建议大家将原创文章分发到多个平台?
    Spring Cloud与Dubbo的完美融合之手「Spring Cloud Alibaba」
    程序员干私活搞副业,个税问题搞清楚没?今年到手的2000明年还是2000吗?
    RabbitMQ延迟消息的延迟极限是多少?
  • 原文地址:https://www.cnblogs.com/liqingwen/p/6024827.html
Copyright © 2020-2023  润新知