页面文本转换方法及系统与流程

文档序号:12747995阅读:419来源:国知局
页面文本转换方法及系统与流程

本发明涉及网络通信技术领域,具体而言,涉及一种应用于服务端的页面文本转换方法及系统。



背景技术:

目前,众多网络平台都会公布相关的业务数据、报表内容、政策法规等以供用户下载,发布这些权威内容的网络平台不希望内容被修改,所以通常以不可修改的文档格式(如PDF文档)给到用户去阅览。

现有网络平台大多通过IText技术将简单的HTML文本(比如:表格+数据形式)转换成PDF文档,当需要在PDF中呈现带有统计图表等复杂元素的数据时,IText技术则无法实现转换,而且某些页面需要运行相关脚本才能展示全部页面内容,直接影响整个文档的转换效果。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种页面文本转换方法,包括:

响应文档转换请求,生成与该请求对应的页面链接;

将所述页面链接传送给服务端的命令浏览器,并向该命令浏览器注入用于生成预设格式文档的脚本;

启动所述命令浏览器访问所述页面链接,接收该页面链接返回的网页内容,并对该网页内容进行渲染生成网页页面;

由所述命令浏览器解析并执行所述用于生成预设格式文档的脚本,将所述网页内容转换为预设格式的文档。

优选地,所述页面链接为具有时效性的加密链接。

优选地,将所述页面链接传送给所述命令浏览器的步骤包括:将所述页面链接通过系统执行指令的方式透传至所述命令浏览器。

优选地,该方法在启动所述命令浏览器访问所述页面链接之后还包括:校验所述命令浏览器访问的页面链接是否合法,若合法,再返回所述网页内容至所述命令浏览器。

优选地,所述由所述命令浏览器解析并执行所述用于生成预设格式文档的脚本,将所述网页页面转换为预设格式文档的步骤包括:将所述网页页面移动到页面最底端,以使所述命令浏览器加载该网页页面的全部网页内容;解析并执行所述用于生成预设格式文档的脚本,将包含所述全部网页内容的网页页面转换为所述预设格式的文档。

优选地,该方法还包括:将转换得到的所述预设格式的文档输出至指定目录下;从所述指定目录获取所述预设格式的文档,并返回至用户端。

优选地,所述命令浏览器为基于WebKit浏览器引擎的无界面浏览器,提供用于注入JavaScript脚本的Java脚本语言应用程序编程接口。

优选地,所述预设格式的文档为PDF文档。

本发明另一实施例提供一种页面文本转换系统,包括:

链接生成模块,用于响应文档转换请求,生成与该请求对应的页面链接;

信息传送模块,用于将所述页面链接传送给服务端的命令浏览器,并向该命令浏览器注入用于生成预设格式文档的脚本;

渲染模块,用于启动所述命令浏览器访问所述页面链接,接收该页面链接返回的网页内容,并对该网页内容进行渲染生成网页页面;

文档转换模块,用于通过所述命令浏览器解析并执行所述用于生成预设格式文档的脚本,将所述网页页面转换为预设格式的文档。

优选地,所述页面链接为具有时效性的加密链接。

优选地,所述信息传送模块将所述页面链接通过系统执行指令的方式透传至所述命令浏览器。

优选地,所述渲染模块还用于:在启动所述命令浏览器访问所述页面链接之后,先校验所述命令浏览器访问的页面链接是否合法,若合法,再返回所述网页内容至所述命令浏览器。

优选地,所述文档转换模块通过所述命令浏览器解析并执行所述用于生成预设格式文档的脚本,将所述网页页面转换为预设格式文档的方式包括:

将所述网页页面移动到页面最底端,以使所述命令浏览器加载该网页页面的全部网页内容;

解析并执行所述用于生成预设格式文档的脚本,将包含所述全部网页内容的网页页面转换为所述预设格式的文档。

优选地,该系统还包括:文档输出模块,用于将转换得到的所述预设格式的文档输出至指定目录下;文档返回模块,用于从所述指定目录获取所述预设格式的文档,并返回至用户端。

优选地,所述命令浏览器为一种无界面浏览器,该命令浏览器提供Java脚本语言应用程序编程接口,用于注入脚本。

优选地,所述预设格式的文档为PDF文档。

