一种文档转化方法及文档转化系统技术领域
本发明涉及网络数据处理技术领域,尤其涉及一种文档转化方法及文档转化系统。
背景技术
文档转化是将word、ppt、pdf、txt等文档格式进行格式转化,譬如AdobeAcrobat
Professional就可以实现word格式和pdf格式的转换,AdreamSoftPDFtoWord可以实现
pdf格式向word格式的转换,通过pdf转word,可以将网络下载的不可编辑pdf转换成可
编辑的word文档后,进行重编辑。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有技术的文档转
化一般是针对特定源格式文档和特定目的格式文档,转化功能单一,对于用户来说,需要
分别配置不同的文档转化软件,接入很不方便实用。
发明内容
本发明实施例提供一种文档转化方法及文档转化系统,以提高文档转化的自动化程
度,提高文档转化效率。
一方面,本发明实施例提供了一种文档转化方法,所述方法包括:
接收文档转化任务;
根据所述文档转化任务,获取源文档文件、所述源文档文件的格式和需最终转化成的
格式;
根据所述源文档文件的格式和需最终转化成的格式,经路由将所述源文档文件转发给
需最终转化成的格式对应的处理模块进行文档转换,获取转化后的文档文件。
另一方面,本发明实施例提供了一种文档转化系统,所述文档转化系统包括:
接口服务器,用于接收文档转化任务,根据所述文档转化任务,获取源文档文件、所
述源文档文件的格式和需最终转化成的格式;根据所述源文档文件的格式和需最终转化成
的格式,经路由将所述源文档文件转发给需最终转化成的格式对应的文档转化服务器;
文档转化服务器,用于进行文档转换,将所述源文档文件转换成需最终转化成的格式,
获取转化后的文档文件。
上述技术方案具有如下有益效果:可以支持转化的格式比较多,接入方便,各模块功
能独立,队列处理请求,高效可靠,部分模块可以复用,监控方便。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技
术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明
的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根
据这些附图获得其他的附图。
图1为本发明实施例一种文档转化方法流程图;
图2为本发明实施例一种文档转化系统组成结构示意图;
图3为本发明实施例接口服务器结构示意图;
图4为本发明应用实例转化服务的整体流程图;
图5为本发明应用实例最终格式为swf格式的分发流程图;
图6为本发明应用实例最终格式为txt格式的分发流程图;
图7为本发明应用实例最终格式为png格式的分发流程图;
图8为本发明应用实例最终格式为html格式的分发流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地
描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本
发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实
施例,都属于本发明保护的范围。
如图1所示,为本发明实施例一种文档转化方法流程图,所述方法包括:
101、接收文档转化任务;
102、根据所述文档转化任务,获取源文档文件、所述源文档文件的格式和需最终转
化成的格式;
103、根据所述源文档文件的格式和需最终转化成的格式,经路由将所述源文档文件
转发给需最终转化成的格式对应的处理模块进行文档转换,获取转化后的文档文件。
优选的,接收客户端发送的文档转化请求;根据所述文档转化请求向所述客户端反馈
超文本传输协议HTML格式的文档转化网页;接收所述客户端通过所述HTML格式的文
档转化网页反馈的文档转化任务,所述文档转化任务包括:源文档文件、所述源文档文件
的格式和需最终转化成的格式。
优选的,接收到文档转化任务后,由接口服务器根据任务分配数据库中的信息查询当
前可分配的文档转化服务器,将文档转化任务通过队列发送到对应的文档转化服务器。
优选的,所述将所述文档转化任务通过队列发送到对应的文档转化服务器,包括:按
照当前各文档转化服务器的类型和任务数进行排序,取当前文档转化任务数最少的文档转
化服务器进行分配,分配后对该文档转化服务器的当前任务数记录加1,处理完一个文档
转化任务后,当前记录数减1,以保证各文档转化服务器负载均衡。
优选的,所述根据所述文档转化任务,获取源文档文件、所述源文档文件的格式和需
最终转化成的格式,包括:接收到所述文档转化任务后,所述文档转化任务进入门卫
doorman模块,对所述文档转化任务对应的数据来源进行解析,根据下载方式不同,分别
转发到远程同步Rsync模块或Http模块进行下载,从下载数据中获取源文档文件、所述源
文档文件的格式和需最终转化成的格式;其中,所述源文档文件的格式包括:pdf格式、txt
格式、def格式;需最终转化成的格式包括:swf格式、txt格式、png格式、html格式。
对应于上述方法实施例,如图2所示,为本发明实施例一种文档转化系统组成结构示
意图,所述文档转化系统包括:
接口服务器21,用于接收文档转化任务,根据所述文档转化任务,获取源文档文件、
所述源文档文件的格式和需最终转化成的格式;根据所述源文档文件的格式和需最终转化
成的格式,经路由将所述源文档文件转发给需最终转化成的格式对应的文档转化服务器;
文档转化服务器22,用于进行文档转换,将所述源文档文件转换成需最终转化成的格
式,获取转化后的文档文件。
优选的,所述接口服务器21,还用于接收客户端发送的文档转化请求;根据所述文档
转化请求向所述客户端反馈HTML格式的文档转化网页;接收所述客户端通过所述HTML
格式的文档转化网页反馈的文档转化任务,所述文档转化任务包括:源文档文件、所述源
文档文件的格式和需最终转化成的格式。
所述接口服务器21,还用于接收到文档转化任务后,根据任务分配数据库中的信息查
询当前可分配的文档转化服务器22,将文档转化任务通过队列发送到对应的文档转化服务
器22。
优选的,如图3所示,为本发明实施例接口服务器结构示意图,所述接口服务器21
包括:负载均衡单元211,用于按照当前各文档转化服务器的类型和任务数进行排序,取
当前文档转化任务数最少的文档转化服务器进行分配,分配后对该文档转化服务器的当前
任务数记录加1,处理完一个文档转化任务后,当前记录数减1,以保证各文档转化服务
器负载均衡。
优选的,所述接口服务器21,还具体用于接收到所述文档转化任务后,所述文档转化
任务进入门卫doorman模块,对所述文档转化任务对应的数据来源进行解析,根据下载方
式不同,分别转发到远程同步Rsync模块或Http模块进行下载,从下载数据中获取源文档
文件、所述源文档文件的格式和需最终转化成的格式;其中,所述源文档文件的格式包括:
pdf格式、txt格式、def格式;需最终转化成的格式包括:swf格式、txt格式、png格式、
html格式。
以下通过应用实例对本发明实施例上述技术方案进行详细说明:
本发明应用实例文档建立一个统一转化平台,为其他第三方提供文档转化服务。所谓
的文档转化就是输入特定格式的文档,平台负责按照规范生成其他格式的文档的过程。
1,平台转化的文档大部分面向前台文档预览服务,主要包括swf方式预览,png预览,
txt、html等格式的初步转化预览等。
2,支持某些格式文档输出,比如某些类型文档pdf/doc/docx等转化为txt。
此输出多用来文档内容过滤服务,同时还支持pdf输出,某些预览似乎可以预览pdf,
此输出主要面向此种预览。
3,接入方式提供简易的http接口,统一转化约定的合作者的文档转化请求。
4,队列过程进行监控,及时定位故障服务器。
本发明应用实例采用的转化方案是大量使用第三方开源工具进行转化,不同工具封装
成不同的转化模块,可以比较好的实现转化服务。
本发明应用实例支持的格式如下表1所示:
表1
1,请求方式,http请求。
请求接口地址方式POST请求。
appnamevarchar(10)约定合作者名称
appkeyvarchar(32)约定的密匙。
finaltypeVarchar(10)swf/png/txt/pdf。转化最终文件类型。
thumbnailenum(0,1)0不带略缩图,1带略缩图,
AddressVarchar(15)文档转化服务器的网段
ftypevarchar(10)数据流转方式,支持rsync、http方式
fpathVarchar(255)数据获取地址
ttypevarchar(10)数据回传方式,值为:rsync
tpathVarchar(255)数据回传地址
callbackVarchar(255)成功或失败后的回调url地址
extinfoVarchar(255)扩展字段,在调用回调函数时会原样返回
2,请求到转化平台先由两台接口服务器根据任务分配数据库中的信息查询当前可分
配的服务器,将任务通过队列发送到各个文档转化服务器。
分配方式按照当前各文档转化服务器的类型和任务数进行排序,取当前转化任务数最
少的进行分配,分配后对该服务器的当前任务数记录加1,处理完一个转化任务后,当前
记录数减1,保证文档转化服务器负载均衡。
3,文档转化服务器接收到任务后,进入doorman模块,对数据来源进行解析,根据
下载方式不同,分别转发到Rsync模块或Http模块,进行下载,然后由Router模块转发,
根据数据文件的格式和最终转化成的格式需求,会有如下几个模块参与,conver模块,
mprouter模块,txtcover模块,pngconver模块,formattxter模块,pdfcreaterex模块,swfconver
模块,htmlconver模块,txtoutf8模块。
如图4所示,为本发明应用实例转化服务的整体流程图,路由之后的具体转化模块后
面详细阐述。
路由router模块根据目标文件格式为swf,源文件格式是pdf、txt或者是默认的其他格
式,转发给不同的模块。
最终转化为swf格式的普通文档由conver模块处理,conver模块调用unoconv开源工
具,它将任何文档转化成为能识别的格式,再由mprouter模块,根据最后要转化的格式转
发给swfconver模块,swfconver模块调用swfiools开源工具,它主要提供一组用来处理Flash
的swf文件的工具包。该模块将文件转化成swf格式文件。
源文件为pdf的文件由mprouter模块处理,mprouter模块根据来源格式和最终输出的
格式,转发给swfconver模块,转化为swf文件。
源文件为txt的文件由formattxter模块进行utf8转化,输出为swf文件。
如图5所示,为本发明应用实例最终格式为swf格式的分发流程图。
同理,最终转化为txt格式的普通文件由conver模块处理,转化为txt文档,mprouter
分发给txtoutf8模块进行转化,输出为txt。
源文件格式为pdf的文件由txtconver模块调用xpdf,xpdf是一个开放源代码的PDF
档案浏览器。通过linux使用命令行pdftotext可以把pdf转化为tx,然后由txtout8模块转
化输出成txt文档。
源文件格式为txt的文件由txtoutf8模块处理输出为txt文档。
如图6所示,为本发明应用实例最终格式为txt格式的分发流程图。
最终转化为png格式的普通文件也是由conver模块处理,经由pngconver模块处理。
Pdf格式的文件直接有mprouter转发给pngconver模块,pngconver模块调用ImageMagick
开源工具,它是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理
超过89种基本格式的图片文件。用它的convert工具来进行png的转化,生成png图片。
如图7所示,为本发明应用实例最终格式为png格式的分发流程图。
最终转化为html格式的普通文件由pdfcreaterex模块处理转化为pdf文件,经由
mprouterpdf转发至htmlconver模块进行转化,htmlconver调用开源工具pdf2htmlEx工具进
行转化,生成html。
源文件格式为pdf的文件则由mprouter模块直接转发给htmlconver模块转化,生成html
文件。
如图8所示,为本发明应用实例最终格式为html格式的分发流程图。
经过上转化述的转化过程后,如果转化成功,会转发给upload模块,upload模块采用
rsync方式将转化成功的文件发送给请求方提供的接收地址,然后后调用callback模块,通
知请求方转码成功。若转化文件失败会直接调用callback模块,回调请求方提供的结果回
调地址,通知请求方转化结果。
最后,callback模块会转发给uptask,将mysql数据库中对转化任务的记录更新。
4,监控系统,本发明应用实例中采用的所有模块都是独立模块,模块间的耦合性非
常小,模块间数据流转通过文本数据传输,对每次请求的读取和写入都是以队列形式按照
先进先出原则处理,如果某一个模块处理出现故障,则队列文件会停止写入数据,监控系
统会对每个脚本的更新时间进行监控,如果两小时没有数据更新,则发邮件通知当前服务
器的当前脚本出现故障,方便管理人员及时维护。
本发明应用实例可以支持转化的格式比较多,接入方便,各模块功能独立,队列处理
请求,高效可靠,部分模块可以复用,监控方便。本发明应用实例作为第三方平台,服务
接入简单,效率高。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏
好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下
得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要
限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应
该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清
楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那
样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书
特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了
描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文
定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因
此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范
围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或
方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可
以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保
护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包
含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词
所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非
排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative
logicalblock),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为
清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative
components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软
件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的
应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保
护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字
信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门
或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用
处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微
控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处
理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似
的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模
块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM
存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意
形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒
介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。
处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和
存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、
固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒
介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑
存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是
任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不
限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,
或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或
特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读
媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光
纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被
包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射
盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光
学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细
说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的
保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包
含在本发明的保护范围之内。