一种互联网站群杂志文件在线友好阅读的图片切分方法与流程

文档序号:13949044阅读:334来源:国知局
一种互联网站群杂志文件在线友好阅读的图片切分方法与流程

本发明涉及一种互联网站群杂志文件在线友好阅读的图片切分方法,属于企业门户网站技术领域。



背景技术:

电子杂志目前已经进入第四代,以html5技术为独立于网站存在。电子杂志兼具了平面与互联网两者的特点,且融入了图像、文字、声音、视频、游戏等相互动态结合来呈现给读者。此外,还有超链接、及时互动等网络元素,并且其延展性强,未来可移植到pda、mobile、mp4、psp及tv(数字电视、机顶盒)平板电脑等多种个人终端进行阅读。但由于flash技术将全部文字和图片打包在swf格式文件内,所以搜索引擎目前不能收录电子杂志的内容。因此,未来的电子杂志将不再使用flash,而直接通过浏览器跨平台阅读,使得各种移动设备也能无障碍地看到原版矢量的电子杂志,不再需要下载和存档,大大提升了电子杂志的阅读体验。

电子杂志的核心是一个电子文档数据库。数据库中的电子文档携带着各种标识,使得文档可以很方便地从数据库中检中并提取出来,然后按照不同的要求以各种各样的方式“再生”显示。相形之下,印刷版的核心则是一个个“千篇一律”的复本,一旦印刷完毕,装订成册,很难改变其既定的面貌。从存储方式的角度来说,传统的印刷版杂志被保存在世界各地,在个人的书橱或图书馆的书架上,承受着因岁月流逝和反复使用所造成的损伤。而电子杂志的数据库分布在有限的一个或者几个地方,通过网络供订户使用。不同的读者可以选择不同的显示方式,杂志编辑还可以根据需要对文档进行不断的修改和更新。数据库的日常更新和维护以及电子文档的处理是电子杂志发行中非常重要的一个环节。

互联网网站群中用户需要可以在浏览器实现翻书效果的杂志阅读体验,而非普通的在浏览器中由上而下的滚动阅读方式。互联网上使用翻书效果的杂志阅读实现技术有电子杂志方式,这种方式需要在客户端浏览器中安装电子杂志阅读的插件,然后通过该插件实现左右翻书效果的阅读体验。此外互联网上也有其他的实现方式,但是都是针对小文件的在线阅读处理,对于大文件无法做到。所以互联网网站群平台需要解决以下几个重要的技术难点和问题:

1、如何在不使用客户端插件的情况下让用户直接使用翻书体验效果;

2、对于大文件的pdf如果实现在线翻书阅读;

3、大文件pdf在线翻书的流畅性如何实现;

4、文件在线阅读的及时性如何实现;

5、文件被切分为图片后如何整合、有序的组织在一起。

以上五个问题都是互联网网站群平台面临需要解决的实际技术问题。互联网网站群平台是企业的面向整个互联网环境下的建站平台以及宣传平台,在对外提供杂志阅读时,不能强制要求网站访问者安装插件,首先安全性不能很好保证,最重要的是会让网站访问者心里产生抵触心理。



技术实现要素:

为解决上述技术问题,本发明提供一种互联网站群杂志文件在线友好阅读的图片切分方法,将pdf文件进行分割,然后在对小块的pdf文件进行图片转化,使得网站管理用户上传完pdf杂志后,立刻就可以进行效果预览,无需等待时间,大大提高了用户自身的工作效率。

为解决上述问题,本发明所采用的技术方案如下:

一种互联网站群杂志文件在线友好阅读的图片切分方法,包括以下步骤:

1)建立文件目录结构,将网站管理用户在后台上传的pdf文件进行存储;

2)用户上传动作完成后,网站群后台自动生成一条任务消息,并将任务消息发送到网站群的消息队列服务器中;

3)消息队列服务器对任务消息按照fifo的原则进行处理;

4)网站访问者打开杂志链接浏览时,将处理后的杂志地址finalpdfpath直接呈现在浏览器中,默认访问的是index.html,实现翻书效果的杂志阅读。

前述的步骤1)中,对pdf文件进行存储的方法为:首先将用户所属组织机构编码orgcode作为第一层目录,在该目录下按照pdf文件类别catalog建立类别目录,然后在类别目录下面按日期建立子文件夹,将上传的pdf文件存储在相应日期的子文件夹中。

前述的步骤2)中,任务消息包含如下字段:组织机构编码orgcode、消息创建人编码userid、业务模块编码servicecode、消息创建时间createtime、杂志源文件地址pdfpath、处理后的杂志地址finalpdfpath。

前述的消息队列服务器会为每个任务消息创建单独的线程进行处理,一旦线程启动成功,那么对应消息队列服务器中的该条任务消息就会移除。

前述的消息队列服务器线程的处理过程包括以下步骤:

