发明内容
本发明解决的技术问题是:本发明构建一种HTML(Hypertext Markup Language,超文本语言,简称“HTML”)文件转换封装成SMIL文件的方法和系统,克服现有技术短信息服务的局限性。
本发明的技术方案是:提供一种HTML文件转换封装成SMIL文件的方法,包括如下步骤:
判断HTML文件大小:计算待转换HTML文件大小,将待转换HTML文件的大小与预设HTML文件大小进行比较判断,所述预设HTML文件大小根据待转换的SMIL文件大小而设定;
解析HTML文件:若待转换HTML文件大于预设HTML文件大小,则根据HTML语言的标签对待转换HTML文件进行分解,将待转换HTML文件分解成多个小于预设HTML文件大小的HTML文件;
生成图片:将解析后的HTML文件以及待转换HTML文件大小小于或等于预设HTML文件大小的HTML文件生成图片,若生成图片的大小大于预设图片的大小,则将生成该图片的HTML文件返回解析HTML文件步骤;
生成缩略图:将HTML文件生成的图片进行缩略生成缩略图,若缩略图大于预设缩略图的大小,则将生成该缩略图的HTML文件返回解析HTML文件步骤;
组装SMIL文件:将小于预设缩略图大小的缩略图按原始HTML文件的顺充组装成SMIL文件。
本发明的进一步技术方案是:在解析HTML文件步骤中,则根据HTML语言的标签对待转换HTML文件进行分解,所述HTML语言的标签包括段落标签、表格标签、换行标签、图片标签进行文件分析。
本发明的进一步技术方案是:在生成缩略图步骤中,将HTML文件生成的图片等比例缩略生成缩略图。
本发明的进一步技术方案是:解析待转换HTML文件生成新的HTML文件时,新生成的HTML文件包括图片、表格、图片与表格、文本几种格式。
本发明的进一步技术方案是:对于文本格式新生成的HTML文件,根据显示宽度进行调节。
本发明的进一步技术方案是:在解析HTML文件步骤中,若待转换HTML文件含有的图片大于预设图片的大小,则在新的HTML文件中生成链接;若待转换HTML文件含有的图片大于预设值,则新的HTML文件中加入该图片。
本发明的技术方案是:构建一种HTML文件转换封装成SMIL文件的系统,包括判断HTML文件大小的判断单元、解析HTML文件的解析单元、将解析后的HTML文件生成图片的图片生成单元、生成缩略图的缩略图生成单元、组装SMIL文件的组装单元,所述判断单元计算待转换HTML文件大小,将待转换HTML文件的大小与预设HTML文件大小进行比较判断,所述预设HTML文件大小根据待转换的SMIL文件大小而设定;若待转换HTML文件大于预设HTML文件大小,所述解析单元则根据HTML语言的标签对待转换HTML文件进行分解,将待转换HTML文件分解成多个小于预设HTML文件大小的HTML文件;所述图片生成单元将解析后的HTML文件以及待转换HTML文件大小小于或等于预设HTML文件大小的HTML文件生成图片,若生成图片的大小大于预设图片的大小,则将生成该图片的HTML文件返回解析HTML文件步骤;所述缩略图生成单元将HTML文件生成的图片进行缩略生成缩略图,若缩略图大于预设缩略图的大小,则将生成该缩略图的HTML文件返回解析HTML文件步骤;所述组装单元将小于预设缩略图大小的缩略图按原始HTML文件的顺充组装成SMIL文件。
本发明的进一步技术方案是:所述解析单元包括解析段落标签的段落解析模块、解析表格标签的表格解析模块、解析换行标签的换行解析模块、解析图片标签的图片解析模块。
本发明的技术效果是:本发明一种HTML文件转换封装成SMIL文件的方法及系统,通过对HTML文件的解析,将HTML文件分解成多个HTML文件,然后再组装与SMIL文件。本发明生成的图片效果相当于对HTML实现截图,完整的保留了HTML原有的样式,组装的SMIL文件效果好。
具体实施方式
下面结合具体实施例,对本发明技术方案进一步说明。
如图1所示,本发明的具体实施方式是:提供一种HTML文件转换封装成SMIL文件的方法,包括如下步骤:
步骤100:判断HTML文件大小,即:计算待转换HTML文件大小,将待转换HTML文件的大小与预设HTML文件大小进行比较判断,所述预设HTML文件大小根据待转换的SMIL文件大小而设定。由于所述预设HTML文件的大小是可以配置调整的值,本发明中所述预设HTML文件的大小为10KB。
步骤200:解析HTML文件,即:若待转换HTML文件大于预设HTML文件大小,则根据HTML语言的标签对待转换HTML文件进行分解,将待转换HTML文件分解成多个小于预设HTML文件大小的HTML文件。
本发明的具体过程如下:解析HTML实际就是将字节数多的HTML转成多个字节数少的HTML的过程,图2所示是将完整内容的HTML转换成一个内容少HTML的流程,在本发明中这个流程是在循环执行,流程的结束条件,是能够让完整内容的HTML分解成多个预定大小的HTML。
为了让预定大小的HTML,内容能相对完整的表达意思,本发明通过分析段落标签P、表格标签TABLE和TR、换行标签BR和图片标签IMG,通过分析这些标签,将这些标签来辅助实现HTML内容分解。这些标签在HTML中,一般是相互并存的关系,所以以图2中的“解析P标签”、“解析TABLE标签”、“解析BR标签”、“解析IMG标签”的流程并非互斥流程,HTML的分解过程可能4个解析流程都并存、或是4个解析流程中其中个别解析流程并存。在对这些标签分析的基础之上,将内容较多的HTML文件转换为预定大小的HTML文件时,尽量考虑以这些标签结束的地方进行内容分解。
鉴于图片信息的特殊性,本发明对HTML中的图片设定了2种处理方案:
(一)图片信息超过预定值,图片在新产生的HTML中会以链接显示。
(二)图片信息未超过预定值,新产生的HTML也将加入图片的大小,也就是说新产生的HTML实际字节数会变小。
步骤300:生成图片,即:将解析后的HTML文件以及待转换HTML文件大小小于或等于预设HTML文件大小的HTML文件生成图片,若生成图片的大小大于预设图片的大小,则将生成该图片的HTML文件返回解析HTML文件步骤。
本发明具体实施过程中,为了让分解产生的THML的符合超文本标记语言的规范,本发明引入了标签自动补偿机制,让生成的HTML规格化。本发明具体实施例中,所述预设图片的大小为40KB。
如图3所示,解析HTML产生的新HTML,本发明把它划分4种格式即:纯文本、含图片、含表格、含图片和表格。
纯文本的HTML,通过控制文本的宽度和高度,从而控制生成的图片的宽度和高度。而含图片、含表格、含图片和表格的HTML,产生图片的宽度将是HTML中图片或表格的等比例的最大宽度。图片的高度则是等比例的HTML实际高度。
本发明生成的图片效果相当于对HTML实现截图,完整的保留了HTML原有的样式。
如果生成图片过大,不满足组装MMS要求的,本发明运用了重试机制,将生成图片过大的HTML,重新投递给解析HTML流程。
步骤400:生成缩略图,即:将HTML文件生成的图片进行缩略生成缩略图,若缩略图大于预设缩略图的大小,则将生成该缩略图的HTML文件返回解析HTML文件步骤。本发明具体实施例中,所述预设缩略图的大小为40KB。
具体实施过程如下:多媒体信息服务的大小是由运营商和手机终端决定的,根据运营商和手机终端预设缩略图的大小,为了让多媒体信息服务展现的很多的信息,在以保证图片不失真的前提下,对产生的图片进行等比例的缩略操作。对于缩略图片过大,同样会运行重试机制,重新投递给解析HTML的流程。本发明具体实施例中,在返回进行重新解析步骤中,再解析文件的大小为前一次解析文件大小的一半,即,如果第一次解析成HTML的大小为10KB,如果它在生成图片或生成缩略图环节,生成的图片大于40KB,则返回重新解析该HTML。这时所述预设HTML文件的大小先前的一半,本发明中为5KB。
步骤500:组装SMIL文件,即:将小于预设缩略图大小的缩略图按原始HTML文件的顺充组装成SMIL文件。
具体实施过程如下:对于多媒体信息服务的封装,本发明选用SMIL格式,它能控制消息显示的大小、先后顺序、位置。把缩略图按照原用HTML的顺序,组装成多帧的SMIL文件。
如图4所示,本发明的实施方式是:构建一种HTML文件转换封装成SMIL文件的系统,包括判断HTML文件大小的判断单元1、解析HTML文件的解析单元2、将解析后的HTML文件生成图片的图片生成单元3、生成缩略图的缩略图生成单元4、组装SMIL文件的组装单元5,所述判断单元1计算待转换HTML文件大小,将待转换HTML文件的大小与预设HTML文件大小进行比较判断,所述预设HTML文件大小根据待转换的SMIL文件大小而设定;若待转换HTML文件大于预设HTML文件大小,所述解析单元2则根据HTML语言的标签对待转换HTML文件进行分解,将待转换HTML文件分解成多个小于预设HTML文件大小的HTML文件;所述图片生成单元3将解析后的HTML文件以及待转换HTML文件大小小于或等于预设HTML文件大小的HTML文件生成图片,若生成图片的大小大于预设图片的大小,则将生成该图片的HTML文件返回解析HTML文件步骤;所述缩略图生成单元4将HTML文件生成的图片进行缩略生成缩略图,若缩略图大于预设缩略图的大小,则将生成该缩略图的HTML文件返回解析HTML文件步骤;所述组装单元5将小于预设缩略图大小的缩略图按原始HTML文件的顺充组装成SMIL文件。
本发明的优选实施方式是:所述解析单元2包括解析段落标签的段落解析模块、解析表格标签的表格解析模块、解析换行标签的换行解析模块、解析图片标签的图片解析模块。
本发明的技术效果是:本发明一种HTML文件转换封装成SMIL文件的方法及系统,通过对HTML文件的解析,将HTML文件分解成多个HTML文件,然后再组装与SMIL文件。本发明生成的图片效果相当于对HTML实现截图,完整的保留了HTML原有的样式,组装的SMIL文件效果好。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。