Visio文件转换方法及系统与流程

文档序号:11176914阅读:2620来源:国知局
Visio文件转换方法及系统与流程

本公开设计跨平台图形处理技术领域,具体而言,涉及一种visio文件转换方法以及visio文件转换系统。



背景技术:

officevisio是由microsoft公司开发、经营和维护的一款功能强大、历史较为悠久、拥有大量客户群的办公室矢量图形软件系统,可以用来进行各种流程图以及uml图等图形的绘制,可辅助it领域和商务专业领域人员就复杂信息、系统和流程进行可视化处理、分析和交流。

officevisio主要是在windows操作系统环境之下运行,即一般仅支持线下运行。但随着互联网技术的发展、用户对系统的美观性和易用性要求的提高以及移动办公的需要,越来越多用户开始进行浏览器在线流程图设计。例如,目前已经出现了在线流程图设计器gooflow以及在线流程图制作工具processon等。

无论是gooflow还是processon,其工作原理都是类似的:首先,通过页面前端技术,模拟展示类似visio的组件和操作功能;其次,用户通过提供的组件和功能,在页面上设计自己的流程图;然后,当需要保存的时候,系统读取页面中组件信息以及位置信息等组装为数据格式;最后,系统将数据格式返回后台保存入库,以备下次使用。

但目前的浏览器在线流程图设计的技术方案均存在无法做到线上或线下与visio文件的互相转化识别,只支持在页面中进行编辑和保存的问题;这样,使用线上系统的人员和不喜欢用线上系统或者不能上网的人员之间将难以协同工作。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现 有技术的信息。



技术实现要素:

针对现有技术中的部分问题或者全部问题,本公开提供一种visio文件转换方法及visio文件转换系统。

根据本公开实施例的第一方面,提供一种visio文件转换方法,包括:

接收上传的visio文件,所述visio文件为包括格式标签的标签对象;

根据所述visio文件的格式标签,分析所述visio文件包含的图形以及图形的位置和相互关系;

将分析出的所述图形以及图形的位置和相互关系转换为页面对象;

通过指定的标识语言文件格式,将所述页面对象传递至页面,以使页面根据所述页面对象展示所述visio文件中的绘图数据。

在本公开的一种示例性实施例中,所述将分析出的所述图形以及图形的位置和相互关系转换为页面对象包括:

将分析出的所述图形以及图形的位置和相互关系转换为java对象;

将所述java对象转化为封装的javascript对象,所述javascript对象即为所述页面对象。

在本公开的一种示例性实施例中,所述使页面根据所述页面对象展示所述visio文件中的绘图数据包括:

通过封装的所述javascript对象进行浏览器判断;

根据判断结果选择以vml矢量图形式或者svg矢量图形式展示所述visio文件中的绘图数据。

在本公开的一种示例性实施例中,所述visio文件转换方法还包括:

存储所述visio文件以及所述页面对象。

在本公开的一种示例性实施例中,所述visio文件为vdx格式文件或者vsdx文件。

根据本公开实施例的第二方面,提供一种visio文件转换方法,包括:

获取下载指令后,将通过页面绘制的绘图数据保存为页面对象;

根据所述页面对象获取图形以及图形的位置和相互关系;

根据获取的所述图形以及图形的位置和相互关系,结合visio文件的 格式标签以及结构生成visio文件并返回所述visio文件的文件流。

在本公开的一种示例性实施例中,所述页面对象为封装的javascript对象;所述根据所述页面对象获取图形以及图形的位置和相互关系包括:

将所述封装的javascript对象转化为java对象;

通过分析所述java对象获取图形以及图形的位置和相互关系。

根据本公开实施例的第三方面,提供一种visio文件转换系统,包括:

文件接收模块,用于接收上传的visio文件,所述visio文件为包括格式标签的标签对象;

文件分析模块,用于根据所述visio文件的格式标签,分析所述visio文件包含的图形以及图形的位置和相互关系;

对象转换模块,用于将分析出的所述图形以及图形的位置和相互关系转换为页面对象;

图形展示模块,用于通过指定的标识语言文件格式,将所述页面对象传递至页面,以使页面根据所述页面对象展示所述visio文件中的绘图数据。

在本公开的一种示例性实施例中,所述对象转换模块包括:

第一转换单元,用于将分析出的所述图形以及图形的位置和相互关系转换为java对象;

