使用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. PHP的数组排序函数

    <?php class order{ /** * * 数组排序 * @param array $arr 例如: * array ( array ( 'deskId' => '460646' ...

  2. Windows下ADT环境搭建

    1.JDK安装 下载JDK(点我下载),安装成功后在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量: JAVA_HOME值为C:\Program Files ...

  3. MYSQL 5.0 USING BTREE 错误

    今天遇到个错误,导入数据库的时候报错,最后发现是php版本的问题导致包含 KEY `uniacid` (`uniacid`) USING BTREE 的SQL命令报错 5.1之前的写法: KEY `u ...

  4. Red Hat5.5 install Generic mysql-5.7.10

    1.确认以下依赖包已安装 [ncurses ncurses-devel openssl-devel bison autoconf automake bison gcc m4 libtool make ...

  5. shell简单用法笔记(一)

    一.linux中主要用的bash shell:查看linux系统中支持的shell种类可用: vim /etc/shell 执行shel脚步的方式: 1.赋予脚步可执行权限,使用相对或绝对路径调用该脚 ...

  6. 一步步学习javascript基础篇(3):Object、Function等引用类型

    我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...

  7. eventbus 备注

    Event在整个系统中是单例的. EventBus.getDefault().register(this); 注册 EventBus.getDefault().unregister(this); 注销 ...

  8. 剑指Offer面试题:29.丑数

    一.题目:丑数 题目:我们把只包含因子2.3和5的数称作丑数(Ugly Number).求按从小到大的顺序的第1500个丑数.例如6.8都是丑数,但14不是,因为它包含因子7.习惯上我们把1当做第一个 ...

  9. 一个App完成入门篇-终结篇(八)- 应用收官

    经过以上几步的学习,我们终于来到最后一个步骤了,应用APP也接近尾声. 通过之前的几节教程,不知道您对使用DeviceOne开发一个应用是不是已经得心应手了,本节教程将教会大家如何在开发完成之后通过D ...

  10. MySQL RANGE分区

    200 ? "200px" : this.width)!important;} --> 介绍 RANGE分区基于一个给定的连续区间范围,早期版本RANGE主要是基于整数的分区 ...