发明内容
本发明的目的是提供一种将PDF格式文件转换为EPUB格式的方法及系统,使得转换后的EPUB格式文件能够图文并茂,并且转换后的EPUB格式文件中,图像元素与文本元素的相对位置关系与原PDF格式文件相同。
为实现上述目的,本发明提供了如下方案:
一种将PDF格式文件转换为EPUB格式的方法,包括:
识别PDF格式文件中的文本元素、图像元素;
获取所述文本元素的坐标和所述图像元素的坐标;
根据所述文本元素的坐标和所述图像元素的坐标,确定所述文本元素和所述图像元素在新生成的HTML格式文件中的位置,以使新生成的HTML格式文件中的文本元素和图像元素的相对位置关系与PDF格式文件中的文本元素和图像元素的相对位置关系相同;
按照确定的位置,生成HTML格式文件;
根据所述HTML格式文件,生成EPUB格式文件。
优选的,所述根据所述文本元素的坐标和所述图像元素的坐标,确定所述文本元素和所述图像元素在新生成的HTML格式文件中的位置,以使新生成的HTML格式文件中的文本元素和图像元素的相对位置关系与PDF格式文件中的文本元素和图像元素的相对位置关系相同,包括:
根据所述文本元素的坐标和所述图像元素的坐标,将原本位于所述图像元素左边或上方的所述文本元素,定位在所述图像元素上方;将原本位于所述图像元素右边或下方的所述文本元素,定位在所述图像元素下方。
优选的,所述根据所述文本元素的坐标和所述图像元素的坐标,将原本位于所述图像元素左边或上方的所述文本元素,定位在所述图像元素上方;将原本位于所述图像元素右边或下方的所述文本元素,定位在所述图像元素下方,包括:
判断所述文本元素的右下点的纵坐标是否小于所述图像元素的左上点的纵坐标;
如果是,则将所述文本元素定位在所述图像元素的上方;
否则,判断所述文本元素的右下点的横坐标是否小于所述图像元素的左上点的横坐标;
如果是,则将所述文本元素定位在所述图像元素的上方;
否则,将所述文本元素定位在所述图像元素的下方。
优选的,所述根据所述文本元素的坐标和所述图像元素的坐标,将原本位于所述图像元素左边或上方的所述文本元素,定位在所述图像元素上方;将原本位于所述图像元素右边或下方的所述文本元素,定位在所述图像元素下方,包括:
判断所述文本元素的左上点的纵坐标是否大于所述图像元素的右下点的纵坐标;
如果是,则将所述文本元素定位在所述图像元素的下方;
否则,判断所述文本元素的左上点的横坐标是否大于所述图像元素的右下点的横坐标;
如果是,则将所述文本元素定位在所述图像元素的下方;
否则,将所述文本元素定位在所述图像元素的上方。
优选的,所述根据所述HTML格式文件,生成EPUB格式文件,包括:
生成包括container.xml文件以及后缀名为opf、ncx在内的EPUB格式所必须的文件;
将所述HTML格式文件,以及所述EPUB格式所必须的文件,压缩成后缀名为EPUB的压缩包。
一种将PDF格式文件转换为EPUB格式的系统,包括:
元素识别模块,用于识别PDF格式文件中的文本元素、图像元素;
坐标获取模块,用于获取所述文本元素的坐标和所述图像元素的坐标;
位置确定模块,用于根据所述文本元素的坐标和所述图像元素的坐标,确定所述文本元素和所述图像元素在新生成的HTML格式文件中的位置,以使新生成的HTML格式文件中的文本元素和图像元素的相对位置关系与PDF格式文件中的文本元素和图像元素的相对位置关系相同;
HTML格式文件生成模块,用于按照所述位置,生成HTML格式文件;
EPUB格式生成模块,用于根据所述HTML格式文件,生成EPUB格式文件。
优选的,所述位置确定模块包括:
上下位置确定单元,用于根据所述文本元素的坐标和所述图像元素的坐标,将原本位于所述图像元素左边或上方的所述文本元素,定位在所述图像元素上方;将原本位于所述图像元素右边或下方的所述文本元素,定位在所述图像元素下方。
优选的,所述上下位置确定单元包括:
第一判断子单元,用于判断所述文本元素的右下点的纵坐标是否小于所述图像元素的左上点的纵坐标;
第一定位子单元,用于当所述第一判断子单元的判断结果为是时,将所述文本元素定位在所述图像元素的上方;
第二判断子单元,用于当所述第一判断子单元的判断结果为否时,判断所述文本元素的右下点的横坐标是否小于所述图像元素的左上点的横坐标;
第二定位子单元,用于当所述第二判断子单元的判断结果为是时,将所述文本元素定位在所述图像元素的上方;
第三定位子单元,用于当所述第二判断子单元的判断结果为否时,将所述文本元素定位在所述图像元素的下方。
优选的,所述上下位置确定单元包括:
第三判断子单元,用于判断所述文本元素的左上点的纵坐标是否大于所述图像元素的右下点的纵坐标;
第四定位子单元,用于当所述第三判断子单元的判断结果为是时,将所述文本元素定位在所述图像元素的下方;
第四判断子单元,用于当所述第三判断子单元的判断结果为否时,判断所述文本元素的左上点的横坐标是否大于所述图像元素的右下点的横坐标;
第五定位子单元,用于当所述第四判断子单元的判断结果为是时,将所述文本元素定位在所述图像元素的下方;
第六定位子单元,用于当所述第四判断子单元的判断结果为否时,将所述文本元素定位在所述图像元素的上方。
优选的,所述EPUB格式生成模块包括:
必要文件生成单元,用于生成包括container.xml文件以及后缀名为opf、ncx在内的EPUB格式所必须的文件;
EPUB格式生成单元,用于将所述HTML格式文件,以及所述EPUB格式所必须的文件,压缩成后缀名为EPUB的压缩包。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
通过对PDF格式文件中的文本元素与图像元素的坐标进行分析,确定所述文本元素和所述图像元素在新生成的HTML格式文件中的位置,以使新生成的HTML格式文件中的所述文本元素和所述图像元素的相对位置关系与PDF格式文件中的所述文本元素和所述图像元素的相对位置关系相同;能够使转换后的EPUB格式文件能够图文并茂,并且转换后的EPUB格式文件中,图像元素与文本元素的相对位置关系与原PDF格式文件相同。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参见图1,为本发明实施例一所述将PDF格式文件转换为EPUB格式的方法流程图。如图1所示,该方法包括步骤:
S101:识别PDF格式文件中的文本元素、图像元素;
由于文本元素和图像元素本身的属性不同,因此,在读取PDF格式文件时,文本元素的数据流与图像元素的数据流,分别具有不同的标识。所以可以根据数据流中的标识,识别PDF格式文件中的文本元素、图像元素。
S102:获取所述文本元素的坐标和所述图像元素的坐标;
S103:根据所述文本元素的坐标和所述图像元素的坐标,确定所述文本元素和所述图像元素在新生成的HTML格式文件中的位置,以使新生成的HTML格式文件中的所述文本元素和所述图像元素的相对位置关系与PDF格式文件中的所述文本元素和所述图像元素的相对位置关系相同;
因为EPUB格式的文件通常由HTML格式文件以及其他一些EPUB格式所必须的文件构成,所以本实施例中,需要根据PDF格式文件中的各种元素先生成HTML格式文件。
下面对本步骤的原理,进行说明。
大多数出版物的排版规律,都是:从某个页面的左上角处开始,每一行文字按照从左向右的顺序显示。该行文字排满一行后,会从该页面下移一行,继续显示。因此,通常一个页面中,坐标系是这样的:该页面的左上角为坐标系的原点(0,0),从左至右为X轴方向,且横坐标的值从左至右逐渐增大;从上向下为Y轴方向,且纵坐标的值从上向下逐渐增大。
因此,在某个页面中,相对位置靠左的元素,其横坐标的值越小;相对位置靠右的元素,其横坐标的值越大;相对位置靠上的元素,其纵坐标的值越小;相对位置靠下的元素,其纵坐标的值越大。所以,可以根据所述文本元素的坐标和所述图像元素的坐标,确定所述文本元素和所述图像元素在新生成的HTML格式文件中的位置,以使新生成的HTML格式文件中的所述文本元素和所述图像元素的相对位置关系与PDF格式文件中的所述文本元素和所述图像元素的相对位置关系相同。
具体的,可以根据所述文本元素的坐标和所述图像元素的坐标,将原本位于所述图像元素左边或上方的所述文本元素,定位在所述图像元素上方;将原本位于所述图像元素右边或下方的所述文本元素,定位在所述图像元素下方。
S104:按照所述位置,生成HTML格式文件;
S105:根据所述HTML格式文件,生成EPUB格式文件。
因为,EPUB格式文件中,有一些必须的文件,例如:container.xml文件以及后缀名为opf、ncx的文件等等,所以最后需要根据所述HTML格式文件,以及所述EPUB格式所必须的文件,生成EPUB格式文件。
本实施例中,通过对PDF格式文件中的文本元素与图像元素的坐标进行分析,确定所述文本元素和所述图像元素在新生成的HTML格式文件中的位置,以使新生成的HTML格式文件中的所述文本元素和所述图像元素的相对位置关系与PDF格式文件中的所述文本元素和所述图像元素的相对位置关系相同;能够使转换后的EPUB格式文件能够图文并茂,并且转换后的EPUB格式文件中,图像元素与文本元素的相对位置关系与原PDF格式文件相同。
实施例二
参见图2,为本发明实施例二所述将PDF格式文件转换为EPUB格式的方法流程图。该实施例更加详细地说明了本发明的实际应用过程。如图2所示,该方法包括步骤:
S201:识别PDF格式文件中的文本元素、图像元素;
S202:获取所述文本元素的坐标和所述图像元素的坐标;
S203:判断所述文本元素的右下点的纵坐标是否小于所述图像元素的左上点的纵坐标;
如果是,执行步骤S204;否则,执行步骤S205;
S204:将所述文本元素定位在所述图像元素的上方;
S205:判断所述文本元素的右下点的横坐标是否小于所述图像元素的左上点的横坐标;
如果是,则执行步骤S204;否则,执行步骤S206;
S206:将所述文本元素定位在所述图像元素的下方;
S207:按照所述位置,生成HTML格式文件;
S208:根据所述HTML格式文件,生成EPUB格式文件。
其中,步骤S203-S206的原理如下:
通常,一个文本元素中包含一段文字。这段文字可以近似构成一个矩形区域。该矩形区域的右下点的纵坐标,如果小于图像元素(也可以认为是一个矩形区域)的左上点的纵坐标,那么,可以肯定,该文本元素在原PDF格式文件中,是位于该图像元素的上方的。
同理,如果该文本元素的右下点的横坐标小于该图像元素的左上点的横坐标,那么,该文本元素在原PDF格式文件中,是位于该图像元素的左侧的。
按照正常的阅读习惯,在图像元素上方和左侧的文本元素,在转换后的EPUB格式文件中,也应该出现在图像元素之前。因此,本实施例中,将原PDF格式文件中的图像元素上方和左侧的文本元素,均定位在该图像元素的上方。
步骤S203-S206中,当进行两次判断以后的结果都是否时,表示该文本元素既不在图像元素的上方,也不在该图像元素的左侧,那么,该文本元素必然位于图像元素的下方或右侧。按照正常的阅读习惯,本实施例中,将原PDF格式文件中的图像元素下方和右侧的文本元素,均定位在该图像元素的下方。
综上,本实施例中,公开了根据文本元素和图像元素的坐标,确定所述文本元素和所述图像元素在新生成的HTML格式文件中的位置的一种具体方式。
本实施例所公开的将PDF格式文件转换为EPUB格式的方法,通过对文本元素右下点与图像元素左上点的横、纵坐标进行比较,能够确定文本元素与图像元素在原PDF格式文件中的位置关系,并且在转换后的EPUB格式文件中保留上述位置关系;使得转换后的EPUB格式文件能够图文并茂,并且转换后的EPUB格式文件中,图像元素与文本元素的相对位置关系与原PDF格式文件相同。
需要说明的是,由于坐标系的设置方向可以变化,用来进行判断的文本元素或者图像元素的坐标点的选取也可以改变(可以采用文本元素的左上点坐标与图像元素的右下点坐标进行比较),因此,本发明实施例所公开的将PDF格式文件转换为EPUB格式的方法,还可以有多种变形后的方式,此处不应理解为对本发明的限定。
实施例三
本实施例相对于实施例二,采用了另一种确定所述文本元素和所述图像元素在新生成的HTML格式文件中的位置的方式。
参见图3,为本发明实施例三所述将PDF格式文件转换为EPUB格式的方法流程图。
如图3所示,该方法包括步骤:
S301:识别PDF格式文件中的文本元素、图像元素;
S302:获取所述文本元素的坐标和所述图像元素的坐标;
S303:判断所述文本元素的左上点的纵坐标是否大于所述图像元素的右下点的纵坐标;
如果是,执行步骤S304;否则执行步骤S305;
S304:将所述文本元素定位在所述图像元素的下方;
S305:判断所述文本元素的左上点的横坐标是否大于所述图像元素的右下点的横坐标;
如果是,则执行步骤S304;否则,执行步骤S306;
S306:将所述文本元素定位在所述图像元素的上方;
S307:按照所述位置,生成HTML格式文件;
S308:根据所述HTML格式文件,生成EPUB格式文件。
其中,步骤S303-S306的原理如下:
文本元素构成的矩形区域的左上点的纵坐标,如果大于图像元素构成的矩形区域的右下点的纵坐标,那么,该文本元素在原PDF格式文件中,是位于该图像元素的下方的。
同理,如果该文本元素的左上点的横坐标大于该图像元素的右下点的横坐标,那么,该文本元素在原PDF格式文件中,是位于该图像元素的右侧的。
按照正常的阅读习惯,在图像元素下方和右侧的文本元素,在转换后的EPUB格式文件中,均定位在该图像元素的下方。
步骤S303-S306中,当进行两次判断以后的结果都是否时,表示该文本元素既不在图像元素的下方,也不在该图像元素的右侧,那么,该文本元素必然位于图像元素的上方或左侧。按照正常的阅读习惯,本实施例中,将原PDF格式文件中的图像元素上方或左侧的文本元素,均定位在该图像元素的上方。
综上,本实施例中,公开了根据文本元素和图像元素的坐标,确定所述文本元素和所述图像元素在新生成的HTML格式文件中的位置的一种具体方式。
本实施例所公开的将PDF格式文件转换为EPUB格式的方法,通过对文本元素左上点与图像元素右下点的横、纵坐标进行比较,能够确定文本元素与图像元素在原PDF格式文件中的位置关系,并且在转换后的EPUB格式文件中保留上述位置关系;使得转换后的EPUB格式文件能够图文并茂,并且转换后的EPUB格式文件中,图像元素与文本元素的相对位置关系与原PDF格式文件相同。
本发明同时公开了一种将PDF格式文件转换为EPUB格式的系统。参见图4,为本发明所公开的将PDF格式文件转换为EPUB格式的系统结构图。如图4所示,该系统包括:
元素识别模块401,用于识别PDF格式文件中的文本元素、图像元素;
坐标获取模块402,用于获取所述文本元素的坐标和所述图像元素的坐标;
位置确定模块403,用于根据所述文本元素的坐标和所述图像元素的坐标,确定所述文本元素和所述图像元素在新生成的HTML格式文件中的位置,以使新生成的HTML格式文件中的所述文本元素和所述图像元素的相对位置关系与PDF格式文件中的所述文本元素和所述图像元素的相对位置关系相同;
HTML格式文件生成模块404,用于按照所述位置,生成HTML格式文件;
EPUB格式生成模块405,用于根据所述HTML格式文件,生成EPUB格式文件。
图5为本发明实施例所公开的位置确定模块结构图。如图5所示,位置确定模块403可以包括:
上下位置确定单元4030,用于根据所述文本元素的坐标和所述图像元素的坐标,将原本位于所述图像元素左边或上方的所述文本元素,定位在所述图像元素上方;将原本位于所述图像元素右边或下方的所述文本元素,定位在所述图像元素下方。
上下位置确定单元4030,可以包括:
第一判断子单元4031,用于判断所述文本元素的右下点的纵坐标是否小于所述图像元素的左上点的纵坐标;
第一定位子单元4032,用于当所述第一判断子单元的判断结果为是时,将所述文本元素定位在所述图像元素的上方;
第二判断子单元4033,用于当所述第一判断子单元的判断结果为否时,判断所述文本元素的右下点的横坐标是否小于所述图像元素的左上点的横坐标;
第二定位子单元4034,用于当所述第二判断子单元的判断结果为是时,将所述文本元素定位在所述图像元素的上方;
第三定位子单元4035,用于当所述第二判断子单元的判断结果为否时,将所述文本元素定位在所述图像元素的下方。
图6为本发明实施例所公开的位置确定模块另一结构图。如图6所示,上下位置确定单元4030,可以包括:
第三判断子单元4036,用于判断所述文本元素的左上点的纵坐标是否大于所述图像元素的右下点的纵坐标;
第四定位子单元4037,用于当所述第三判断子单元的判断结果为是时,将所述文本元素定位在所述图像元素的下方;
第四判断子单元4038,用于当所述第三判断子单元的判断结果为否时,判断所述文本元素的左上点的横坐标是否大于所述图像元素的右下点的横坐标;
第五定位子单元4039,用于当所述第四判断子单元的判断结果为是时,将所述文本元素定位在所述图像元素的下方;
第六定位子单元40310,用于当所述第四判断子单元的判断结果为否时,将所述文本元素定位在所述图像元素的上方。
图7为本发明实施例所公开的EPUB格式生成模块结构图。如图7所示,EPUB格式生成模块405,可以包括:
必要文件生成单元4051,用于生成包括container.xml文件以及后缀名为opf、ncx在内的EPUB格式所必须的文件;
EPUB格式生成单元4052,用于将所述HTML格式文件,以及所述EPUB格式所必须的文件,压缩成后缀名为EPUB的压缩包。
本实施例所公开的将PDF格式文件转换为EPUB格式的系统,能够对PDF格式文件中的文本元素与图像元素的坐标进行分析,确定所述文本元素和所述图像元素在新生成的HTML格式文件中的位置,以使新生成的HTML格式文件中的所述文本元素和所述图像元素的相对位置关系与PDF格式文件中的所述文本元素和所述图像元素的相对位置关系相同;能够使转换后的EPUB格式文件能够图文并茂,并且转换后的EPUB格式文件中,图像元素与文本元素的相对位置关系与原PDF格式文件相同。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。