第二转换单元,用于将所述java对象转化为封装的javascript对象,所述javascript对象即为所述页面对象。

在本公开的一种示例性实施例中,所述图形展示模块包括:

数据传输单元,用于通过指定的标识语言文件格式,将所述页面对象传递至页面;

浏览器判断单元,用于通过封装的所述javascript对象进行浏览器判断;

矢量图展示单元,用于根据判断结果选择以vml矢量图形式或者svg矢量图形式展示所述visio文件中的绘图数据。

在本公开的一种示例性实施例中,所述visio文件转换系统还包括:

存储模块,用于存储所述visio文件以及所述页面对象。

在本公开的一种示例性实施例中,所述visio文件为vdx格式文件或 者vsdx文件。

根据本公开实施例的第四方面,提供一种visio文件转换系统,包括:

图形保存模块,用于获取下载指令后,将通过页面绘制的绘图数据保存为页面对象;

对象转换模块,用于根据所述页面对象获取图形以及图形的位置和相互关系;

文件生成模块,用于根据获取的所述图形以及图形的位置和相互关系,结合visio文件的格式标签以及结构生成visio文件;

文件传输模块,用于返回所述visio文件的文件流。

在本公开的一种示例性实施例中,所述页面对象为封装的javascript对象;所述对象转换模块包括:

第一转换单元,用于将所述封装的javascript对象转化为java对象;

第二转换单元,用于通过分析所述java对象获取图形以及图形的位置和相互关系。

本公开的一种实施例中的visio文件转换方法及系统,一方面,通过将visio文件转换为页面对象,从而可以通过浏览器将visio文件的绘图数据在线上进行展示;因此,可以使不喜欢使用线上系统或者不能上网的人员线下编辑操作visio文件,在完成后可以将visio文件的绘图数据在线上进行展示;另一方面,通过将页面对象转换为visio文件,从而可以将通过浏览器在线上绘制的图形转换为本地的visio文件;因此,可以使得使用线上系统编辑操作的绘图文件,在完成后可以下载到本地进行二次编辑修改和保存等操作。因此本公开大大方便了使用线上的人员和不喜欢用线上系统或者不能上网的人员之间的协同工作,进而可以提高生产效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见 地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示意性示出本公开示例性实施例中一种visio文件转换方法的流程图。

图2示意性示出本公开示例性实施例中另一种visio文件转换方法的流程图。

图3示意性示出本公开示例性实施例中一种visio文件转换系统的方框图。

图4示意性示出本公开示例性实施例中另一种visio文件转换系统的方框图。

图5示意性示出本公开示例性实施例中再一种visio文件转换系统的方框图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或 处理器装置和/或微控制器装置中实现这些功能实体。

为了解决officevisio文件与浏览器线上系统文件相互转换的问题,实现在浏览器展示visio流程图以及实现officevisio文件的线下编辑和线上编辑的协同,本示例实施方式中提供了以下技术方案。

参考图1中所示,本示例实施方式中首先提供了一种visio文件转换方法,用于将visio文件转换为线上数据。参考图1中所示,本示例实施方式中的visio文件转换方法可以包括以下步骤:

步骤s10.用户设计visio文件并上传。

用户可以在本地通过officevisio软件创建visio文件,并根据需要进行各式设计,例如进行流程图设计、网络图设计、灵感触发图设计、数据图设计以及甘特图设计等。在用户设计完毕后,使用浏览器打开visio文件转换系统的页面,通过页面中的上传控件上传设计完毕的visio文件。

步骤s11.接收上传的visio文件,所述visio文件为包括格式标签的标签对象。

visio文件转换系统接收用户上传的visio文件,同时可以存储所述visio文件以进行备份。本示例实施方式中,可以是用户在上传之前,将visio文件保存为包括格式标签的标签对象,也可以是用户将vsd等其他格式的visio文件上传后,由visio文件转换系统将其转换为包括格式标签的标签对象,即本示例实施方式中对此不做特殊限定。包括格式标签的标签对象的visio文件例如可以为vdx格式的文件或者vsdx格式的文件等;其中,vsdx是visio2013中引入的一个新的文件格式,用于取代visio二进制文件格式(vsd)和visioxml绘图文件格式(vdx)。

步骤s12.根据所述visio文件的格式标签,分析所述visio文件包含的图形以及图形的位置和相互关系。