与现有技术相比,本发明较佳实施例提供的页面文本转换方法及系统,可将包含复杂网页元素(如统计图表)的HTML文本转换为预设格式文档(如PDF文档),使用户下载并阅览的文档内容更加丰富,有效提升平台发布内容的权威性和用户的阅读体验。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明较佳实施例提供的服务器与至少一用户终端通信的交互示意图;

图2是图1所示的服务器的方框示意图;

图3是本发明较佳实施例提供的应用于图2所示的服务器的页面文本转换方法的流程图;

图4是本发明较佳实施例提供的图2所示的页面文本转换系统的功能模块框图。

主要元件符号说明:

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

如图1所示,是本发明较佳实施例提供的服务器100与至少一个用户终端200进行交互的示意图。所述用户终端200可通过网络300与所述服务器100通信连接,以实现数据通信或交互。

本实施例中,所述服务器100可以是,但不限于,web(网络)服务器、数据库服务器、ftp(file transfer protocol,文件传输协议)服务器等。所述用户终端200可以是,但不限于,个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)等。所述网络300可以是,但不限于,有线网络或无线网络。

如图2所示,是本发明较佳实施例提供的图1所示的服务器100的方框示意图。所述服务器100包括存储器110、存储控制器120、处理器130、命令浏览器140以及页面文本转换系统150。

所述存储器110、存储控制器120、处理器130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件之间通过一条或多条通讯总线或信号线实现电性连接。所述命令浏览器140的应用程序包存储于所述存储器110内。所述页面文本转换系统150包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中或固化在所述服务器100的操作系统中的软件功能模块。所述处理器130在所述存储控制器120的控制下访问所述存储器,以用于执行所述存储器110中存储的可执行模块,例如所述页面文本转换系统所包括的软件功能模块及计算机程序等。

其中,所述存储器110可以是,但不限于,随机存取存储器、只读存储器、可编程只读存储器、可擦除只读存储器或电可擦除只读存储器等。

所述处理器130可能是一种集成电路芯片,具有信号的处理能力。该处理器130可以是通用处理器,包括中央处理器、网络处理器等;还可以是数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。

所述命令浏览器140可以是,但不限于,基于WebKit开源浏览器引擎的无界面浏览器,如phantomjs,其提供用于注入JavaScript(JS)脚本的Java脚本语言应用程序编程接口。以phantomjs为例,是一种无界面的命令浏览器,支持解析各种原生的Web标准,包括DOM处理、CSS选择器、JSON以及复杂的HTML图形容器Canvas、SVG,并且可额外执行注入的JS脚本,以调整整个网页的渲染效果。

请参阅图3,是本发明较佳实施例提供的应用于图2所示的服务器100的页面文本转换方法的流程图。所应说明的是,本方法不以图3及以下所示的具体顺序为限制。所述方法有关的流过程定义的方法步骤可以由所述处理器130实现。下面将对图3所示的具体流程进行详细阐述。

步骤S101,响应文档转换请求,生成与该请求对应的页面链接。

本实施中,所述文档转换请求可以由所述用户终端200发送给服务器100,也可以由用户操作服务器100而产生。较为常用的方式是由所述用户终端200在接收到用户的操作后,产生所述文档转换请求并发送给服务器100。

例如,当用户通过所述用户终端200访问网络平台(如阿里游戏)时,点击页面上设置的例如“PDF文档下载”的操作选项后,所述用户终端200根据该“PDF文档下载”操作产生对应的文档转换请求并发送至所述网络平台的服务器100。然后,该服务器100响应所述文档转换请求,即可生成与该文档转换请求对应的页面链接。

步骤S103,将所述页面链接传送给所述命令浏览器150,并向该命令浏览器150注入用于生成预设格式文档的脚本。

为提高网络链接的安全性,本实施例中,较佳地,所述页面链接为具有时效性的加密链接。

所述服务器100将生成的页面链接传送给所述命令浏览器150的方式可以是,但不限于,通过系统执行指令的方式透传给命令浏览器150。

此外,所述服务器100可通过调用Java脚本语言应用程序编程接口(JavaScript API)向所述命令浏览器150注入所述用于生成预设格式文档的脚本。该预设格式的文档可以是,但不限于,PDF文档。当然,其它实施例中,也可以是图片等不可编辑的其它格式文档。

步骤S105,启动所述命令浏览器150访问所述页面链接。

本实施例中,所述服务器100可启动所述命令浏览器150,使该命令浏览器150依据接收到的页面链接向服务器100发起访问该页面链接对应的目标网页的请求。

步骤S107,校验所述命令浏览器访问的页面链接是否合法,若合法,则进入步骤S109,若不合法,则结束流程。

本实施例中,所述服务器100将生成的页面链接传送给所述命令浏览器150的过程中,存在该页面链接被恶意拦截篡改或植入病毒等风险,为能够及时发现及避免该种情况发生,在该步骤S107中,需要对命令浏览器150访问的页面链接进行校验。所应说明的是,在其它实施例中,在能保证所述页面链接安全性的前提下,该步骤S107也可省略,而直接进入之后的步骤。

步骤S109,所述命令浏览器150接收该页面链接返回的网页内容,并对该网页内容进行渲染生成网页页面。

本实施例中,所述服务器100响应命令浏览器150发起的页面链接访问请求,返回所述目标网页的网页内容至所述命令浏览器150。该命令浏览器150接收到返回的所述网页内容后,对网页内容进行渲染,生成网页页面。所述网页内容由网页元素组成,包括文字、图表、音频、视频、动画等。相应地,对网页内容进行渲染包括对该网页元素的渲染。

较佳地,在对目标网页的网页内容进行渲染时,可将该目标网页的页面移动到页面最底端,以使所述命令浏览器150加载该目标网页的全部网页内容,避免存在图片懒加载等加载方式,造成网页页面加载不完整。

步骤S111,所述命令浏览器150解析并执行所述用于生成预设格式文档的脚本,将所述网页页面转换为预设格式的文档。

本实施例中,在目标网页加载完成后,命令浏览器150即可执行之前注入的用于生成预设格式文档的脚本,以将所述网页内容转换为所述预设格式的文档,如PDF文档。

需要说明的是,所述预设格式文档的转换效果可通过改变所注入的脚本参数进行调整。

步骤S113,将转换得到的所述预设格式的文档输出至指定目录下。

步骤S115,从所述指定目录获取所述预设格式的文档,并返回至所述用户端。

本实施例中,服务器100可获取命令浏览器150转换后输出至指定目录下的文档,并将该文档返回给用户终端200,以使用户终端200的用户下载并浏览该文档。

请参阅图4,是本发明较佳实施例提供的图2所示的页面文本转换系统150的功能模块框图。所述页面文本转换系统150包括链接生成模块1501、信息传送模块1502、渲染模块1503、文档转换模块1504、文档输出模块1505以及文档返回模块1506。

所述链接生成模块1501,用于响应文档转换请求,生成与该请求对应的页面链接。具体地,该链接生成模块1501可用于执行图3所示的步骤S101,具体的操作方法可参照上述对步骤S101的详细描述。

所述信息传送模块1502,用于将所述页面链接传送给所述服务端的命令浏览器150,并向该命令浏览器150注入用于生成预设格式文档的脚本。具体地,该信息传送模块1502可用于执行图3所示的步骤S103,具体的操作方法可参照上述对步骤S103的详细描述。

所述渲染模块1503,用于启动所述命令浏览器150访问所述页面链接,接收该页面链接返回的网页内容,并对该网页内容进行渲染生成网页页面。优选地,该渲染模块1503可首先校验所述命令浏览器150访问的页面链接是否合法,若合法,再返回所述网页内容。具体地,该渲染模块1503可用于执行图3所示的步骤S105、步骤S107以及步骤S109,具体的操作方法可参照上述对步骤S105、步骤S107以及步骤S109的详细描述。

所述文档转换模块1504,用于解析并执行所述用于生成预设格式文档的脚本,将所述网页页面转换为预设格式的文档。具体地,该文档转换模块1504可用于执行图3所示的步骤S111,具体的操作方法可参照上述对步骤S111的详细描述。

所述文档输出模块1505,用于将转换得到的所述预设格式的文档输出至指定目录下。该文档输出模块1505可用于执行图3所示的步骤S113,具体的操作方法可参照上述对步骤S113的详细描述。

所述文档返回模块1506,从所述指定目录获取所述预设格式的文档,并返回至所述用户端。该文档返回模块1506可用于执行图3所示的步骤S115,具体的操作方法可参照上述对步骤S115的详细描述。

综上所述,本发明较佳实施例提供的页面文本转换方法及系统,支持将动态复杂的HTML文本转换为预设格式文档,如PDF文档,使用户下载并阅览的文档内容更加丰富,提升用户体验。而且,该种HTML文本转换方式的后期维护成本低,可应用的需求场景十分广泛。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,本文中术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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