OLE矢量图的显示方法、装置及设备
技术领域
本发明涉及对象连接与嵌入(Object Linking and Embedding,简称OLE)技术领域,尤其涉及一种OLE矢量图的显示方法、装置及设备。
背景技术
对象连接与嵌入技术(Object Linking and Embedding,简称OLE技术),不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为组件对象模型(COM)。OLE对象可以是几乎所有的信息类型,如文字、位图、矢量图形,甚至声音注解和录象剪辑等。OLE矢量图是指类型为矢量图形的OLE对象。
目前,微软文字处理软件(Microsoft Office Word,简称Word)用户可以利用Word提供的功能及OLE技术将使用第三方专业软件制作的OLE矢量图嵌入到Word文件中,Word以WMF格式图元文件存储这些矢量图。
随着互联网的发展,很多用户会将通过Word编写的专业文章等Word文件通过互联网进行分享,其他用户可以通过浏览器浏览该专业文章。但是,目前各主流的浏览器不支持WMF格式图元文件的显示,通过将WMF格式图元文件转换成png、jpg等格式的位图文件进行显示,但是将WMF格式图元文件转换成png、jpg等格式的位图文件时会大大降低原有矢量图的精度,导致浏览器所显示的图片精度较低,显示效果较差。
发明内容
本发明提供一种OLE矢量图的显示方法、装置及设备,用以解决目前各主流的浏览器不支持WMF格式图元文件的显示,通过将WMF格式图元文件转换成png、jpg等格式的位图文件进行显示,会大大降低原有矢量图的精度,导致浏览器所显示的图片精度较低,显示效果较差的问题。
本发明的一个方面是提供一种OLE矢量图的显示方法,包括:
获取待显示的OLE矢量图的图元文件;
将所述OLE矢量图的图元文件转换为PDF文件;
在显示页面中所述OLE矢量图对应的位置显示所述PDF文件。
本发明的另一个方面是提供一种OLE矢量图的显示装置,包括:
获取模块,用于获取待显示的OLE矢量图的图元文件;
转换模块,用于将所述OLE矢量图的图元文件转换为PDF文件;
显示模块,用于在显示页面中所述OLE矢量图对应的位置显示所述PDF文件。
本发明的另一个方面是提供一种OLE矢量图的显示设备,包括:
处理器,
存储器,
以及存储于所述存储器上并可由所述处理器执行的计算机程序;
所述处理器执行所述计算机程序时实现OLE矢量图的显示方法。
本发明的另一个方面是提供一种计算机可读存储介质,包括:存储有计算机程序,所述计算机程序被处理器执行时实现OLE矢量图的显示方法。
本发明提供的OLE矢量图的显示方法、装置及设备,通过获取待显示的OLE矢量图的图元文件,将所述OLE矢量图的图元文件转换为PDF文件,在显示页面中所述OLE矢量图对应的位置显示所述PDF文件,由于PDF文件也是矢量图文件,将WMF图元文件转换为PDF文件不会降低原有矢量图的精度,实现了在浏览器中高精度地显示OLE矢量图对应的PDF文件,提高了浏览器对OLE矢量图的显示精度,显示效果得到很大地改善。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本发明实施例一提供的OLE矢量图的显示方法流程图;
图2为本发明实施例二提供的OLE矢量图的显示方法流程图;
图3为本发明实施例三提供的OLE矢量图的显示装置的结构示意图;
图4为本发明实施例五提供的OLE矢量图的显示设备的结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
首先对本发明所涉及的名词进行解释:
WMF(Windows Metafile Format):是Windows平台中常见的一种图元文件格式,属于矢量文件格式。WMF格式图元文件表示的矢量图是由简单的线条和封闭线条(图形)组成的矢量图,其主要特点是文件非常小,可以任意缩放而不影响图像质量。
对象连接与嵌入技术(Object Linking and Embedding,简称OLE技术),不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为组件对象模型(COM)。OLE对象可以是几乎所有的信息类型,如文字、位图、矢量图形,甚至声音注解和录象剪辑等。
OLE矢量图:是指类型为矢量图形的OLE对象。通常,微软文字处理软件(MicrosoftOffice Word,简称Word)用户可以利用Word提供的功能及OLE技术将使用第三方专业软件制作的OLE矢量图嵌入到Word文件中,Word内部又以WMF格式图元文件存储这些矢量图。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
图1为本发明实施例一提供的OLE矢量图的显示方法流程图。本发明实施例针对目前各主流的浏览器不支持WMF格式图元文件的显示,通过将WMF格式图元文件转换成png、jpg等格式的位图文件进行显示,会大大降低原有矢量图的精度,导致浏览器所显示的图片精度较低,显示效果较差的问题,提供了OLE矢量图的显示方法。如图1,该方法具体步骤如下:
步骤S101、获取待显示的OLE矢量图的图元文件。
其中,待显示的OLE矢量图可以是用户通过第三方专业制图软件制作的矢量图。例如,通过Microsoft Office Visio制作的图形,通过LaTeX、或者数据公式编辑器(MathType)制作的数学公式、化学公式等。
步骤S102、将OLE矢量图的图元文件转换为PDF文件。
本实施例中,可以通过ImageMagick、meta2eps、Wmf2vec、emf2vec等第三方专业软件的图片格式转换功能,将OLE矢量图的图元文件转换为PDF文件。
其中,ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。meta2eps、Wmf2vec和emf2vec是格式转换工具,可以用于将WMF格式图元文件转换为PDF格式。
可选的,还可以通过调用预存的格式转换程序将OLE矢量图的图元文件转换为PDF文件。其中,预存的格式转换程序可以为第三方格式转换工具提供的格式转换程序,或者预存的格式转换程序还可以为技术人员自行编写并存储的格式转换程序,本实施例此处不做具体限定。
步骤S103、在显示页面中OLE矢量图对应的位置显示PDF文件。
目前的主流浏览器,都是直接支持PDF文件显示的,例如谷歌chrome)浏览器、火狐(Firefox)浏览器、IE浏览器等,均可以直接显示PDF文件;而且PDF文件也是矢量图文件。
本实施例中,在将OLE矢量图的图元文件转换为PDF文件之后,将PDF文件显示在显示页面中OLE矢量图对应的位置。
具体地,可以利用HTML等语言编写用于显示PDF文件的显示页面,在显示页面中OLE矢量图对应的位置显示PDF文件时。
本发明实施例通过获取待显示的OLE矢量图的图元文件,将OLE矢量图的图元文件转换为PDF文件,在显示页面中OLE矢量图对应的位置显示PDF文件,由于PDF文件也是矢量图文件,将WMF图元文件转换为PDF文件不会降低原有矢量图的精度,实现了在浏览器中高精度地显示OLE矢量图对应的PDF文件,提高了浏览器对OLE矢量图的显示精度,显示效果得到很大地改善。
实施例二
图2为本发明实施例二提供的OLE矢量图的显示方法流程图。随着互联网的发展,很多用户会将通过Word编写的专业文章等Word文件通过互联网进行分享,其他用户可以通过浏览器浏览该专业文章。在上述实施例一的基础上,本实施例中,待显示的OLE矢量图为嵌入在Word文件中的矢量图,获取待显示的OLE矢量图的图元文件,包括:获取包含待显示的OLE矢量图的Word文件;从Word文件中获取OLE矢量图的WMF图元文件。进一步地,从Word文件中获取OLE矢量图的WMF图元文件,包括:将Word文件存储为基于XML的压缩文件格式的第一临时Word文件;将第一临时Word文件进行重命名,在第一临时Word文件原有的文件名称后拼接预设压缩文件后缀,得到第二临时Word文件;将第二临时Word文件解压到预设文件目录中;从预设文件目录中读取OLE矢量图的WMF图元文件。如图2所示,该方法具体步骤如下:
步骤S201、获取包含待显示的OLE矢量图的Word文件。
浏览器将图片显示到网页时,通常可以通过能够唯一标识该OLE矢量图的属性信息来查找并显示该OLE矢量图。其中,用于唯一标识该OLE矢量图的属性信息可以是OLE矢量图的标识信息、名称信息、存放路径信息等。
本实施例中,待显示的OLE矢量图为嵌入在Word文件中的矢量图。该步骤中具体可以采用如下方式实现:
根据预先存储的OLE矢量图与Word文件的对应关系,以及用于唯一标识该OLE矢量图的属性信息,确定与待显示的OLE矢量图对应的Word文件,即找到包含待显示的OLE矢量图的Word文件;根据包含待显示的OLE矢量图的Word文件的存放路径读取包含待显示的OLE矢量图的Word文件。
步骤S202、从Word文件中获取OLE矢量图的WMF图元文件。
目前,微软文字处理软件(Microsoft Office Word,简称Word)用户可以利用Word提供的功能及OLE技术将使用第三方专业软件制作的OLE矢量图嵌入到Word文件中,Word以WMF格式图元文件存储这些矢量图。
本实施例中,从Word文件中获取OLE矢量图的WMF图元文件,具体可以采用如下方式实现:
将Word文件存储为基于XML的压缩文件格式的第一临时Word文件;将第一临时Word文件进行重命名,在第一临时Word文件原有的文件名称后拼接预设压缩文件后缀,得到第二临时Word文件;通过解压工具将第二临时Word文件解压到预设文件目录中;从预设文件目录中读取OLE矢量图的WMF图元文件。
其中,基于XML的压缩文件格式的第一临时Word文件的文件扩展名为docx;所述预设压缩文件后缀可以为“.zip”。
预设文件目录可以由技术人员根据实际需要进行设定,例如,预设文件目录为“.\Word\media\”。
具体地,将Word文件另存为基于XML的压缩文件格式的第一临时Word文件,具体可以采用如下方式实现:
判断Word文件的文件扩展名是否为docx;若Word文件的文件扩展名不是docx,则将Word文件另存为文件扩展名为docx的第一临时Word文件;若Word文件的文件扩展名是docx,则将Word文件作为第一临时Word文件。
另外,本实施例中将Word文件另存为文件扩展名为docx的第一临时Word文件,可以通过调用Word中“另存为”功能对应的程序自动将文件扩展名不是docx的Word文件(例如,文件扩展名为doc的Word文件)存储为文件扩展名为docx的第一临时Word文件。或者,还可以利用Apache POI直接解析文件扩展名不是docx的Word文件(例如,文件扩展名为doc的Word文件),然后存储为文件扩展名为docx的第一临时Word文件。其中,Apache POI是用Java编写的免费开源的跨平台的Java API,Apache POI提供API给Java程式对MicrosoftOffice格式档案读和写的功能。
例如,假设包含待显示的OLE矢量图的Word文件的名称为word1.doc,则该步骤中,经判断可以确定Word文件的文件扩展名不是docx,因此,将该Word文件另存为文件扩展名为docx的第一临时Word文件,第一临时Word文件名称为word1.docx;然后,将第一临时Word文件进行重命名,在第一临时Word文件原有的文件名称后拼接“.zip”,得到第二临时Word文件word1.docx.zip,通过解压工具将第二临时Word文件解压到预设文件目录“.\Word\media\”中;从预设文件目录“.\Word\media\”中读取OLE矢量图的WMF图元文件。
步骤S203、将OLE矢量图的WMF图元文件转换为PDF文件。
本实施例中,可以通过ImageMagick、meta2eps、Wmf2vec、emf2vec等第三方专业软件的图片格式转换功能,将OLE矢量图的图元文件转换为PDF文件。
其中,ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。meta2eps、Wmf2vec和emf2vec是格式转换工具,可以用于将WMF格式图元文件转换为PDF格式。
可选的,还可以通过调用预存的格式转换程序将OLE矢量图的图元文件转换为PDF文件。其中,预存的格式转换程序可以为第三方格式转换工具提供的格式转换程序,或者预存的格式转换程序还可以为技术人员自行编写并存储的格式转换程序,本实施例此处不做具体限定。
步骤S204、在显示页面中OLE矢量图对应的位置显示PDF文件。
目前的主流浏览器,都是直接支持PDF文件显示的,例如谷歌chrome)浏览器、火狐(Firefox)浏览器、IE浏览器等,均可以直接显示PDF文件;而且PDF文件也是矢量图文件。
本实施例中,在将OLE矢量图的图元文件转换为PDF文件之后,将PDF文件显示在显示页面中OLE矢量图对应的位置。
具体地,可以利用HTML等语言编写用于显示PDF文件的显示页面,在显示页面中OLE矢量图对应的位置显示PDF文件时。
本发明实施例通过将Word文件存储为基于XML的压缩文件格式的第一临时Word文件;将第一临时Word文件进行重命名,在第一临时Word文件原有的文件名称后拼接预设压缩文件后缀,得到第二临时Word文件;通过解压工具将第二临时Word文件解压到预设文件目录中;从预设文件目录中读取OLE矢量图的WMF图元文件,实现了从Word文件中获取OLE矢量图的WMF图元文件;通过获取包含待显示的OLE矢量图的Word文件,从Word文件中获取OLE矢量图的WMF图元文件,将OLE矢量图的WMF图元文件转换为PDF文件,在显示页面中OLE矢量图对应的位置显示PDF文件,可以由于PDF文件也是矢量图文件,将WMF图元文件转换为PDF文件不会降低原有矢量图的精度,实现了在浏览器中高精度地显示OLE矢量图对应的PDF文件,提高了浏览器对OLE矢量图的显示精度,对包含OLE矢量图的Word文件的显示效果得到很大地改善。
实施例三
图3为本发明实施例三提供的OLE矢量图的显示装置的结构示意图。本发明实施例提供的OLE矢量图的显示装置可以执行OLE矢量图的显示方法实施例提供的处理流程。如图3所示,该装置30包括:获取模块301,转换模块302和显示模块303。
具体地,获取模块301用于获取待显示的OLE矢量图的图元文件。
转换模块302用于将OLE矢量图的图元文件转换为PDF文件。
显示模块303用于在显示页面中OLE矢量图对应的位置显示PDF文件。
本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过获取待显示的OLE矢量图的图元文件,将OLE矢量图的图元文件转换为PDF文件,在显示页面中OLE矢量图对应的位置显示PDF文件,由于PDF文件也是矢量图文件,将WMF图元文件转换为PDF文件不会降低原有矢量图的精度,实现了在浏览器中高精度地显示OLE矢量图对应的PDF文件,提高了浏览器对OLE矢量图的显示精度,显示效果得到很大地改善。
实施例四
在上述实施例三的基础上,本实施例中,获取模块包括:第一获取子模块和第二获取子模块。
其中,第一获取子模块用于获取包含待显示的OLE矢量图的Word文件。
第二获取子模块用于从Word文件中获取OLE矢量图的WMF图元文件。
可选地,第二获取子模块还用于:
将Word文件存储为基于XML的压缩文件格式的第一临时Word文件;将第一临时Word文件进行重命名,在第一临时Word文件原有的文件名称后拼接预设压缩文件后缀,得到第二临时Word文件;将第二临时Word文件解压到预设文件目录中;从预设文件目录中读取OLE矢量图的WMF图元文件。
其中,基于XML的压缩文件格式的第一临时Word文件的文件扩展名为docx;所述预设压缩文件后缀为“.zip”。
可选地,第二获取子模块还用于:
判断Word文件的文件扩展名是否为docx;若Word文件的文件扩展名不是docx,则将Word文件另存为文件扩展名为docx的第一临时Word文件;若Word文件的文件扩展名是docx,则将Word文件作为第一临时Word文件。
本发明实施例提供的装置可以具体用于执行上述实施例二所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过将Word文件存储为基于XML的压缩文件格式的第一临时Word文件;将第一临时Word文件进行重命名,在第一临时Word文件原有的文件名称后拼接预设压缩文件后缀,得到第二临时Word文件;通过解压工具将第二临时Word文件解压到预设文件目录中;从预设文件目录中读取OLE矢量图的WMF图元文件,实现了从Word文件中获取OLE矢量图的WMF图元文件;通过获取包含待显示的OLE矢量图的Word文件,从Word文件中获取OLE矢量图的WMF图元文件,将OLE矢量图的WMF图元文件转换为PDF文件,在显示页面中OLE矢量图对应的位置显示PDF文件,可以由于PDF文件也是矢量图文件,将WMF图元文件转换为PDF文件不会降低原有矢量图的精度,实现了在浏览器中高精度地显示OLE矢量图对应的PDF文件,提高了浏览器对OLE矢量图的显示精度,对包含OLE矢量图的Word文件的显示效果得到很大地改善。
实施例五
图4为本发明实施例五提供的OLE矢量图的显示设备的结构示意图。如图4所示,该设备40包括:处理器401,存储器402,以及存储在存储器402上并可由处理器401执行的计算机程序。
处理器401在执行存储在存储器402上的计算机程序时实现上述任一方法实施例提供的OLE矢量图的显示方法。
本发明实施例通过获取待显示的OLE矢量图的图元文件,将OLE矢量图的图元文件转换为PDF文件,在显示页面中OLE矢量图对应的位置显示PDF文件,由于PDF文件也是矢量图文件,将WMF图元文件转换为PDF文件不会降低原有矢量图的精度,实现了在浏览器中高精度地显示OLE矢量图对应的PDF文件,提高了浏览器对OLE矢量图的显示精度,显示效果得到很大地改善。
实施例六
本发明实施例提供一种计算机可读存储介质,包括:存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例提供的OLE矢量图的显示方法。
本发明实施例通过获取待显示的OLE矢量图的图元文件,将OLE矢量图的图元文件转换为PDF文件,在显示页面中OLE矢量图对应的位置显示PDF文件,由于PDF文件也是矢量图文件,将WMF图元文件转换为PDF文件不会降低原有矢量图的精度,实现了在浏览器中高精度地显示OLE矢量图对应的PDF文件,提高了浏览器对OLE矢量图的显示精度,显示效果得到很大地改善。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。