一种PDF文件信息分析方法和装置与流程

文档序号:25615119发布日期:2021-06-25 15:54阅读:116来源:国知局
一种pdf文件信息分析方法和装置
技术领域
:1.本发明涉及数据分析
技术领域
:,尤其涉及一种pdf文件信息分析方法和装置。
背景技术
::2.pdf(portabledocumentformat,可携带文档格式)文件是一种应用广泛的电子文件格式,可以将文字、字型、格式、颜色及图形图像等信息封装,具有存储空间少、便于传输、兼容性高、不易被篡改等优点。pdf文件主要用于在二维平面上表示(查看或打印)文档排版,而不是用来编辑(类似word)或者保存、传输结构化数据,其中的数据较难还原成原始的用于生产pdf文件的结构化数据。例如:pdf文件中的文本段落,在读者看来它是由一行一行的文字构成,而实际上这些文字都是独立地以字符结合二维坐标的形式定位在平面上,并没有句子、行、段落之类的概念;pdf中的表格也是由独立的每一个字符,和一些由起点、终点、粗细描述的线段等构成。现有技术中,通常是根据识别出的每个字符的坐标位置聚合形成段落,将pdf文件转为纯文本文件(txt格式)。这种将pdf文件转换成纯文本的方法容易丢失了大量的格式信息(包括布局排版、字体、颜色等),丢失布局排版信息更导致格式错乱等问题。3.有鉴于此,本文旨在提供一种pdf文件信息分析方法和装置。技术实现要素:4.针对现有技术的上述问题,本文的目的在于,提供一种pdf文件信息分析方法和装置,以解决现有技术中在对pdf文件信息进行分析处理时,分析效率低且大量信息丢失的问题。5.为了解决上述技术问题,本文的具体技术方案如下:6.一方面,本文提供一种pdf文件信息分析方法,包括:7.解析待处理的pdf文件,获得若干元素以及所述元素的位置信息和特征信息,所述元素包括字符元素和非字符元素;8.根据所述元素的位置信息,将所述特征信息插入到所述pdf文件的相应元素处。9.具体地,所述根据所述元素的位置信息,将所述特征信息插入到所述pdf文件的相应元素处,包括:10.根据所述元素的位置信息,将所述字符元素的所述特征信息以备注的形式插入到所述字符元素处;11.根据所述元素的位置信息,将所述非字符元素的所述特征信息以划分区域的形式插入到所述非字符元素处。12.具体地,所述位置信息包括:所述元素所在页码和所述元素所在页内的坐标信息;13.所述特征信息:包括所述字符元素的字符特征以及所述非字符元素的边界信息。14.进一步地,所述根据所述元素的位置信息,将所述非字符元素的所述特征信息以划分区域的形式插入到所述非字符元素处,包括:15.对所述非字符元素的边界进行高亮处理、和/或着色处理、和/或缩放处理得到划分区域信息;16.根据所述元素的位置信息,将所述划分区域信息插入到所述pdf文件中相应的非字符元素处。17.优选地,所述非字符元素包括线条元素、色块元素和图像元素;对所述非字符元素的边界进行高亮处理、和/或着色处理、和/或缩放处理,进一步为:18.对所述线条元素的边界、所述色块元素的边界和所述图像元素的边界分别以不同的亮度进行高亮处理、和/或以不同的颜色进行着色处理、和/或以不同的比例进行放缩处理。19.进一步地,所述特征信息还包括所述非字符元素的填充信息;所述根据所述元素的位置信息,将所述非字符元素的所述特征信息以划分区域的形式插入到所述非字符元素处,包括:20.对所述色块元素的边界进行缩放处理,根据所述填充信息对缩放处理后的边界进行着色处理,得到所述色块元素的划分区域信息;21.根据所述元素的位置信息,将所述色块元素的划分区域信息插入到所述色块元素处。22.进一步地,所述方法还包括:根据预设提取规则,对所述元素进行提取;所述预设提取规则包括:23.根据所述位置信息、和/或根据预设的关键字匹配算法、和/或根据所述特征信息提取元素。24.优选地,所述预设提取规则还包括:综合多个元素的位置信息和/或特征信息,提取元素。25.优选地,所述将所述特征信息插入到所述pdf文件的相应元素处之前,还包括:26.根据所述元素的位置信息和特征信息,判断两个所述元素的类型是否相同且两个所述元素之间的距离是否小于或等于第一距离阈值;27.若是,则将两个元素聚合为一个元素。28.优选地,所述将所述特征信息插入到所述pdf文件的相应元素处之前,还包括:29.根据所述特征信息判断两个元素是否相同;30.若相同,则根据所述位置信息判断两个所述元素之间的距离是否大于预设的第二距离阈值;31.若所述元素之间的距离大于所述第二距离阈值,则分别保留两个所述元素;32.若所述元素之间的距离小于或等于所述第二距离阈值,则删除两个所述元素中的一个。33.另一方面,本文提供一种pdf文件信息分析装置,包括:34.解析单元,用于解析待处理的pdf文件,获得若干元素以及所述元素的位置信息和特征信息,所述元素包括字符元素和非字符元素;35.插入单元,用于根据所述元素的位置信息,将所述特征信息插入到所述pdf文件的相应元素处。36.采用上述技术方案,本文提供的一种pdf文件信息分析方法和装置,不仅能够识别分析中文件中的每个元素,还能将识别的各元素的位置信息和特征信息插入到其对应的元素旁,使得文件的信息更加全面且不易丢失,有利于提高文件逻辑性和可读性。37.为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。附图说明38.为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。39.图1示出了本文实施例提供的一种pdf文件信息分析方法的流程示意图;40.图2示出了待处理的pdf文件的示意图;41.图3示出了采用本说明书实施例提供的pdf文件信息分析方法对图2中所示的pdf文件进行处理后的示意图;42.图4示出了一种pdf文件信息分析装置的结构示意图;43.图5示出了一种计算机设备的结构图。44.附图符号说明:45.10、解析单元;46.20、插入单元;47.502、计算机设备;48.504、处理器;49.506、存储器;50.508、驱动机构;51.510、输入/输出模块;52.512、输入设备;53.514、输出设备;54.516、呈现设备;55.518、图形用户接口;56.520、网络接口;57.522、通信链路;58.524、通信总线。具体实施方式59.下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。60.需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。61.pdf(portabledocumentformat,可携带文档格式)文件是一种应用广泛的电子文件格式,可以将文字、字型、格式、颜色及图形图像等信息封装,具有存储空间少、便于传输、兼容性高、不易被篡改等优点。pdf文件主要用于在二维平面上表示(查看或打印)文档排版,而不是用来编辑(类似word)或者保存、传输结构化数据,其中的数据较难还原成原始的结构化数据。例如:pdf文件中的文本段落,在读者看来它是由一行一行的文字构成,而实际上这些文字都是独立地以字符结合二维坐标的形式定位在平面上,并没有句子、行、段落之类的概念;pdf中的表格也是由独立的每一个字符,和一些由起点、终点、粗细描述的线段等构成。现有技术中,通常是根据识别出的每个字符的坐标位置聚合形成段落,将pdf文件转为纯文本文件(txt),然后用文本的字符特征进行信息的提取。这种将pdf文件转换成纯文本的方法容易丢失了大量的格式信息(包括布局排版、字体、颜色等),难以制定灵活、通用性强的提取逻辑,丢失布局排版信息更导致格式错乱等问题。62.为了解决上述问题,本文实施例提供了一种pdf文件信息分析方法,能够解决现有技术中对pdf文件信息的解析方法效率低下,且大量格式信息丢失导致信息解读时格式错乱、逻辑性差的问题。图1是本文实施例提供的一种pdf文件信息分析方法的步骤示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。具体的如图1所示,所述方法可以包括:63.s101:解析待处理的pdf文件,获得若干元素以及所述元素的位置信息和特征信息,所述元素包括字符元素和非字符元素;64.本说明书实施例中,对所述pdf文件的解析可采用包括pdfbox、tabula、itext等方法;对于纯图片构成的文件(即每页pdf均显示为一张图片),还可以通过ocr(opticalcharacterrecognition,光学字符识别)等算法来解析识别图像中包含的字符元素和非字符元素,获取元素的坐标、颜色等信息。65.以字符元素为例,在对pdf文件进行解析时,会出现如下几种可能情况:66.字符元素其文字信息(即字符元素指代的文字)和其字体信息(例如:楷体、宋体等)相对应,则由文字信息和字体信息可确定该字符元素的字型信息(即字符元素展示出的文字的外形),此种情况下也可直接进行解析得到字符元素和其特征信息;67.字符元素的字体信息丢失(例如,pdf文件中出现多处文字格式不统一、版本错乱的情况),则时可以通过算法以预设的规则对字体信息进行补充、修复,进而实现解析;68.仅有字型信息(文字信息和字体信息均丢失的情况,字符元素以类似于图片的形式被保存在pdf文件中),此种情况下,则可通过建立字符元素与字型信息的映射关系(cmap)得到文本信息和字体信息或,实现字符元素的解析或采用ocr来识别进而解析得到文件中的各字符元素。69.s102:根据所述元素的位置信息,将所述特征信息插入到所述pdf文件的相应元素处。70.本说明书实施例提供的一种pdf文件信息分析方法,不仅能够识别分析中文件中的每个元素,还能将识别的各元素的位置信息和特征信息插入到其对应的元素旁,文件的信息更加全面且不易丢失,有利于提高文件逻辑性和可读性。71.需要说明的是,本说明书实施例中将元素分为字符元素和非字符元素两类,可以满足对文件中所有非格式信息的解析需求,对于公式、表达式而言,若公式、表达式中的每个符号均以字符进行编辑,则以字符元素对应的方式对其进行解析;若公式、表达式以图像的方式进行编辑,则以非字符元素的方式对其进行解析。72.图2为待处理的pdf文件的示意图,图3为采用本说明书实施例提供的一种pdf文件信息分析方法对图2中所示的pdf文件处理后的示意图。需要说明的是,图2和图3展示的是一份为医学报告pdf文件,但可以理解的是,本说明书实施例提供的pdf文件信息分析方法还可以应用于其他领域或场景,如金融领域报表文件的分析、教学领域教案文件的分析等等。73.综合图2和图3,进一步地,步骤s102:根据所述元素的位置信息,将所述特征信息插入到所述pdf文件的相应元素处,包括:74.s1021:根据所述元素的位置信息,将所述字符元素的所述特征信息以备注的形式插入到所述字符元素处;75.优选地,所述位置信息包括所述元素所在页码和所述元素所在页内的坐标信息;其中,所示坐标信息还可以包括各元素位于页面内的绝对坐标信息和一元素相对于另一元素的相对坐标信息。76.所述特征信息包括所述字符元素的字符特征,所述字符特征包括字符的字体(宋体、楷体等等)、文本内容、字号、字符颜色、字符背景色、是否加粗、是否倾斜等等信息;本说明书实施例中字符元素是否对齐或居中,以字符元素的位置信息进行表征。77.优选地,为了便于开发人员精确地确定字符元素位置,还可以将所述字符元素的所述位置信息和所述特征信息均以备注的形式插入到所述字符元素处。78.如图3所示,处理后的各字符元素的附近均显示有备注信息,点开可见备注的详细内容,例如:字符元素“中间细胞比例(mid%)”旁边的备注信息具体包括:79.x=434.2‑511.9,y=255.9‑260.2//表征该字符元素的在当前页内的横坐标和纵坐标,即所述元素的位置信息;80.bold=false//表征该字符元素未加粗;81.font‑size=8.64//表征该字符元素的字体大小;82.color=0x000000//表征该字符元素的字体颜色,“0x000000”对应为黑色;83.bgcolor=//其值无,表征该字符元素的背景颜色为空,即无背景颜色;84.order=371‑382//表征该字符元素在该页所有元素中的顺序(pdf生成时元素插入的顺序);85.text=中间细胞比例(mid%)//表征该字符元素具体的文本内容;86.font=simsun//表征该字符元素的字体信息,“simsun”为“宋体”。87.以上仅是字符元素备注信息的部分内容,本领域技术人员可以对需要备注的信息进行筛选,例如码信息、是否倾斜等未进行显示。88.s1022:根据所述元素的位置信息,将所述非字符元素的所述特征信息以划分区域的形式插入到所述非字符元素处。89.本说明书实施例中,所述非字符元素的特征信息包括所述非字符元素的边界信息。具有规则形状的非字符元素的边界信息可以采用top、bottom、left和right四个坐标来表征;除此之外,还可以有其他表征方式,例如:圆形和椭圆的色块元素可以通过其圆心坐标和长短轴大小来表征其边界信息。90.则步骤s1022:根据所述元素的位置信息,将所述非字符元素的所述特征信息以划分区域的形式插入到所述非字符元素处,可具体包括:91.对所述非字符元素的边界进行高亮处理、和/或着色处理、和/或缩放处理得到划分区域信息;92.根据所述元素的位置信息,将所述划分区域信息插入到所述pdf文件中相应的非字符元素处。93.除此之外,还可以通过不同形式的线条对边界进行勾勒的方式,例如,以直线对非字符元素的边界进行勾勒,或以点划线对边界进行勾勒,或以波浪线对边界进行勾勒等等。94.即本说明书实施例中,将字符元素的字符特征和位置信息通过备注的形式显示在对应的字符元素旁;通过高亮处理、着色处理、缩放处理中的一种或几种的组合对非字符元素的边界信息进行处理并显示,从而开发人员能够获知pdf文件中字符元素的备注和非字符元素的划分区域信息,进而获知pdf文件的排版布局等格式信息,避免信息分析处理时发生错漏,也便于后续对分析得到的内容加以运用。95.如图2和图3所示,所述非字符元素包括线条元素、色块元素和图像元素;96.则对所述非字符元素的边界进行高亮处理、和/或着色处理、和/或缩放处理,进一步为:97.对所述线条元素的边界、所述色块元素的边界和所述图像元素的边界分别以不同的亮度进行高亮处理、和/或以不同的颜色进行着色处理、和/或以不同的比例进行放缩处理。98.本说明书实施例中,对于由起点、终点、粗细进行描述的线条元素可直接获取其特征信息;对于纯图片构成的文件,则可使用hough检测算法获取线条元素;还可以使用ocr算法识别字符元素、cv(computervision,计算机视觉)算法来识别色块元素和图像元素。如图2所示,表格为线条元素,“甘油三酯”所在行的填充为色块元素,检查医生的签名和审核人的数字签名为图像元素。本说明书实施例优选地,以不同的方式对所述线条元素的边界、所述色块元素的边界和所述图像元素的边界进行处理,从而开发人员能够更加直观地从元素的显示方式对元素的类型进行区分,有利于提高pdf文件的处理效率。99.需要说明的是,所述线条元素可以为直线线段也可以为曲线线段,直线线段可以呈现横向、纵向或倾斜,两条线条元素之间可以平行、可交叉等多种排布方式;所述色块元素上可注有字符元素,则所述色块元素的填充色也即是所述字符元素的字符背景色。100.两个非字符元素之间或非字符元素与字符元素之间设置有一定布局,例如,多个线条元素字符构成表格,字符元素位于由线条元素构成的表格中;线条元素可衔接有色块元素,字符元素还可以标注于色块元素之上,共同构成逻辑流程图等等。101.在一些可行的实施例中,所述特征信息还包括所述非字符元素的填充信息,具体为所述色块元素的填充信息;102.则步骤s1022:根据所述元素的位置信息,将所述非字符元素的所述特征信息以划分区域的形式插入到所述非字符元素处,还包括:103.对所述色块元素的边界进行放缩处理,根据所述填充信息对所述色块元素的边界进行着色处理,得到所述色块元素的划分区域信息;104.将所述色块元素的划分区域信息插入到所述pdf文件中。105.上述对色块元素的处理中,缩放处理和着色处理的先后顺序可以互换,也可以同时进行。106.在一具体实施例中,对非字符元素的处理如下:107.对所述线条元素的边界进行高亮处理;108.对所述色块元素的边界进行缩小处理,根据所述色块元素的填充信息获取填充色,将该填充色加深一个色阶后对所述色块元素的边界进行着色处理;109.对所述图像元素的边界进行着色处理;110.进而得到各非字符元素的划分区域信息,将各元素的划分区域信息插入到各非字符元素处。111.如图3所示,字符元素“一般情况”的外围呈现有两个边框,两个边框中较大的一个表征的是经高亮处理后的线条元素,线条元素构成位于“一般情况”周围的表格;两个边框中较小的一个表征的是经缩小处理和着色处理后的色块元素,表征的是填充在该表格中的色块,也可以表征“一般情况”的字符背景色。112.由于该色块元素是填充于表格内的,即色块元素的边界与此处线条元素的边界相重叠,因此,本说明书实施例中,对色块元素的边界进行了缩小处理,以使得色块元素的划分区域信息与所述线条元素的划分区域信息得以区分。需要说明的是,对色块元素其边界的缩放比例可以是预先设置好的,对于各色块元素的边界,其缩放比例可以相同也可以不同。113.需要说明的是,本说明书实施例中,对色块元素的边界进行缩放处理是为了将其边界信息与线条元素的边界信息进行区分,便于展示给开发人员;在能够明晰各元素的边界信息时也可不对色块元素的边界信息进行缩放处理。并且,后续对元素进行提取的过程中,直接利用色块元素的边界信息进行提取规则的编写,还不是对其进行缩放处理、还原后,再进行提取规则编写和元素提取。114.本说明书实施例中,在对色块元素的边界进行缩放后,将色块元素的填充色加深一个色阶后得到的颜色对其边界信息进行着色,使得原本为透明色的色块元素的边界信息得以显示出来;结合边界信息和填充信息得到的色块元素的划分区域信息,开发人员在获知边界信息时通过对其颜色的还原还可获知元素色块的填充信息。115.需要说明的是,在一些可行的实施例中,也可以对非字符元素的位置信息和特征信息(包括边界信息和填充信息等)以备注的形式插入到pdf文件中,例如,线条元素的起点和终点坐标、具有规则形状的色块元素或图像元素的top、bottom、left和right坐标、线条元素的粗细、颜色、色块元素的填充色等。116.除了上述对色块元素边界的处理方式外,在一些可选的实施例中,还可以通过预设的颜色对色块元素的边界信息进行着色(不同各色块元素边界的着色颜色可以相同也可以不同);除透明色的色块元素外,还可以根据该色块元素本身的填充信息作为其边界的着色颜色,即以色块元素的填充色对其边界进行着色。117.在图2未经分析处理的pdf文件中,“一般情况”外是无法看出有线条元素和色块元素,这是因为此处的线条元素的颜色为透明色且表格内的填充色也为透明色;因此本说明书实施例提供的pdf文件信息的分析方法,能够将读者肉眼无法辨认的文件格式信息进行识别和解析,作为文件的格式信息进行处理,与现有的人工对pdf文件的格式信息进行识别的方式相比,更加准确、不易遗漏。118.需要说明的是,本说明书实施例提供的pdf文件信息分析方法还包括:119.s103:根据预设提取规则,对所述元素进行提取;所述预设提取规则包括:120.根据所述位置信息、和/或根据预设的关键字匹配算法、和/或根据所述特征信息提取元素。121.除此之外,还可以根据所述字体信息和/或所述边界信息和/或所述填充信息来提取元素。122.本说明书实施例中,由于所述预设提取规则可以是上述的一种或多种的组合,能够实现对元素的灵活提取。123.预设提取规则的编写可采用一定的语法格式,如下所示,示出了一些对元素进行提取的具体提取规则:124.text[font‑size=12]//可用于提取所有字体大小为12的字符元素;[0125]text[font‑size=12][bold=true]//用于提取字体为12且加粗的字符元素;[0126]text[text=abc][page=1]//用于提取位于第一页中且文本内容为“abc”的字符元素,此条提取规则采用完全匹配方法,是关键字匹配的一种方式;[0127]text:contains(xyz)[page=1][top>50]//用于提取位于第一页、top坐标>50的且包含“xyz”的字符元素,top坐标是字符元素纵坐标范围区间的最小值;[0128]text:contains(abc):top‑first//用于提取整个文件从上往下,第1个包含“abc”的字符元素;[0129]text:contains(abc):top‑nth(3)//用于提取整个文件从上往下,第3个包含“abc”的字符元素,此条提取规则采用部分匹配方法,是关键字匹配的另一种方式;[0130]line:horizontal[width>500][top>50][top<100]//用于提取呈水平方向、纵坐标在50~10之间且宽度(长度)>500的线条元素;[0131]block[color=0xffaabb]//用于提取填充信息为0xffaabb的色块元素;[0132]提取规则还可以对多个元素的位置信息和/或特征信息进行组合,利用元素间的相对关系来定位元素,如:[0133]text[font‑size=11]:same‑row(text[font‑size=12]:contains(xyz):top‑first)//查找字体大小为12并包含“xyz”的字符元素,提取与该字符元素位于同一行且字体大小为11的字符元素;[0134]text:bottom‑of(img[height>500]:top‑first[page=1]):top‑first//查找位于第一页的、高度>500的图像元素,提取该图像元素下方坐标位置最高的字符元素;[0135]text:bottom‑of(text:contains(开始)):top‑of(text:contains(结束))//提取位于文本信息为“开始”的字符元素和文本信息为“结束”的字符元素之间的所有字符元素;[0136]以上仅是对元素提取的一些示例,通过上面示例可以看出,通过本说明书提出的pdf文件信息分析方法对文件中的各个元素进行处理后,有利于提高提取规则编写的灵活性,起到提高提取效率和降低提取规则编辑成本的作用,满足用户根据需求对所需元素进行提取的要求。[0137]上述示例中,根据预设的关键字匹配算法对字符元素的提取中,预设的关键字若为“abc”,则采用完全匹配方法时仅能够匹配到“abc”,若采用部分匹配方法,则除了匹配到“abc”之外,还能够匹配到“abcde”等字符元素。除此之外,关键字匹配算法还可以包括模糊匹配,模糊匹配通常用正则表达式(regularexpression)来表示,可用于表示更复杂的提取规则,例如:[0138]\d{3}abc[0139]可用于提取文本内容为任意三位数字+abc的字符元素,比如元素“111abc”、元素“235abc”等等。[0140]综上,由于本说明书实施例中以不同的方式对字符元素以及所述线条元素、所述色块元素和所述图像元素非字符元素进行处理,因此,可单独采用或综合字符元素的字符特征(包括字体、文本内容、字号等)、非字符元素的边界信息填充信息,以及元素的位置信息进行提取规则的编辑,能够便于开发人员对提取规则进行灵活扩展,提高信息提取效率,降低时间物力人力成本。[0141]如图4所示,本说明书实施例还提供一种pdf文件信息分析装置,包括:[0142]解析单元10,用于解析待处理的pdf文件,获得若干元素以及所述元素的位置信息和特征信息,所述元素包括字符元素和非字符元素;[0143]插入单元20,用于将所述元素的位置信息和所述特征信息插入到所述pdf文件的相应元素处。[0144]所述文件信息分析装置还可以包括提取单元,用于根据预设提取规则,对所述元素进行提取。[0145]综上,本说明书实施例提供的pdf文件信息分析方法和装置,不仅能够识别分析中文件中的每个元素,还能将识别的各元素的位置信息和特征信息插入到其对应的元素旁,文件的信息更加全面且不易丢失,有利于提高文件逻辑性和可读性,有利于对信息的提取和应用。[0146]本说明书实施例还提供的一种pdf文件信息分析方法,包括:[0147]s401:解析待处理的pdf文件,获得若干元素以及所述元素的位置信息和特征信息,所述元素包括字符元素和非字符元素;[0148]s402:基于所述位置信息和所述特征信息,对所述元素进行聚合处理;[0149]在pdf文件中,文字都是独立地以字符加二维坐标的形式定位在平面上,并没有词、句子、行、段落之类的概念,因此若对每个字符元素均以备注的形式将其位置信息和特征信息插入到pdf文件中时,会导致备注信息过于密集,也不利于以关键词的方式对字符元素的提取。因此,本说明书实施例提供的pdf文件信息分析方法中,还包括对元素进行聚合处理,具体如下:[0150]根据所述元素的位置信息和特征信息,判断两个元素类型是否相同且两个所述元素之间的距离是否小于或等于第一距离阈值,若是,则将两个元素聚合为一个元素。[0151]例如,若两个元素均为字符元素,则判断得到这两个元素的类型相同;再根据两个字符元素的位置信息,判断两个字符之间的距离是否小于第一距离阈值;若距离小于一个字符,则将两个字符元素聚合为一个整体,即得到一个“词”,进而得到一个“句子”。如图3所示,即是将“中间细胞比例(mid%)”作为一个整体的字符元素进行批注显示。[0152]判断两个字符之间的距离是否小于第一距离阈值时,可通过如下方法进行:[0153]根据两个字符元素各自的位置信息,判断两个字符元素的纵坐标是否相等,若相等则说明两个字符元素位于同一行;则进一步判断两个字符元素的横坐标之间的差距是否小于一个字符,若是,则说明两个字符元素相邻,则可以将这两个字符元素进行聚合。需要说明的是,以上是针对位于同一页面上且以行排布的字符元素是否满足聚合条件的判断。对于按列排布的字符元素聚合方法与之相似,此处不再赘述。[0154]优选地,在将两个字符元素进行聚合时,还包括判断两个字符元素的字体大小是否相同,若相同,则将两个字符元素进行聚合。[0155]再例如,对于两个线条元素,判断到这两个元素的类型相同;再根据两个线条元素的边界信息判断两个线条元素是否有小于第一距离阈值,若小于则将两个线条元素聚合为一个整体:在生成pdf文件时,较粗的线条元素可能是通过两条或两条以上数量个较细的线条元素并排拼接得到的,则若根据两个线条元素的边界信息判断得到两个线条元素的有重合的边界,则将这两个线条元素聚合成一个整体,从两条较细的线条元素得到一个较粗的线条元素。能够去除冗余的线条元素,简化元素,便于后续对提取规则的编辑。[0156]需要说明的是,对于字符元素和线条元素,第一距离阈值的具体含义有所不同。[0157]除此之外,对于线条元素的聚合,还可以通过判断两个线条元素是否有交叉的方式:若根据两个线条元素的边界信息判断得到两个线条元素之间存在交叉,则将两个线条元素进行聚合,例如,将多条水平方向的线条元素和多条竖直方向的线条元素聚合成表格;将首尾相连、斜率不同的多个线条元素聚合成一条折线线条等等。[0158]对于色块元素和图像元素的聚合处理也可以根据相同或相似的方式进行聚合,此处不再赘述。[0159]s403:基于所述位置信息和所述特征信息,对所述元素进行去重处理;[0160]以字符元素为例,在生成pdf文件时,有时会采取将3个字符以错位较小的距离进行叠加的方式得到加粗的字符,例如,如图2所示,字符特征为加粗的字符元素“一般情况”,若其是以三个或三个以上的字符叠加得到,则分析识别时将识别到三个或三个以上数量个“一般情况”,因此,此时需对其进行去重处理。使得最终仅保留一个“一般情况”,并将加粗这一字符特征以备注的形式插入到pdf文件中。[0161]对元素进行去重处理,可通过如下方法进行:[0162]根据所述特征信息判断两个元素是否存相同;需要说明的是,此处两个元素相同不仅仅指这两个元素的类型相同,还包括这两个字符元素的文本信息是否相同。还可以包括这两个字符元素的字体、字号、字符颜色是否相同,本领域技术人员可以理解的是,即便两个字符元素仅错位一个极小的距离,其位置坐标必然不会相同。[0163]若相同,则根据所述位置信息判断所述元素之间的距离是否大于预设的第二距离阈值;若两个元素相同,则根据两个元素各自的位置信息判断两个元素之间距离与预设的第二距离阈值之间的大小关系,第二距离阈值可以是一个字符的百分之一或其他数值等。[0164]若所述元素之间的距离大于所述第二距离阈值,则分别保留两个所述元素;[0165]若所述元素之间的距离小于或等于所述第二距离阈值,则删除两个所述元素中的一个;即对字符元素进行去重。[0166]s404:根据所述元素的位置信息,将所述特征信息插入到所述pdf文件的相应元素处;[0167]s405:所述根据预设提取规则,对所述元素进行提取。[0168]本说明书实施例提供的pdf文件信息分析方法,重点说明的是其中的区别之处,其他相同相似之处相互参照即可。[0169]本说明书实施例还提供一种pdf文件信息分析装置,包括:[0170]解析单元10,用于解析待处理的pdf文件,获得若干元素以及所述元素的位置信息和特征信息,所述元素包括字符元素和非字符元素;[0171]聚合单元,用于根据所述位置信息和所述特征信息,对所述元素进行聚合处理;[0172]去重单元,用于根据所述位置信息和所述特征信息,对所述元素进行去重处理;[0173]插入单元20,用于将所述元素的位置信息和所述特征信息插入到所述pdf文件的相应元素处。[0174]以及提取单元,用于根据预设提取规则,对所述元素进行提取。[0175]如图5所示,为本文实施例提供的一种计算机设备的结构图,所述计算机设备502可以包括一个或多个处理器504,诸如一个或多个中央处理单元(cpu),每个处理单元可以实现一个或多个硬件线程。计算机设备502还可以包括任何存储器506,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器506可以包括以下任一项或多种组合:任何类型的ram,任何类型的rom,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备502的固定或可移除部件。在一种情况下,当处理器504执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备502可以执行相关联指令的任一操作。计算机设备502还包括用于与任何存储器交互的一个或多个驱动机构508,诸如硬盘驱动机构、光盘驱动机构等。[0176]计算机设备502还可以包括输入/输出模块510(i/o),其用于接收各种输入(经由输入设备512)和用于提供各种输出(经由输出设备514))。一个具体输出机构可以包括呈现设备516和相关联的图形用户接口518(gui)。在其他实施例中,还可以不包括输入/输出模块510(i/o)、输入设备512以及输出设备514,仅作为网络中的一台计算机设备。计算机设备502还可以包括一个或多个网络接口520,其用于经由一个或多个通信链路522与其他设备交换数据。一个或多个通信总线524将上文所描述的部件耦合在一起。[0177]通信链路522可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路522可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。[0178]对应于图1中的方法,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。[0179]本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图1所示的方法。[0180]应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。[0181]还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。[0182]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。[0183]所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。[0184]在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。[0185]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。[0186]另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。[0187]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read‑onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。[0188]本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1