本示例实施方式中,为了分析所述visio文件包含的图形以及图形的位置和相互关系,可以利用javasdk的saxapi机制,该机制可以以事件的方式解析xml(可扩展标记语言)文档标记,并以回调函数的方式完成数据处理,因此同样可以用于分析所述visio文件包含的图形以及图形的位置和相互关系。但需要说明的是,在本公开的其他示例性实施 例中,也可以通过其他方式分析所述visio文件包含的图形以及图形的位置和相互关系,因此并不局限于本示例性实施例中所列举的方式。

步骤s13.将分析出的所述图形以及图形的位置和相互关系转换为页面对象。

仍以javasdk为例,本示例实施方式中,所述将分析出的所述图形以及图形的位置和相互关系转换为页面对象可以包括:首先,将分析出的所述图形以及图形的位置和相互关系转换为java对象,并可以将java对象存入库表中,以进行备份或者便于下次使用;其次,通过javascript(一种脚本语言,可用来动态控制网页前端展示)对象封装,将所述java对象转化为封装的javascript对象,所述javascript对象即为所述页面对象;同样的,可以将javascript对象存入库表中,以进行备份或者便于下次使用。其中:上述标签对象、java对象以及javascript对象例如可以如下表中所示:

本领域技术人员容易理解的是,当采用其他处理平台时,也可以相应的通过其他方式将分析出的所述图形以及图形的位置和相互关系转换为页面对象,因此并不局限于本示例性实施例中所列举的方式。

步骤s14.通过指定的标识语言文件格式,将所述页面对象传递至页面,以使页面根据所述页面对象展示所述visio文件中的绘图数据。

举例而言,本示例实施方式中可以通过制定好的xml文件格式,将上述javascript对象传递至页面,以使页面根据所述javascript对象展示所述visio文件中的绘图数据。此外,为了实现对于不同浏览器的兼容,本示例实施方式中,还可以通过封装的所述javascript对象进行浏览器判断,并根据判断结果选择以vml矢量图形式或者svg矢量图形式展 示所述visio文件中的绘图数据。例如,判断所述浏览器为ie浏览器时,则可以选择以vml矢量图形式展示所述visio文件中的绘图数据,判断所述浏览器为firefox以及opera等浏览器时,则可以选择以svg矢量图形式展示所述visio文件中的绘图数据。

本示例实施方式中,通过将visio文件转换为页面对象,从而可以通过浏览器将visio文件的绘图数据在线上进行展示;因此,可以使不喜欢使用线上系统或者不能上网的人员线下编辑操作visio文件,在完成后可以将visio文件的绘图数据在线上进行展示,大大方便了使用线上的人员和不喜欢用线上系统或者不能上网的人员之间的协同工作。

参考图2中所示,本示例实施方式中还提供了另一种visio文件转换方法,用于将线上数据转换为visio文件。参考图2中所示,本示例实施方式中的visio文件转换方法可以包括以下步骤:

步骤s20.用户在线上通过页面进行图形绘制以及下载。

例如,用户通过通过浏览器打开visio文件转换系统网址,进入系统页面,页面中通过前端技术展示绘图所需的组件和操作功能。用户可以通过系统页面中的组件和操作功能进行图形绘制,用户绘制的图形例如可以为流程图、网络图、灵感触发图、数据图以及甘特图等。在用户设计完毕后,可以点击页面中下载控件下载设计完毕的绘图数据。

步骤s21.获取下载指令后,将通过页面绘制的绘图数据保存为页面对象。

visio文件转换系统在接收到用户的下载指令后,将通过页面绘制的绘图数据保存为页面对象。本示例实施方式中,将以所述页面对象是封装的javascript对象为例进行说明,因此可以将通过页面绘制的绘图数据保存为封装的javascript对象。

步骤s22.根据所述页面对象获取图形以及图形的位置和相互关系。

本示例性实施例中,在所述页面对象为封装的javascript对象时,所述根据所述页面对象获取图形以及图形的位置和相互关系例如可以包括:首先,将所述封装的javascript对象转化为java对象;其次,通过分析所述java对象获取图形以及图形的位置和相互关系。

步骤s23.根据获取的所述图形以及图形的位置和相互关系,结合 visio文件的格式标签以及结构生成visio文件。

本示例实施方式中,可以通过调用visio文件的格式标签以及结构,根据获取的所述图形以及图形的位置和相互关系,在visio绘图面板上以矢量图形的方式绘制所述图形以及图形的位置和相互关系,从而得到所述visio文件。

步骤s24.返回所述visio文件的文件流。

在生成visio文件后,用户的前端页面会弹出下载提示,接着根据用户指定的保存位置即可将返回的所述visio文件的文件流保存为本地的visio文件。保存后的visio文件可以使用officevisio打开进行二次编辑修改和保存等操作。

由于本示例实施方式图2中的visio文件转换方法是图1中的visio文件转换方法的逆过程,因此更多细节之处可以参考相关图1中的visio文件转换方法的示例性实施例,此处不再重复赘述。

本示例实施方式中,通过将页面对象转换为visio文件,从而可以将通过浏览器在线上绘制的图形转换为本地的visio文件;因此,可以使得使用线上系统编辑操作的绘图文件,在完成后可以下载到本地进行二次编辑修改和保存等操作,大大方便了使用线上的人员和不喜欢用线上系统或者不能上网的人员之间的协同工作。

进一步的,本示例实施方式中还提供了一种visio文件转换系统。参考图3中所示,visio文件转换系统10可以包括文件接收模块101、文件分析模块102、对象转换模块103以及图形展示模块104。其中:

文件接收模块101可以用于接收上传的visio文件,所述visio文件为包括格式标签的标签对象。

文件分析模块102可以用于根据所述visio文件的格式标签,分析所述visio文件包含的图形以及图形的位置和相互关系。

对象转换模块103可以用于将分析出的所述图形以及图形的位置和相互关系转换为页面对象。

图形展示模块104可以用于通过指定的标识语言文件格式,将所述页面对象传递至页面,以使页面根据所述页面对象展示所述visio文件中的绘图数据。

在本示例性实施例中,所述对象转换模块103可以包括第一转换单元以及第二转换单元。其中:

第一转换单元可以用于将分析出的所述图形以及图形的位置和相互关系转换为java对象。

第二转换单元可以用于将所述java对象转化为封装的javascript对象,所述javascript对象即为所述页面对象。

在本示例性实施例中,所述图形展示模块104可以包括数据传输单元、浏览器判断单元以及矢量图展示单元。其中:

数据传输单元可以用于通过指定的标识语言文件格式,将所述页面对象传递至页面。

浏览器判断单元可以用于通过封装的所述javascript对象进行浏览器判断。

矢量图展示单元可以用于根据判断结果选择以vml矢量图形式或者svg矢量图形式展示所述visio文件中的绘图数据。

在本示例性实施例中,所述visio文件转换系统还可以包括存储模块。其中存储模块可以用于存储所述visio文件以及所述页面对象。

在本示例性实施例中,所述visio文件为vdx格式文件或者vsdx文件。

进一步的,本示例实施方式中还提供了另一种visio文件转换系统。参考图4中所示,visio文件转换系统20可以包括图形保存模块201、对象转换模块202、文件生成模块203以及文件传输模块204。其中:

图形保存模块201可以用于获取下载指令后,将通过页面绘制的绘图数据保存为页面对象。

对象转换模块202可以用于根据所述页面对象获取图形以及图形的位置和相互关系。

文件生成模块203可以用于根据获取的所述图形以及图形的位置和相互关系,结合visio文件的格式标签以及结构生成visio文件。

文件传输模块204可以用于返回所述visio文件的文件流。

在本示例性实施例中,所述页面对象为封装的javascript对象。所述对象转换模块202可以包括第一转换单元以及第二转换单元。其中:

第一转换单元可以用于将所述封装的javascript对象转化为java对象。

第二转换单元可以用于通过分析所述java对象获取图形以及图形的位置和相互关系。

上述visio文件转换系统中各模块/单元的具体细节已经在对应的visio文件转换方法中进行了详细的描述,因此此处不再赘述。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

图4中示出根据本公开示例实施方式中上述visio文件转换系统400的一种示意图。参照图4,visio文件转换系统400包括处理组件422,其进一步包括一个或多个处理器,以及由存储器432所代表的存储器资源,用于存储可由处理组件422的执行的指令,例如应用程序。存储器432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件422被配置为执行指令,以执行上述方法。

visio文件转换系统400还可以包括一个电源组件426被配置为执行visio文件转换系统400的电源管理,一个有线或无线网络接口450被配置为将visio文件转换系统400连接到网络,和一个输入输出(i/o)接口458。visio文件转换系统400可以操作基于存储在存储器432的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或 者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1