首页 > 其他分享 >使用Spire.Doc来转换文本

使用Spire.Doc来转换文本

时间:2022-12-30 12:06:52浏览次数:68  
标签:文件 word license Doc Spire 文档 文本


使用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来转换文本_转换成pdf

你的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​​上找到原始的演示文本。

使用Spire.Doc来转换文本_转换成Html_02

这个库的关键当然是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文档中的添加信息的。在这篇示例中,文件夹包括我们所添加到文本的测试图片以及存储表格格式的表单。这样一来,不仅仅确保我们的数据被转化并且保留了添加信息,例如样式的完整。


使用Spire.Doc来转换文本_.NET控件_03


样式表单如下图


使用Spire.Doc来转换文本_C#_04

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

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


转化成Pdf



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





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





使用Spire.Doc来转换文本_C#_05



转化成Xml





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


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


使用Spire.Doc来转换文本_C#_06




转化成图片

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


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


结论

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

 

 

 

 

标签:文件,word,license,Doc,Spire,文档,文本
From: https://blog.51cto.com/u_15656056/5979825

相关文章

  • Spire.Doc API 可以在下载啦!
    近期,我们会将E-iceblue公司发布的系列产品帮助文档API陆续提交到.今天我们提交的是Spire.DocAPI.先来看看Spire.Doc产品的API样式图:Spire.DocAPI详细罗列了Spire.Doc......
  • Centos下部署最后一版支持Docker的k8s集群
    部署版本首先要确定部署的版本查询Kubernetes对Docker支持的情况kubernetes/dependencies.yamlatmaster·kubernetes/kubernetes(github.com)查询KubernetesDa......
  • centos7 docker安装
    前提条件:目前,CentOS仅发行版本中的内核支持Docker。Docker运行在CentOS7(64-bit)上,要求系统为64位、Linux系统内核版本为3.8以上,这里选用Centos7.x一:检查环境1:查......
  • Docker容器内服务自启动解决方案
    背景在很多场景下,我们需要拉取或者是使用的别人的容器,但是有些容器内部的服务并不能自启动,比如Apache服务、mysql服务等等,对于数量较少的容器来讲,我们可以进入容器中使用......
  • linux-工作目录切换、文本文件编辑、文件目录管理
    工作目录切换命令pwdpwd命令用于显示用户当前所处的工作目录cdcd命令用于切换工作路径cd/bin#返回到上一次的目录cd-快速切换到用户的家目录:cd~lsls......
  • docker的使用以及常用命令
    查看docker镜像仓库中是否存在某个镜像,通常第一个或stars最多的就是我们要是使用的,以nginx为例#搜索一下是否存在该镜像文件dockersearchnginx#安装使用该镜像dock......
  • Docker
    dockerrun过程dockerrun开始后现在本地查找镜像,如果有就以镜像为模板生产容器实例运行,如果没有就去DockerHub上查找该镜像,找得到就下载到本地,以镜像为模板生产容器实例运......
  • Docker 在线安装与离线安装
    在线安装参考的是Docker官方文档(现在应该没有“InstallonCentOS”了)。离线安装使用的包是学校教学发放的。Docker在线安装系统要求#CentOS7满足最低的内核要求......
  • docx模块Document报错问题
    报错:fromexceptionsimportPendingDeprecationWarningModuleNotFoundError:Nomodulenamed'exceptions'2、着手解决问题 ......
  • Ubuntu18.04安装docker-compose
    下载compose下载链接:https://github.com/docker/compose上传到乌班图系统可以直接拖拽过去,放到/usr/local/bin/目录下修改包名mvdocker-compose-linux-x86_......