使用Spire.Doc来转换文本

前段时间,我为不熟悉这个产品的读者们写了一篇关于我对 Spire.Doc的初识印象。Spire.Doc是一个专业的Word .NET库,它是专门为开发人员设计的用来快捷高效地在任何.NET(C#,VB.NET,ASP.NET)创建,载入,编辑,转化,打印 Word文档的。作为一个独立的Word .NET组件,Spire.Doc for .NET不需要您在机器上安装 MicrosoftWord。但是它可以将Microsoft Word 文件创造力与在任何开发者的应用合为一体。

背景

这篇文章的目的是为了展示并且评论Spire.Doc在文件格式转换中的能力。很久以前开发人员就不必在服务器上安装 MicrosoftOffice才能处理文件了。首先,这种设计和实现很糟糕。再次,微软从来不打算将Microsoft Offic作为服务器组件并且在设计之初并不是为了在服务器端用来诠释和处理文档的。这就孕育出用像Spire.Doc这样函数库的想法。

当我们谈论到这里时,不得不提到 Office Open Xml。 Office OpenXml(非官方也叫做OOXML或OpenXML)是微软开发的用于表现数据表格,图表,演示模板和处理word文件的一个基于XML的压缩文件格式。微软通过欧洲计算机制造商协会在2005年11月份对外宣称他们将联合标准化新版基于XML的格式,这就是“Office Open XML”。 Open Xml 的介绍对于Office文件结构给出了更多标准,开发者在此之下使用Open Xml SDK 可以直接完成许多基本操作,但是将word文档转化成其他不同格式像PDF,图像或者HTML等等还是有很多的困难。这就是为什么说像 Spire.Doc 这类的函数库解救了我们“开发者们”。

文本转换

我将在文章剩下的篇幅介绍可以使用Spire.Doc的不同情况。抓换的示例都可以自行在Spire.DocDemo Live Demo中实现。我要展示的工程是一个简单的控制台程序但是Spire.Doc也支持像Web和Silverlight 的其他平台。

以下是Spire.Doc自己的说法,下面我们看它的具体表现。

“Spire.Doc for .NET enables converting Word documents tomost common and popular formats.”

首先我们要用Spire.Doc的话就要先将它的库引用添加至你的工程文件中,Spire.License 和Spire.Pdf是打包在Spire.Doc组件中的。

你的Spire.Doc license必须有效否则在文档中会出现评估警告。设置license只要提供license文件的地址路径,然后函数库会自动应用确认license信息。其它的加载license方法还有从本地动态检索出license或者将它添加为嵌入资源。具体文件操作点击这里

 FileInfo licenseFile = new FileInfo(@"C:\ManasBhardwaj\license.lic");
 Spire.License.LicenseProvider.SetLicenseFile(licenseFile);

为了证实他基本的功能,我用一个有简单文字的word文本,一个有图像的,还有一个有表格的来演示。看上去是下图样子,你可以在Spire.Doc Demo上找到原始的演示文本。

这个库的关键当然是Document 类。所以我们从创建Document  object并 从文件中加载文档信息开始。Document  object的简便性在于仅仅使用三行代码,我们就可以将一个相当复杂的像本篇有很多元素的word文档转化为完全不同的文档,这在是HTML格式。

//Create word document
Document document = new Document();
document.LoadFromFile(@"This is a Test Document.docx");

转化成Html

//Convert the file to HTML format
document.SaveToFile("Test.html", FileFormat.Html);

所以,到现在为止我们应该已经有了要用于转化的文档了。我们来看下他在后台是怎样做到的。你要观察新生成的有附加文件和文件夹的HTML文件的生成过程。这些文件和文件夹是用来保存哪些将出现在你的word文档中的添加信息的。在这篇示例中,文件夹包括我们所添加到文本的测试图片以及存储表格格式的表单。这样一来,不仅仅确保我们的数据被转化并且保留了添加信息,例如样式的完整。

样式表单如下图

单单一个参数的不同也可能会导致文本到其他文件的转换像PDF出现失误。我欣赏它的是在一个framework 中我们就可以不用附加样式构图而转换成其他不同格式的文件。

注意它是在内存中完成,因此你不用接触文件系统授权什么的。我记得以前在做工程的时候我们想转换文件结果数据是从组件转到pdf了但是无法跨格式保留原文件的布局。

转化成Pdf

//Convert the file to PDF
document.SaveToFile("Test.Pdf", FileFormat.PDF);

几行代码你就能看到下面显示的PDF文件。license 警告是因为我用的是试用版本。如果你有授权license 文件,它就会消失。

转化成Xml

 

FileFormat 类向我们显示它最多支持24中不同格式。我最喜欢的是Xml。它拓展了我们可以对文档数据的操作。举个例子,你可以通过编辑word

文档然后在未处理文件中生成Xml文件。

//Convert the file to Xml
document.SaveToFile("Test.Xml", FileFormat.Xml);

转化成图片

把文档转换成图片会怎么样呢? Spire.Doc 支持文档到图片的转化类,用它可以在 .Net framework中保存任何它所支持的图片格式。

//Save image file.
Image image = document.SaveToImages(, ImageType.Metafile);
image.Save("Test.tif", System.Drawing.Imaging.ImageFormat.Tiff);

结论

Spire.Doc 是一个在word文档转换成其他文件格式时功能强大并且使用简单产品。如果你用下生成数据表的功能你会发现更好用。作为第三方软件,总有一种事情的多种做法。衡量利弊购买一个license不失为一个好选择。从功能和价格方面考虑,对比市面上同类产品价格其实还好。真正物有所值才重要。

使用Spire.Doc来转换文本的更多相关文章

  1. 【好文翻译】一步一步教你使用Spire.Doc转换Word文档格式

    背景: 年11月,微软宣布作为ECMA国际主要合作伙伴,将其开发的基于XML的文件格式标准化,称之为"Office Open XML" .Open XML的引进使office文档结 ...

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

    开头不讲"Hello Word",读尽诗书也枉然 : Word 操作组件介绍 - Spire.Doc [博主]反骨仔 [原文地址]http://www.cnblogs.com/li ...

  3. SPIRE.DOC - .NET开发者的福利

    SPIRE.DOC - .NET开发者的福利 前面我们使用过Spire.XLS for .NET Component创建Excel文件.最近试用了下.DOC 方面的API.这次测试的产品是.通过使用S ...

  4. Spire.Doc组件读取与写入Word

    之前写了一篇开源组件DocX读写word的文章,当时时间比较匆忙选了这个组件,使用过程中还是有些不便,不能提前定义好模版,插入Form表单域进行替换.最近无意中发现Spire.Doc组件功能很强大,目 ...

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

      [原文地址]http://www.cnblogs.com/liqingwen/p/5898368.html 序 本打算过几天简单介绍下组件 Spire.XLS,突然发现园友率先发布了一篇,既然 x ...

  6. Spire.Doc 生成pdf业务运营报告

    需求:每天向全国各运营大区钉钉运营群定时发送pdf业务运营报告: 通过对各Office操作组件对比,选择Spire.Doc.它专门为开发人员进行创建,读取,写入.转换打印 word 文档文件提供便利, ...

  7. 【产品对比】Word开发工具Aspose.Words和Spire.Doc性能和优劣对比一览

    转:evget.com/article/2018/4/3/27885.html 概述:Microsoft Office Word是微软公司的一个文字处理器应用程序,作为办公软件必不可少的神器之一,Wo ...

  8. Spire.DOC生成表格测试

    首先,很感谢Jack对我的信任,让我来写一个评测,在此对Jack说一声抱歉,由于本人愚钝,并且最近项目比较紧张,把评测这个事情脱了一个月之久,由于往后的日子可能更忙,所以今晚抽空只能只写了一个小程序来 ...

  9. 在C#中使用Spire.doc对word的操作总结

    在C#中使用Spire.doc对word的操作总结 在最近的工程中我们要处理一些word文档.通过在网上的大量搜索,我发现大多数软件功能不是不完整就是有重复.极少数可以完全实现的word组件又要收费. ...

随机推荐

  1. perl学习之路1

    一切要从Hollo world开始 公司要用perl....啊, 不会只能自学了, 毕竟是公司啊, 不是学校...公司不学习就滚蛋了...惨惨惨 因为是学习嘛, 感觉开虚拟机比较麻烦所以直接用了个 瘟 ...

  2. CentOS7 编译安装 Git 服务器 Centos 7.0 + Git 2.2.0 + gitosis (实测 笔记)

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 服务器IP:192.168.1.31 域 ...

  3. C#简单的上位机制作之界面设计

    今天开始打算正式在博客园落户了,写点有用的吧, 一个简单的C#上位机,也就是串口调试助手废话不多说,新建windows应用程序 到这人一个工程就算是新建完成了,然后就是组件的添加了,我们需要在里面添加 ...

  4. js ---- 时间格式

    Js获取当前日期时间及其它操作 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear(); ...

  5. myeclipse tomcat内存溢出解决方法

    Tomcat直接启动正常,通过myeclipse启动tomcat内存溢出.MyEclipse启动Tomcat无视catalina.bat中设置内存大小的问题.在 tomcat的catalina.bat ...

  6. canvas初探3:画方画圆

    绘制矩形的方法,strokeRect().fillRect()及clearRect(). 方法 描述 strokeRect(double x,double y,double w,double h) 使 ...

  7. 记一个简单的保护if 的sh脚本

    真是坑爹,就下面的sh,竟然也写了很久! if [ `pwd` != '/usr/xx/bin/tomcat' ] then echo "rstall is not allowed in c ...

  8. JavaScript算法(归并排序与快速排序)

    归并排序与快速排序这两个算法放在一起,也是因为时间复杂度都是对数级别的. 目前看过的资料,归并排序看<学习JavaScript数据结构与算法>介绍的归并排序吧,快速排序直接看百度百科,讲的 ...

  9. Wakatime 测试工作时间

    Wakatime – 现在几点了,你在做什么呢 前面提到了一个用来QS自己的工具Clarify.这次介绍一个专门给程序员用的工具.大家都知道一万小时定律,但我究竟写java写了多久了呢?WakaTim ...

  10. Atitit 边缘检测原理attilax总结

    Atitit 边缘检测原理attilax总结 1. 边缘检测的概念1 1.1. 边缘检测的用途1 2. 边缘检测方法分类1 3. 边缘检测的基本方法2 3.1. Roberts边缘检测算子2 3.2. ...