一种从 PDF 格式文件页面中提取图像的方法及系统 【技术领域】
本发明涉及文档处理领域, 特别是涉及一种从 PDF 格式文件页面中提取图像的方 法及系统。背景技术
PDF 是 Portable Document Format( 便携文件格式 ) 的缩写, 是一种电子文件格 式。PDF 文件格式以其卓越的特性成为在互联网上进行电子文档发行和格式化信息传播的 理想文件格式。当前, 在互联网上发布的科技论文大部分以 PDF 格式提交。但是, PDF 格式 文件的着重点在于描述文档的打印格式, 而没有描述原始文档内的数据结构, 并且不易编 辑。因此, 如果需要将 PDF 格式文件转换为其它格式的文件, 是比较困难的。尤其是 PDF 格 式文件中的图像, 是 PDF 格式文件转换中最难解决的问题。
现有技术中, 在将 PDF 格式文件转换为其它格式的文件时, 对于图像的提取主要 有两种方式 : 一种是将 PDF 格式文件中的所有图像元素 ( 一幅图片可能由大量的图像元素构 成 ) 原封不动的提取出来。该方式提取出的图像元素, 往往有成千上万个。由于该方式提 取出的是大量的图像元素, 同时并没有明确哪些图像元素构成一幅图像。 因此, 该方式提取 出的图像, 只能对图像元素进行编辑而无法对图像整体进行编辑。
还有一种是直接将 PDF 格式文件中的整个页面作为一个图片提取出来。该方式提 取出的图像, 同样存在不易编辑的问题。
发明内容
本发明的目的是提供一种从 PDF 格式文件页面中提取图像的方法及系统, 能够使 得提取出的图像易于编辑, 同时具有较高的提取效率。
为实现上述目的, 本发明提供了如下方案 :
一种从 PDF 格式文件页面中提取图像的方法, 包括 :
获取 PDF 格式文件页面中每个图像元素的位置信息 ;
根据所述位置信息, 将页面中的全部图像元素划分为不同的集合 ;
将每个集合中的全部图像元素作为整体进行图像提取。
优选的, 所述获取 PDF 格式文件页面中每个图像元素的位置信息包括 :
获取 PDF 格式文件页面中每个图像元素的左上角顶点位置坐标信息, 并记录所述 坐标信息作为该图像元素的基准点。
优选的, 所述根据所述位置信息, 将页面中的全部图像元素划分为不同的集合, 包 括:
对所述图像元素进行水平方向的划分, 得到一个或多个行集合 ;
对所述行集合中的图像元素进行垂直方向的划分, 得到行列集合。
优选的, 所述对所述图像元素进行水平方向的划分, 得到一个或多个行集合, 包括: A、 按照图像元素的基准点的纵坐标, 对全部图像元素进行排序 ;
B、 按照纵坐标的排序结果, 将第一个图像元素划分至第一个行集合 ;
C、 判断下一个图像元素与刚划分的图像元素的纵坐标范围是否相交 ;
D、 如果是, 则将所述下一个图像元素划分至所述刚划分的图像元素所在的行集 合; 否则, 将所述下一个图像元素划分至新的行集合, 返回步骤 C。
优选的, 所述对所述行集合中的图像元素进行垂直方向的划分, 得到行列集合, 包 括:
E、 对于每个行集合, 按照所述图像元素的基准点的横坐标, 对行集合中的图像元 素进行排序 ;
F、 按照横坐标的排序结果, 将行集合中的第一个图像元素划分至第一个列集合 ; 所述列集合为对应于整个页面的行列集合 ;
G、 判断下一个图像元素与刚划分的图像元素在横坐标方向是否相交 ;
H、 如果是, 则将所述下一个图像元素划分至所述刚划分的图像元素所在的列集 合; 否则, 将所述下一个图像元素划分至新的列集合, 返回步骤 G。
优选的, 所述将每个行列集合中的全部图像元素作为整体进行图像提取, 包括 :
获取每个行列集合的外围轮廓 ;
按照所述外围轮廓, 将所述行列集合中的全部图像元素作为一幅图片进行提取。
优选的, 所述获取每个行列集合的外围轮廓 ; 按照所述外围轮廓, 将所述行列集合 中的全部图像元素作为一幅图片进行提取, 包括 :
获取每个行列集合的外围矩形 ;
根据该外围矩形对该行列集合中的全部图像元素作为整体进行截图提取。
一种从 PDF 格式文件页面中提取图像的系统, 包括 :
位置信息获取模块, 用于获取 PDF 格式文件页面中每个图像元素的位置信息 ;
集合划分模块, 用于根据所述位置信息, 将页面中的全部图像元素划分为不同的 集合 ;
提取模块, 用于将每个集合中的全部图像元素作为整体进行图像提取。
优选的, 所述位置信息获取模块包括 :
坐标信息获取单元, 用于获取 PDF 格式文件页面中每个图像元素的左上角顶点位 置坐标信息, 并记录所述坐标信息作为该图像元素的基准点。
优选的, 所述集合划分模块包括 :
行集合划分单元, 用于对所述图像元素进行水平方向的划分, 得到一个或多个行 集合 ;
行列集合划分单元, 用于对所述行集合中的图像元素进行垂直方向的划分, 得到 行列集合。
根据本发明提供的具体实施例, 本发明公开了以下技术效果 :
本发明所公开的从 PDF 格式文件页面中提取图像的方法, 通过根据图像元素在文 件页面中的位置信息, 对其进行行列划分, 对划分后的行列集合进行整体提取, 使得提取出 的图像易于编辑, 同时具有较高的提取效率。
附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例中所 需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施 例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图 获得其他的附图。
图 1 为本发明实施例所述从 PDF 格式文件页面中提取图像的方法流程图 ;
图 2 为本发明实施例所述从 PDF 格式文件页面中提取图像的系统结构图。
具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。
本发明的目的是提供一种从 PDF 格式文件页面中提取图像的方法及系统, 能够根 据 PDF 格式文件中的原始图像信息, 将图像元素划分为少量有意义的集合, 并提取出来。 为使本发明的上述目的、 特征和优点能够更加明显易懂, 下面结合附图和具体实 施方式对本发明作进一步详细的说明。
参见图 1, 为本发明实施例所述从 PDF 格式文件页面中提取图像的方法流程图。 如 图 1 所示, 该方法包括步骤 :
S101 : 获取 PDF 格式文件页面中每个图像元素的位置信息 ;
图像元素可以是各种不同的类型。具体的, 可以用坐标的方式记录每个图像元素 的位置信息。对于不同的图像元素来说, 该元素所占的区域面积大小也不尽相同。本发明 中可以采用该元素平面坐标 (x, y) 来记录该元素的位置信息。其中, x 表示横坐标, y 表示 纵坐标。区域面积越大的元素, 其覆盖的坐标区域也越大。
因此步骤 S101 可以包括 :
获取 PDF 格式文件页面中每个图像元素的坐标信息。
具体的, 可以获取 PDF 格式文件页面中每个图像元素的左上角顶点位置坐标信 息, 并记录所述坐标信息作为该图像元素的基准点。
S102 : 根据所述位置信息, 将页面中的全部图像元素划分为不同的集合 ;
通常, 一幅图片中可能包含多个图像元素 ( 例如像素 )。 由于这些图像元素同属于 一幅图片, 因此这些图像元素的位置是很紧凑的。步骤 S102 的含义就是按照 PDF 格式文件 页面中原本的图片组成方式, 尽可能的将同属于一个图片的图像元素, 划分到同一个集合 中, 以便作为一个整体进行提取。
实际应用中, 步骤 S102 可以包括 :
对所述图像元素进行水平方向的划分, 得到一个或多个行集合 ;
对所述行的集合中的图像元素进行垂直方向的划分, 得到行列集合。
具体的, 对于采用坐标方式表示每个图像元素的位置信息, 行的集合的划分可以 包括步骤 :
A、 按照所述图像元素的基准点的纵坐标, 对全部图像元素进行排序 ;
对于每个图像元素, 需要按照其相同位置处的点的坐标进行排序。 具体的, 可以采 用每个图像元素的左上点的纵坐标, 对全部图像元素进行排序 ; 也可以采用每个图像元素 的右上点、 左下点或右下点等的纵坐标进行排序。这些点可以认为是图像元素的基准点。
排序的目的是为了能够将水平位置相近的图像元素划分为同一行集合。因此, 如 果坐标系中, 纵坐标轴是由上指向下的, 那么位于页面上方的元素的纵坐标将小于位于页 面下方的元素的纵坐标, 此时可以按照纵坐标由小到大的顺序进行排序 ; 如果坐标系中, 纵 坐标轴是由下指向上的, 那么位于页面上方的元素的纵坐标将大于位于页面下方的元素的 纵坐标, 此时可以按照纵坐标由大到小的顺序进行排序。
B、 按照纵坐标的排序结果, 将第一个图像元素划分至第一个行集合 ;
C、 判断下一个图像元素与刚划分的图像元素的纵坐标范围是否相交 ;
D、 如果是, 则将所述下一个图像元素划分至所述刚划分的图像元素所在的行集 合; 否则, 将所述下一个图像元素划分至新的行集合, 返回步骤 C。
举例来说, 假设刚划分的图像元素的纵坐标范围在 10-100, 下一个图像元素的纵 坐标范围在 20-50, 显然两个范围存在相交的部分。 此时将下一个图像元素划分至所述刚划 分的图像元素所在的行集合, 即认为两者基本处在同一行的位置上。 如果刚划分的图像元素的纵坐标范围在 10-100, 下一个图像元素的纵坐标范围在 200-260, 则两个范围不存在相交的部分。此时将所述下一个图像元素划分至新的行集合, 即认为两者不属于同一行。重复步骤 C 和 D, 直至将全部图像元素都划分完。
对所述行的集合中的图像元素进行垂直方向的划分, 得到行列集合, 具体可以包 括步骤 :
E、 对于每个行集合, 按照所述图像元素的基准点的横坐标, 对行集合中的图像元 素进行排序 ;
排序的目的是为了能够将垂直位置相近的图像元素划分为同一列集合。因此, 如 果坐标系中, 横坐标轴是由左指向右的, 那么位于页面左方的元素的横坐标将小于位于页 面右方的元素的横坐标, 此时可以按照横坐标由小到大的顺序进行排序 ; 如果坐标系中, 横 坐标轴是右下指向左的, 那么位于页面左方的元素的横坐标将大于位于页面右方的元素的 横坐标, 此时可以按照横坐标由大到小的顺序进行排序。
F、 按照横坐标的排序结果, 将行集合中的第一个图像元素划分至第一个列集合 ; 所述列集合为对应于整个页面的行列集合 ;
G、 判断下一个图像元素与刚划分的图像元素在横坐标方向是否相交 ;
H、 如果是, 则将所述下一个图像元素划分至所述刚划分的图像元素所在的列集 合; 否则, 将所述下一个图像元素划分至新的列集合, 返回步骤 G。
举例来说, 假设刚划分的图像元素的横坐标范围在 10-100, 下一个图像元素的横 坐标范围在 20-150, 显然两个范围存在相交的部分。此时将下一个图像元素划分至所述刚 划分的图像元素所在的列集合, 即认为两者基本处在同一列的位置上。
如果刚划分的图像元素的横坐标范围在 10-100, 下一个图像元素的横坐标范围在 200-260, 则两个范围不存在相交的部分。此时将所述下一个图像元素划分至新的列集合, 即认为两者不属于同一列。重复步骤 G 和 H, 直至将某个行集合中的图像元素划分完, 然后
对另一个行集合进行划分, 最终完成对所有行集合的划分。
需要说明的是, 步骤 E-H 是针对每个行集合来说的。对于每个行集合中划分出的 列集合, 就可以认为是对于整个页面的行列集合。
S103 : 将每个集合中的全部图像元素作为整体进行图像提取。
因为进行行列划分之后的每个行列集合, 在水平和垂直位置都是十分接近的, 这 些元素很可能共同构成同一幅图像。因此, 可以将每个行列集合中的全部图像元素作为整 体进行提取。
具体的, 可以采用下述方式进行提取 :
获取每个行列集合的外围轮廓 ;
按照所述外围轮廓, 将所述行列集合中的全部图像元素作为一幅图片进行提取。
更具体的, 为便于理解以及操作, 获取每个行列集合的外围轮廓, 可以是获取每个 行列集合的外围矩形 ; 然后根据该外围矩形对该行列集合中的全部图像元素进行截图提 取。
综上所述, 本发明所公开的从 PDF 格式文件页面中提取图像的方法, 通过根据图 像元素在文件页面中的位置信息, 对其进行行列划分, 对划分后的行列集合进行整体提取, 使得提取出的图像易于编辑, 同时具有较高的提取效率。 与本发明所公开的从 PDF 格式文件页面中提取图像的方法相对应, 本发明还公开 了一种从 PDF 格式文件页面中提取图像的系统。
参见图 2, 为本发明实施例所述从 PDF 格式文件页面中提取图像的系统结构图。 如 图 2 所示, 该系统包括 :
位置信息获取模块 201, 用于获取 PDF 格式文件页面中每个图像元素的位置信息 ;
集合划分模块 202, 用于根据所述位置信息, 将页面中的全部图像元素划分为不同 的集合 ;
提取模块 203, 用于将每个集合中的全部图像元素作为整体进行图像提取。
实际应用中, 所述位置信息获取模块 201 可以包括 :
坐标信息获取单元, 用于获取 PDF 格式文件页面中每个图像元素的左上角顶点位 置坐标信息, 并记录所述坐标信息作为该图像元素的基准点。
所述集合划分模块 202 可以包括 :
行集合划分单元, 用于对所述图像元素进行水平方向的划分, 得到一个或多个行 集合 ;
行列集合划分单元, 用于对所述行集合中的图像元素进行垂直方向的划分, 得到 行列集合。
本说明书中各个实施例采用递进的方式描述, 每个实施例重点说明的都是与其他 实施例的不同之处, 各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统 而言, 由于其与实施例公开的方法相对应, 所以描述的比较简单, 相关之处参见方法部分说 明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述, 以上实施例的说 明只是用于帮助理解本发明的方法及其核心思想 ; 同时, 对于本领域的一般技术人员, 依据 本发明的思想, 在具体实施方式及应用范围上均会有改变之处。 综上所述, 本说明书内容不
应理解为对本发明的限制。