3-1)读取任务消息,提取其中的杂志源文件地址pdfpath,将杂志源文件下载到一个临时目录tmp下,文件命名为tmp_杂志源文件名;

3-2)首页判断该杂志源文件的大小是否超过了项目预先设定的阈值threshold,如果超过预先设定的阈值threshold,则转到步骤3-6);否则转入步骤3-3);

3-3)网站群消息队列服务器采用icepdf工具将下载的杂志源文件分解转化为图片,转化后的图片数量piccount和pdf杂志源文件页码相同,图片的命名规则为:首、尾封面图片的命名分别为:杂志源文件名_index和杂志源文件名_end,中间图片命名为:杂志源文件名_页码;

3-4)图片转换完毕后,采用jflip插件将生成的图片组织在一起形成最终的杂志翻书效果文件包,文件包中的文件包括js、css、images和html,其中html是index.html,是杂志翻书效果文件包的入口文件;

3-5)最终的文件包形成后,消息队列服务器将该文件包推送到所述步骤1)的文件目录结构中,在按日期建立子文件夹一层创建和杂志源文件名相同的目录,然后将文件包放置到该目录下,最后将处理后的杂志地址finalpdfpath字段值设置为消息队列服务器推送的文件包地址,将finalpdfpath值更新后的任务消息回送到网站群管理后台进行更新存储,线程处理结束;

3-6)网站群消息队列服务器采用itext技术将杂志源文件切割为按照阈值threshold大小的若干个小文件,被切割后的小文件的个数等于杂志源文件大小除以阈值threshold,除不尽的将单独作为一个小文件;被切割后的小文件临时存放在tmp_杂志源文件名_split目录路径下,切割后的小文件命名为:杂志源文件名_01、杂志源文件名_02、杂志源文件名_03……以此类推;

3-7)网站群消息队列服务器采用icepdf工具对分割后的小文件进行图片转化;

3-8)对每个小文件进行图片转化完后,对每个小文件的转化图片按照图片的文件名和页码序号进行组合,然后按照小文件的先后进行集成;

3-9)集成完后采用jflip插件将生成的这些图片组织在一起形成最终的杂志翻书效果文件包;

3-10)消息队列服务器将文件包推送到所述步骤1)的文件目录结构中,在按日期建立子文件夹一层创建和杂志源文件名相同的目录,然后将文件包放置到该目录下,最后将处理后的杂志地址finalpdfpath字段值设置为消息队列服务器推送的文件包地址,将finalpdfpath值更新后的任务消息回送到网站群管理后台进行更新存储,线程处理结束。

前述的步骤3)的任何一个步骤出现问题,该任务消息执行就会中断,本条任务消息会加入到网站群redo消息队列中。

前述的任务消息进入到redo消息队列中会立刻重新开始执行,加入到redo消息队列中的消息不影响消息队列服务器中原有任务的执行,redo消息队列与消息队列服务器并行执行。

前述的当一个任务消息redo操作超过三次,那么该任务消息就会丢弃不继续执行,并将结果反馈给网站群后台,提示用户重新上传操作。

本发明的有益效果为:

(1)本发明将互联网网站群中杂志的阅读方式采用在线友好阅读而实现的多层次划分、多层次处理的图片切分算法进行实现,提升了访问者的用户体验效果。同时针对网站管理人员,只需要关注自己公司的杂志文件,无需关注具体的杂志实现技术细节,直接通过网站群后台的管理功能上传pdf文件,后台将会自动进行分解处理,减少了管理人员自己制作翻书电子杂志的工作量,透明化了整个实现过程;

(2)本发明将pdf文件进行分割,然后在对小块的pdf文件进行图片转化,这种方式在性能、速度上有了很大的提升,使得网站管理用户上传完pdf杂志后,立刻就可以进行效果预览,无需等待时间,大大提高了用户自身的工作效率。

附图说明

图1为目录结构示意图;

图2为消息队列服务器存储内容示例;

图3为消息队列服务器线程处理流程图。

具体实施方式

下面对本发明作进一步描述,以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

本发明的互联网站群杂志文件在线友好阅读的图片切分方法,包括以下步骤:

第一步,将网站管理用户在后台上传的pdf文件进行存储,存储方法为,首先将用户所属组织机构编码(orgcode)作为第一层目录,在该目录下按照pdf文件类别(catalog)建立类别目录,同时在类别目录下面按日期(yyyy-mm-dd)建立子文件夹,用以区分和隔开不同日期上传的文件,将上传的pdf文件存储在相应的子文件夹中。经过以上存储处理后的整个文件结构如图1所示。

第二步,存储后的杂志文件结构地址会记录在互联网网站群平台数据库的urlpath字段中,当用户上传动作完成后,网站群后台会自动生成一条任务消息,该任务消息包含组织机构编码orgcode、消息创建人编码userid、业务模块编码servicecode、消息创建时间createtime、杂志源文件地址pdfpath、处理后的杂志地址finalpdfpath这些字段信息,这条任务消息会发送到网站群的消息队列服务器中,消息队列服务器会存储所有用户上传的杂志对应的任务消息。这些字段信息中,除finalpdfpath字段外其余字段均有网站群后台进行值填入,业务模块编码servicecode标记网站群平台系统中当前组织机构下某一个杂志的数据库记录和杂志源文件的映射,通过servicecode即可找到杂志源文件。pdfpath由网站群系统传递给消息队列服务器的,其值和urlpath值相同。finalpdfpath是经过对源杂志文件进行在线友好阅读处理后的新地址,改值由消息队列服务器设置。消息队列中的任务消息存储结构如图2所示,图2中的消息id是由消息队列服务器自动生成,网站群平台系统不干预。

第三步,消息队列服务器中的任务消息会按照fifo的原则对消息进行消费处理,也就是哪个任务消息先来,那么就先处理这个任务消息。消息队列服务器会为每个任务消息创建单独的线程进行处理,一旦线程启动成功,那么对应消息队列服务器中的该条任务消息就会移除。

每个线程的处理过程如图3所示:读取任务消息,提取其中的杂志源文件地址pdfpath,将杂志源文件下载到一个临时目录tmp下,文件命名为tmp_杂志源文件名,首页判断该杂志源文件的大小是否超过了项目预先设定的阈值threshold(比如50m),如果超过预先设定的阈值threshold,那么转到第四步进行;否则网站群消息队列将采用icepdf工具将该pdf杂志源文件分解转化为图片,转化后的图片数量piccount和pdf杂志源文件页码相同,图片的命名规则为:首尾封面图片的命名为:杂志源文件名_index和杂志源文件名_end,中间图片命名为:杂志源文件名_页码。对于50m的pdf杂志源文件转换为图片的速度非常快,差不多在3s以内即可完成转换工作。图片转换完毕后采用jflip插件将生成的这些图片组织在一起形成最终的杂志翻书效果文件包,文件包中的文件包括js、css、images和html,其中html是index.html,是杂志翻书效果文件包的入口文件。最终的文件包形成后,消息队列服务器会将该文件包推送到第一步中的文件目录结构中,在最后一层杂志源文件目录,即按日期(yyyy-mm-dd)建立的子文件夹一层,创建和杂志源文件名相同的目录,然后将文件包放置到该目录下,最后将处理后的杂志地址finalpdfpath字段值设置为消息队列服务器推送的文件包地址,将finalpdfpath值更新后的任务消息回送到网站群管理后台进行更新存储。

第四步,参见图3,当杂志源文件大小超过预先设定的阈值threshold,那么网站群消息队列服务器会采用itext技术将大文件的pdf杂志源文件切割为按照阈值threshold大小的数量不等的文件,被切割后的文件的个数等于杂志源文件大小除以阈值threshold,除不尽的将单独作为一个文件。被切割后的文件临时存放在tmp_杂志源文件名_split目录路径下,分割后的小文件命名为:杂志源文件名_01、杂志源文件名_02、杂志源文件名_03……以此类推。然后再按照第三步的操作方式采用icepdf工具对分割后的小文件进行图片转化,这里对每个小文件进行图片转化完后,对转化图片进行组合,按照小文件的先后进行集成。集成完后再按照第三步的操作方式采用jflip插件将生成的这些图片组织在一起形成最终的杂志翻书效果的文件包。

这里的组合分为两个过程:首先对每一个小文件转换后的图片按照图片的文件名和页码序号进行组合;然后对所有小文件按照图片的文件名和页码序号再次进行组合。

第五步,第三步和第四步处理过程中,任何一个环节出现问题,该任务消息执行就会中断,本条任务消息会加入到网站群redo消息队列中,该消息队列和第三步中的消息队列是分开独立运行的,里面的任务执行过程都是相同,当一个任务消息redo操作超过三次,那么该任务消息就会丢弃不继续执行,并将结果反馈给网站群后台,提示用户重新上传操作。

任务消息进入到redo中会立刻重新开始执行,加入到redo中的消息不影响消息队列服务器中原有任务的执行,redo与消息队列服务器并行执行。

第六步,当网站访问者打开杂志链接浏览时,会将处理后的杂志地址finalpdfpath直接呈现在浏览器中,默认访问的是index.html,此时就可以体验翻书效果的杂志阅读。

本算法使用了切分模型将网站管理用户在后台上传的pdf文件进行分割,通过不同的配置化方式约定好分割的大小,然后将对应的pdf文件按照约定好的大小进行分割成数量不等的小块,然后在对小块进行图片转化,这种方式在性能、速度上有了很大的提升,使得网站管理用户上传完pdf杂志后,立刻就可以进行效果预览,无需等待时间,大大提高了用户自身的工作效率。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

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