使用Spire.Doc来转换文本
使用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来转换文本的更多相关文章
- 【好文翻译】一步一步教你使用Spire.Doc转换Word文档格式
背景: 年11月,微软宣布作为ECMA国际主要合作伙伴,将其开发的基于XML的文件格式标准化,称之为"Office Open XML" .Open XML的引进使office文档结 ...
- [.NET] 开头不讲"Hello Word",读尽诗书也枉然 : Word 操作组件介绍 - Spire.Doc
开头不讲"Hello Word",读尽诗书也枉然 : Word 操作组件介绍 - Spire.Doc [博主]反骨仔 [原文地址]http://www.cnblogs.com/li ...
- SPIRE.DOC - .NET开发者的福利
SPIRE.DOC - .NET开发者的福利 前面我们使用过Spire.XLS for .NET Component创建Excel文件.最近试用了下.DOC 方面的API.这次测试的产品是.通过使用S ...
- Spire.Doc组件读取与写入Word
之前写了一篇开源组件DocX读写word的文章,当时时间比较匆忙选了这个组件,使用过程中还是有些不便,不能提前定义好模版,插入Form表单域进行替换.最近无意中发现Spire.Doc组件功能很强大,目 ...
- 开头不讲"Hello Word",读尽诗书也枉然 : Word 操作组件介绍 - Spire.Doc (转)
[原文地址]http://www.cnblogs.com/liqingwen/p/5898368.html 序 本打算过几天简单介绍下组件 Spire.XLS,突然发现园友率先发布了一篇,既然 x ...
- Spire.Doc 生成pdf业务运营报告
需求:每天向全国各运营大区钉钉运营群定时发送pdf业务运营报告: 通过对各Office操作组件对比,选择Spire.Doc.它专门为开发人员进行创建,读取,写入.转换打印 word 文档文件提供便利, ...
- 【产品对比】Word开发工具Aspose.Words和Spire.Doc性能和优劣对比一览
转:evget.com/article/2018/4/3/27885.html 概述:Microsoft Office Word是微软公司的一个文字处理器应用程序,作为办公软件必不可少的神器之一,Wo ...
- Spire.DOC生成表格测试
首先,很感谢Jack对我的信任,让我来写一个评测,在此对Jack说一声抱歉,由于本人愚钝,并且最近项目比较紧张,把评测这个事情脱了一个月之久,由于往后的日子可能更忙,所以今晚抽空只能只写了一个小程序来 ...
- 在C#中使用Spire.doc对word的操作总结
在C#中使用Spire.doc对word的操作总结 在最近的工程中我们要处理一些word文档.通过在网上的大量搜索,我发现大多数软件功能不是不完整就是有重复.极少数可以完全实现的word组件又要收费. ...
随机推荐
- java基础1_标识符,数据类型
JDK的卸载与安装 : 1 卸载 a 从程序中卸载 控制面板 - 程序和功能 - 卸载JDK; b 删除 C:\Windows\System32 下面的 java javac java ...
- iOS 让按钮上的标题换行显示
项目中遇到了要让按钮上的文字换行显示的需求,就写了这个博客. 1.如果按钮上的文字固定,形式是写死的,可以考虑给标题文字加\n换行符来达到效果,但是,记得一定要设置这个属性,不然是不会换行的, but ...
- HDU2159 二维完全背包
FATE Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- viso
- Java NIO4:Socket通道
Socket通道 上文讲述了通道.文件通道,这篇文章来讲述一下Socket通道,Socket通道与文件通道有着不一样的特征,分三点说: 1.NIO的Socket通道类可以运行于非阻塞模式并且是可选择的 ...
- C# 6.0 功能预览 (一)
一.索引的成员和元素初始化 1.1 原始初始化集合 Dictionary 1.2 键值初始化集合 Dictionary 1.3 运算符 $ 初始化集合 Dictionary 二.自动属性的初始化 一不 ...
- WCF Security基本概念(转载)
WCF Security 主要包括 "Transfer Security"."Access Control"."Auditing" 几个部分 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (30) ------ 第六章 继承与建模高级应用之多对多关联
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第六章 继承与建模高级应用 现在,你应该对实体框架中基本的建模有了一定的了解,本章 ...
- Qt5中的信号槽
Qt4中的信号槽 Qt4中的信号槽是通过SIGNAL,SLOT两个宏,将参数转换成字符串.Qt编译前,会从源码的头文件中提取由signal和slot声明的信号和槽的函数, 将其组成一张信号和槽对应的字 ...
- window系统JDK1.7的快速配置
快速配置java环境变量 右键单击计算机--->属性 点击 "高级系统设置"--->"环境变量",出现环境变量设置窗口 系统变量--->新建 ...