CN116402028A - Pdf文件的精简方法 - Google Patents
Pdf文件的精简方法 Download PDFInfo
- Publication number
- CN116402028A CN116402028A CN202310105813.6A CN202310105813A CN116402028A CN 116402028 A CN116402028 A CN 116402028A CN 202310105813 A CN202310105813 A CN 202310105813A CN 116402028 A CN116402028 A CN 116402028A
- Authority
- CN
- China
- Prior art keywords
- page
- pdf file
- excel
- text
- picture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000012216 screening Methods 0.000 claims abstract description 7
- 238000010586 diagram Methods 0.000 claims description 27
- 238000000605 extraction Methods 0.000 claims description 25
- 238000012549 training Methods 0.000 claims description 16
- 238000005056 compaction Methods 0.000 claims description 11
- 238000002372 labelling Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 230000000877 morphologic effect Effects 0.000 claims description 3
- 238000011176 pooling Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 2
- 238000004321 preservation Methods 0.000 claims 1
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/258—Heading extraction; Automatic titling; Numbering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/147—Determination of region of interest
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/18—Extraction of features or characteristics of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/413—Classification of content, e.g. text, photographs or tables
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明涉及PDF文档处理技术领域,公开了一种PDF文件的精简方法,包括如下步骤:选择PDF文件,设定精简参数、目录关键字和文本关键字,筛选关键页码和关键段落,从第一个关键页码开始,取得图片并保存,取得表格,并判断续表,插入EXCEL,取得段落,并进行文本关键字判断,判断成功的保存为关键段落,遍历本页所有段落,遍历完成后将关键段落插入EXCEL,在EXCEL中插入新页码,遍历图片列表中保存的图片,进行文本关键字判断,判断成功的将其插入EXCEL,重复直至遍历完所有关键页码,输出精简后的PDF文件。本发明PDF文件的精简方法,根据输入的关键词来生成精简版的PDF,获取与关键字有高度关联性的表格、图片、文本信息,准确度高,且效率高。
Description
技术领域
本发明涉及PDF文档处理技术领域,具体涉及一种PDF文件的精简方法。
背景技术
主板产品研发设计之中,电路设计PCB板设计是重中之重,而在传统的电子产品设计中,需要依赖有经验的电子工程师或布局工程师把Data sheet/Design Guide/PCBLayout Guide相关的重要信息整理出来,为电路设计、验证的重要参考及设计指导,但上述信息多为PDF文件,整理的时间往往需要浪费较长的时间。
整理时,表格作为文档中较为直观,信息密度最大的文本形式,提取其结构和文本内容的还原度是至关重要的,提取出的表格数据可作为重要信息由所输入的关键字进行匹配,进而输出精简文档摘要。
对于PDF中的表格,传统识别方法有通过图像处理的方法提取表格、根据读取PDF的xml信息来提取表格、使用卷积神经网络来提取表格,这三种方法存在以下问题:
第一种方法主要依赖于图像识别算法,现有的算法对复杂表格的识别效果并不好;第二种方法在转换文件格式时会有信息的丢失;第三种方法会根据训练数据的不同而得到提取结果差异很大,且所提取的表格以图片形式出现,并不能导入到excel表中。
另外,传统的神经网络文本生成方法可概括为:基于预训练的CNN提取词向量的局部特征,然后基于局部特征向量,使用带Attention机制的RNN网络对局部特征向量进行特征抽取得到全局的语义特征向量,然后基于Softmax网络层对全局语义进行分类。这种方法的缺点:(1)神经网络的可解释性不够友好,对于电子手册数据具有显著的特征效应的文本,神经网络在可解释性的特征及拓展性方面显得不足,会导致分类不准确,从而使后续容易出现错误匹配;(2)文本样本量规模需要达到量级,且小概率主题关键词的样本量也要达到一定数量,否则会导致分类的不准确,进而出现主题与关键词匹配错误的情况;由于这种方式需要大规模量样本,因此,对于小概率主题的处置效率比较低。
发明内容
本发明的目的就是针对上述技术的不足,提供一种PDF文件的精简方法,根据输入的关键词来生成精简版的PDF,获取与关键字有高度关联性的表格、图片、文本信息,准确度高,且效率高。
为实现上述目的,本发明所涉及的PDF文件的精简方法,包括如下步骤:
A)选择需要精简的PDF文件,PDF文件包括页码、图片、表格、注释和段落;
B)设定精简参数;
C)设定目录关键字和文本关键字,通过目录关键字筛选需要提取信息的关键页码,通过文本关键字筛选关键页码里的关键段落;
D)从第一个关键页码开始,取得关键页码中的图片,按照页码_图片的编号方式保存图片列表,并返回每页图片的范围信息;
E)取得关键页码中的表格,并判断续表,将识别到的表格插入EXCEL;
F)取得关键页码中的段落,并进行文本关键字判断,判断成功的保存为关键段落,遍历本页所有段落,遍历完成后将关键段落插入EXCEL;
G)在EXCEL中插入新页码;
H)遍历图片列表中保存的图片,进行文本关键字判断,判断成功的将其插入EXCEL;
I)重复步骤D)~H)直至遍历完所有关键页码;
J)输出精简后的PDF文件。
优选地,所述步骤B)中,精简参数包括图片保存时采用的宽,图片名字的位置,PDF每页的读取高度,注释读取的间距。
优选地,所述步骤E)中,若有表格外的注释或跨页的注释,将其插入表格的最后一行。
优选地,在步骤D)之前,对需要精简的PDF文件进行表格提取,包括如下步骤:输入PDF文件,对其进行表格检测,然后对表格进行结构还原,再获取表格中的文本信息进行文本还原,输出可编辑的表格。
优选地,进行表格检测时,采用Faster R-CNN算法对PDF文件中的表格和图片进行分类和预测,如果预测概率超过设定的第一阈值,则被判定为表格或者图片,具体包括如下步骤:
1)将PDF文件转化为处理图,经过卷积操作后得到特征图;
2)将所得的特征图经RPN(Region Proposals Networks)处理后得到候选框,将候选框投影到特征图上获得相应的特征矩阵;
3)将每个特征矩阵通过ROI池化缩放到7*7大小的特征图,接着将特征图展平通过全连接层得到预测结果。
优选地,Faster R-CNN算法的工作过程包括如下步骤:
4)制作数据集:将PDF文件转化的处理图利用标注软件labelimg进行标注,在每张处理图上给表格和图片打上不一样的标签,标注完成后,将对应的处理图和生成的xml文件放入代码指定的导入路径,制成数据集,为训练做准备;
5)训练:在已经训练好的model的基础上继续进行训练,代码使用Resnet50网络的权重初始化网络结构,进而采用步骤4)制作的数据集进一步训练,得到符合要求的权重,将效果相对最好的epoch的权重保存下来,用来预测;
6)预测:使用训练过程中得到的权重对需要处理的处理图进行预测,预测出处理图中的图片和表格,以及返回图片和表格四个点的坐标,在精简版PDF文件制作中用以提供图片以及需要的坐标来提取标题和注释。
优选地,对表格进行结构还原时,通过FasterR-CNN检测出表格位置,然后对表格的边框做调整,扩大边框,通过掩膜mask取出处理图中的表格,并将图像进行灰度化、二值化处理,再利用OpenCV里面的形态学操作:膨胀和腐蚀,设置腐蚀和膨胀的操作区域为一个横纵和纵向的直条,获取横向和纵向的表格线,将横向和纵向的表格线叠加形成表格图,并通过OpenCV的bitwise_and函数获得横向表格线和纵向的交叉点,最后写入合并单元格,并进行跨页表格连接。
优选地,写入合并单元格时,过滤重复交叉点,并按坐标对交叉点进行排序,根据交叉点坐标计算表格行列数,先依次遍历表格列,对excel进行合并列操作,在一列单元格中,每两个横向交叉点组成一行,从第二行开始,通过检测每一行的两个交叉点之间的像素值判断每一行是否存在直线:
若有直线,则该行上下两个单元格没有合并,提取直线上面单元格坐标,对该单元格进行文字识别,并将文字写入excel中;
若没有直线,则记录该行位置,继续向下检测直线,得到需要合并的单元格总数量,对该合并单元格进行文字识别,并合并excel的对应单元格,将文字写入excel中;
再依次遍历表格行,对excel进行合并行操作,并判断是否存在合并多行多列的情况,在一行单元格中,从第二列开始,检测每一列是否存在直线:
若有直线,则不进行操作;若没有直线,继续向右检测直线,计算该行需要合并的单元格总数量,然后向下检测直线,判断是否需要合并多行多列:若不需要,则合并excel中的对应横向单元格,并写入文字;若需要,则计算该多行多列单元格的行列数,合并excel的对应单元格,并写入文字。
优选地,进行跨页表格连接时:根据标题位置通过PDFplumber获取表格名称,对表格名称进行拆分,获取表格名称的序号,统计一表多页表格所占的页数,获取下一页表格名称序号,若两页表格序号相同,继续获取下一页表格名称序号,直至表格序号不同;通过opencv获取每页表格的交叉点,将第一页表格写入excel后返回行数,去掉第二页表格的属性行,根据返回的行数,将第二页表格的第一行写入excel的最后一行;当两页表格的列数不同时,判断跨页表格的两个部分的最大列数是否相等:若相等直接连接,若不相等,则以列数大的那部分表格的交点坐标为基准,对其他部分表格交点坐标进行偏移;以最大列数为基准作为其他表格进行合并单元格时的列数判定。
优选地,进行文本还原时,对PDFPlumber进行改写,通过PDF底层的打印指令,获取表格内包含上下标信息的文本及表格上的标题、注释,然后进行文本还原:
包含上下标信息的文本提取:为通过结构还原步骤中得到的单元格坐标作为输入,使用PDFPlumber提取范围中的字符信息,并重新排列成字符串,每个单元格中的字符串分为数段,每段存为字典,包含文本与上下标信息,字典以列表的形式存储;
表格标题提取:以表格左上角坐标为基准点向上迭代扫描数次,如果遇到表格关键字,则以关键字是否为所在行开头以及关键字后面是否跟随数字为条件,判断是否为标题,是则返回标题信息,否则返回空值,判断过程中要去除空格和换行符的影响;
以文本提取为导向的章节标题提取:以表格左上角坐标为基准点向上迭代扫描数次,如果遇到表格关键字,则以关键字是否为数字.数字模型为条件,判断是则返回标题信息,否则返回空值,判断过程中要去除空格和换行符的影响;
以读取大纲为导向的章节标题提取:对于PDF文件,其章节信息以大纲的方式存储在PDF的底层数据中,并包含页码信息,该部分可直接读取,章节标题与表格在同一页时,取该页第一个章节标题;
注释提取:以表格底部坐标为基准点向下迭代扫描数次,提取注释关键字的坐标,进一步提取其内容。
本发明与现有技术相比,具有以下优点:根据输入的关键词来生成精简版的PDF,获取与关键字有高度关联性的表格、图片、文本信息,准确度高,且效率高。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的详细说明。
一种PDF文件的精简方法,包括如下步骤:
A)选择需要精简的PDF文件,PDF文件包括页码、图片、表格、注释和段落;
B)设定精简参数,本实施例中,精简参数包括选择识别出的图片保存时采用的宽,图片名字对应的位置,1为位于图片上部,其他位于下部,pdf文件每页的读取高度,主要是去除页眉,页尾的影响,因为pdf文件格式不同,默认大于40,注释的默认间距,默认为5,写入关键段落的页数,与pdf文件里表格的最大列数有关,为20;
C)设定目录关键字和文本关键字,通过目录关键字筛选需要提取信息的关键页码,通过文本关键字筛选关键页码里的关键段落;
D)从第一个关键页码开始,取得关键页码中的图片,按照页码_图片的编号方式保存图片列表,并返回每页图片的范围信息;
E)取得关键页码中的表格,并判断续表,将识别到的表格插入EXCEL;
F)取得关键页码中的段落,并进行文本关键字判断,判断成功的保存为关键段落,遍历本页所有段落,遍历完成后将关键段落插入EXCEL;
G)在EXCEL中插入新页码;
H)遍历图片列表中保存的图片,进行文本关键字判断,判断成功的将其插入EXCEL;
I)重复步骤D)~H)直至遍历完所有关键页码;
J)输出精简后的PDF文件。
其中,步骤B)中,精简参数包括图片保存时采用的宽,图片名字的位置,PDF每页的读取高度,注释读取的间距。
另外,所述步骤E)中,若有表格外的注释或跨页的注释,将其插入表格的最后一行。
本实施例中,在步骤D)之前,对需要精简的PDF文件进行表格提取,包括如下步骤:输入PDF文件,对其进行表格检测,然后对表格进行结构还原,再获取表格中的文本信息进行文本还原,输出可编辑的表格。
进行表格检测时,采用Faster R-CNN算法对PDF文件中的表格和图片进行分类和预测,如果预测概率超过设定的第一阈值,则被判定为表格或者图片,具体包括如下步骤:
1)将PDF文件转化为处理图,经过卷积操作后得到特征图;
2)将所得的特征图经RPN(Region Proposals Networks)处理后得到候选框,将候选框投影到特征图上获得相应的特征矩阵;
3)将每个特征矩阵通过ROI池化缩放到7*7大小的特征图,接着将特征图展平通过全连接层得到预测结果。
其中,Faster R-CNN算法的工作过程包括如下步骤:
4)制作数据集:将PDF文件转化的处理图利用标注软件labelimg进行标注,在每张处理图上给表格和图片打上不一样的标签,标注完成后,将对应的处理图和生成的xml文件放入代码指定的导入路径,制成数据集,为训练做准备;
5)训练:在已经训练好的model的基础上继续进行训练,代码使用Resnet50网络的权重初始化网络结构,进而采用步骤4)制作的数据集进一步训练,得到符合要求的权重,将效果相对最好的epoch的权重保存下来,用来预测;
6)预测:使用训练过程中得到的权重对需要处理的处理图进行预测,预测出处理图中的图片和表格,以及返回图片和表格四个点的坐标,在精简版PDF文件制作中用以提供图片以及需要的坐标来提取标题和注释。
同时,对表格进行结构还原时,通过FasterR-CNN检测出表格位置,然后对表格的边框做调整,扩大边框,通过掩膜mask取出处理图中的表格,并将图像进行灰度化、二值化处理,再利用OpenCV里面的形态学操作:膨胀和腐蚀,设置腐蚀和膨胀的操作区域为一个横纵和纵向的直条,获取横向和纵向的表格线,将横向和纵向的表格线叠加形成表格图,并通过OpenCV的bitwise_and函数获得横向表格线和纵向的交叉点,最后写入合并单元格,并进行跨页表格连接。
写入合并单元格时,过滤重复交叉点,并按坐标对交叉点进行排序,根据交叉点坐标计算表格行列数,先依次遍历表格列,对excel进行合并列操作,在一列单元格中,每两个横向交叉点组成一行,从第二行开始,通过检测每一行的两个交叉点之间的像素值判断每一行是否存在直线:
若有直线,则该行上下两个单元格没有合并,提取直线上面单元格坐标,对该单元格进行文字识别,并将文字写入excel中;
若没有直线,则记录该行位置,继续向下检测直线,得到需要合并的单元格总数量,对该合并单元格进行文字识别,并合并excel的对应单元格,将文字写入excel中;
再依次遍历表格行,对excel进行合并行操作,并判断是否存在合并多行多列的情况,在一行单元格中,从第二列开始,检测每一列是否存在直线:
若有直线,则不进行操作;若没有直线,继续向右检测直线,计算该行需要合并的单元格总数量,然后向下检测直线,判断是否需要合并多行多列:若不需要,则合并excel中的对应横向单元格,并写入文字;若需要,则计算该多行多列单元格的行列数,合并excel的对应单元格,并写入文字。
进行跨页表格连接时:根据标题位置通过PDFplumber获取表格名称,对表格名称进行拆分,获取表格名称的序号,统计一表多页表格所占的页数,获取下一页表格名称序号,若两页表格序号相同,继续获取下一页表格名称序号,直至表格序号不同;通过opencv获取每页表格的交叉点,将第一页表格写入excel后返回行数,去掉第二页表格的属性行,根据返回的行数,将第二页表格的第一行写入excel的最后一行;当两页表格的列数不同时,判断跨页表格的两个部分的最大列数是否相等:若相等直接连接,若不相等,则以列数大的那部分表格的交点坐标为基准,对其他部分表格交点坐标进行偏移;以最大列数为基准作为其他表格进行合并单元格时的列数判定。
进行文本还原时,对PDFPlumber进行改写,通过PDF底层的打印指令,获取表格内包含上下标信息的文本及表格上的标题、注释,然后进行文本还原:
包含上下标信息的文本提取:为通过结构还原步骤中得到的单元格坐标作为输入,使用PDFPlumber提取范围中的字符信息,并重新排列成字符串,每个单元格中的字符串分为数段,每段存为字典,包含文本与上下标信息,字典以列表的形式存储;
表格标题提取:以表格左上角坐标为基准点向上迭代扫描数次,如果遇到表格关键字,则以关键字是否为所在行开头以及关键字后面是否跟随数字为条件,判断是否为标题,是则返回标题信息,否则返回空值,判断过程中要去除空格和换行符的影响;
以文本提取为导向的章节标题提取:以表格左上角坐标为基准点向上迭代扫描数次,如果遇到表格关键字,则以关键字是否为数字.数字模型为条件,判断是则返回标题信息,否则返回空值,判断过程中要去除空格和换行符的影响;
以读取大纲为导向的章节标题提取:对于PDF文件,其章节信息以大纲的方式存储在PDF的底层数据中,并包含页码信息,该部分可直接读取,章节标题与表格在同一页时,取该页第一个章节标题;
注释提取:以表格底部坐标为基准点向下迭代扫描数次,提取注释关键字的坐标,进一步提取其内容。
本发明PDF文件的精简方法,根据输入的关键词来生成精简版的PDF,获取与关键字有高度关联性的表格、图片、文本信息,准确度高,且效率高。
Claims (10)
1.一种PDF文件的精简方法,其特征在于:包括如下步骤:
A)选择需要精简的PDF文件,PDF文件包括页码、图片、表格、注释和段落;
B)设定精简参数;
C)设定目录关键字和文本关键字,通过目录关键字筛选需要提取信息的关键页码,通过文本关键字筛选关键页码里的关键段落;
D)从第一个关键页码开始,取得关键页码中的图片,按照页码_图片的编号方式保存图片列表,并返回每页图片的范围信息;
E)取得关键页码中的表格,并判断续表,将识别到的表格插入EXCEL;
F)取得关键页码中的段落,并进行文本关键字判断,判断成功的保存为关键段落,遍历本页所有段落,遍历完成后将关键段落插入EXCEL;
G)在EXCEL中插入新页码;
H)遍历图片列表中保存的图片,进行文本关键字判断,判断成功的将其插入EXCEL;
I)重复步骤D)~H)直至遍历完所有关键页码;
J)输出精简后的PDF文件。
2.如权利要求1所述PDF文件的精简方法,其特征在于:所述步骤B)中,精简参数包括图片保存时采用的宽,图片名字的位置,PDF每页的读取高度,注释读取的间距。
3.如权利要求1所述PDF文件的精简方法,其特征在于:所述步骤E)中,若有表格外的注释或跨页的注释,将其插入表格的最后一行。
4.如权利要求1所述PDF文件的精简方法,其特征在于:在步骤D)之前,对需要精简的PDF文件进行表格提取,包括如下步骤:输入PDF文件,对其进行表格检测,然后对表格进行结构还原,再获取表格中的文本信息进行文本还原,输出可编辑的表格。
5.如权利要求4所述PDF文件的精简方法,其特征在于:进行表格检测时,采用FasterR-CNN算法对PDF文件中的表格和图片进行分类和预测,如果预测概率超过设定的第一阈值,则被判定为表格或者图片,具体包括如下步骤:
1)将PDF文件转化为处理图,经过卷积操作后得到特征图;
2)将所得的特征图经RPN(Region Proposals Networks)处理后得到候选框,将候选框投影到特征图上获得相应的特征矩阵;
3)将每个特征矩阵通过ROI池化缩放到7*7大小的特征图,接着将特征图展平通过全连接层得到预测结果。
6.如权利要求5所述PDF文件的精简方法,其特征在于:Faster R-CNN算法的工作过程包括如下步骤:
4)制作数据集:将PDF文件转化的处理图利用标注软件labelimg进行标注,在每张处理图上给表格和图片打上不一样的标签,标注完成后,将对应的处理图和生成的xml文件放入代码指定的导入路径,制成数据集,为训练做准备;
5)训练:在已经训练好的model的基础上继续进行训练,代码使用Resnet50网络的权重初始化网络结构,进而采用步骤4)制作的数据集进一步训练,得到符合要求的权重,将效果相对最好的epoch的权重保存下来,用来预测;
6)预测:使用训练过程中得到的权重对需要处理的处理图进行预测,预测出处理图中的图片和表格,以及返回图片和表格四个点的坐标,在精简版PDF文件制作中用以提供图片以及需要的坐标来提取标题和注释。
7.如权利要求5所述PDF文件的精简方法,其特征在于:对表格进行结构还原时,通过FasterR-CNN检测出表格位置,然后对表格的边框做调整,扩大边框,通过掩膜mask取出处理图中的表格,并将图像进行灰度化、二值化处理,再利用OpenCV里面的形态学操作:膨胀和腐蚀,设置腐蚀和膨胀的操作区域为一个横纵和纵向的直条,获取横向和纵向的表格线,将横向和纵向的表格线叠加形成表格图,并通过OpenCV的bitwise_and函数获得横向表格线和纵向的交叉点,最后写入合并单元格,并进行跨页表格连接。
8.如权利要求7所述PDF文件的精简方法,其特征在于:写入合并单元格时,过滤重复交叉点,并按坐标对交叉点进行排序,根据交叉点坐标计算表格行列数,先依次遍历表格列,对excel进行合并列操作,在一列单元格中,每两个横向交叉点组成一行,从第二行开始,通过检测每一行的两个交叉点之间的像素值判断每一行是否存在直线:
若有直线,则该行上下两个单元格没有合并,提取直线上面单元格坐标,对该单元格进行文字识别,并将文字写入excel中;
若没有直线,则记录该行位置,继续向下检测直线,得到需要合并的单元格总数量,对该合并单元格进行文字识别,并合并excel的对应单元格,将文字写入excel中;
再依次遍历表格行,对excel进行合并行操作,并判断是否存在合并多行多列的情况,在一行单元格中,从第二列开始,检测每一列是否存在直线:
若有直线,则不进行操作;若没有直线,继续向右检测直线,计算该行需要合并的单元格总数量,然后向下检测直线,判断是否需要合并多行多列:若不需要,则合并excel中的对应横向单元格,并写入文字;若需要,则计算该多行多列单元格的行列数,合并excel的对应单元格,并写入文字。
9.如权利要求8所述PDF文件的精简方法,其特征在于:进行跨页表格连接时:根据标题位置通过PDFplumber获取表格名称,对表格名称进行拆分,获取表格名称的序号,统计一表多页表格所占的页数,获取下一页表格名称序号,若两页表格序号相同,继续获取下一页表格名称序号,直至表格序号不同;通过opencv获取每页表格的交叉点,将第一页表格写入excel后返回行数,去掉第二页表格的属性行,根据返回的行数,将第二页表格的第一行写入excel的最后一行;当两页表格的列数不同时,判断跨页表格的两个部分的最大列数是否相等:若相等直接连接,若不相等,则以列数大的那部分表格的交点坐标为基准,对其他部分表格交点坐标进行偏移;以最大列数为基准作为其他表格进行合并单元格时的列数判定。
10.如权利要求9所述PDF文件的精简方法,其特征在于:进行文本还原时,对PDFPlumber进行改写,通过PDF底层的打印指令,获取表格内包含上下标信息的文本及表格上的标题、注释,然后进行文本还原:
包含上下标信息的文本提取:为通过结构还原步骤中得到的单元格坐标作为输入,使用PDFPlumber提取范围中的字符信息,并重新排列成字符串,每个单元格中的字符串分为数段,每段存为字典,包含文本与上下标信息,字典以列表的形式存储;
表格标题提取:以表格左上角坐标为基准点向上迭代扫描数次,如果遇到表格关键字,则以关键字是否为所在行开头以及关键字后面是否跟随数字为条件,判断是否为标题,是则返回标题信息,否则返回空值,判断过程中要去除空格和换行符的影响;
以文本提取为导向的章节标题提取:以表格左上角坐标为基准点向上迭代扫描数次,如果遇到表格关键字,则以关键字是否为数字.数字模型为条件,判断是则返回标题信息,否则返回空值,判断过程中要去除空格和换行符的影响;
以读取大纲为导向的章节标题提取:对于PDF文件,其章节信息以大纲的方式存储在PDF的底层数据中,并包含页码信息,该部分可直接读取,章节标题与表格在同一页时,取该页第一个章节标题;
注释提取:以表格底部坐标为基准点向下迭代扫描数次,提取注释关键字的坐标,进一步提取其内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310105813.6A CN116402028A (zh) | 2023-02-13 | 2023-02-13 | Pdf文件的精简方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310105813.6A CN116402028A (zh) | 2023-02-13 | 2023-02-13 | Pdf文件的精简方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116402028A true CN116402028A (zh) | 2023-07-07 |
Family
ID=87006484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310105813.6A Pending CN116402028A (zh) | 2023-02-13 | 2023-02-13 | Pdf文件的精简方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116402028A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117558019A (zh) * | 2024-01-11 | 2024-02-13 | 武汉理工大学 | 从pdf格式元器件手册中自动提取符号图参数的方法 |
-
2023
- 2023-02-13 CN CN202310105813.6A patent/CN116402028A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117558019A (zh) * | 2024-01-11 | 2024-02-13 | 武汉理工大学 | 从pdf格式元器件手册中自动提取符号图参数的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210034849A1 (en) | System and method of character recognition using fully convolutional neural networks with attention | |
US5164899A (en) | Method and apparatus for computer understanding and manipulation of minimally formatted text documents | |
KR100248917B1 (ko) | 패턴인식장치및방법 | |
US7764830B1 (en) | Machine learning of document templates for data extraction | |
Edwards et al. | Making latin manuscripts searchable using gHMM's | |
CN109858036B (zh) | 一种文书划分方法及装置 | |
CN112434691A (zh) | 基于智能解析识别的hs编码匹配、展示方法、系统及存储介质 | |
Jahan et al. | Locating tables in scanned documents for reconstructing and republishing | |
CN114005123A (zh) | 一种印刷体文本版面数字化重建系统及方法 | |
CN111797630B (zh) | 一种面向pdf格式论文的生物医学实体识别方法 | |
CN112307741B (zh) | 保险行业文档智能化解析方法和装置 | |
CN113537227B (zh) | 一种结构化文本识别方法及系统 | |
CN116402028A (zh) | Pdf文件的精简方法 | |
CN113807158A (zh) | 一种pdf内容提取方法、装置及设备 | |
CN115457580A (zh) | 数字化档案表格转换方法及系统 | |
CN114663897A (zh) | 表格提取方法与表格提取系统 | |
CN115828874A (zh) | 基于图像识别技术的行业表格数字化处理方法 | |
CN115661183B (zh) | 一种基于边缘计算的智能扫描管理系统及方法 | |
Al Ghamdi | A novel approach to printed Arabic optical character recognition | |
Tran et al. | A deep learning-based system for document layout analysis | |
CN115311666A (zh) | 图文识别方法、装置、计算机设备及存储介质 | |
CN112560849B (zh) | 基于神经网络算法的文理分割方法及系统 | |
CN115543915A (zh) | 人事档案目录自动化建库方法及系统 | |
Ríos-Vila et al. | End-to-End Full-Page Optical Music Recognition for Mensural Notation. | |
CN113516041A (zh) | 一种藏文古籍文档图像版面分割、识别方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |