CN113821691A - 文档处理方法及装置、电子设备及可读存储介质 - Google Patents
文档处理方法及装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN113821691A CN113821691A CN202110931607.1A CN202110931607A CN113821691A CN 113821691 A CN113821691 A CN 113821691A CN 202110931607 A CN202110931607 A CN 202110931607A CN 113821691 A CN113821691 A CN 113821691A
- Authority
- CN
- China
- Prior art keywords
- data
- data table
- column
- row
- target
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/835—Query processing
- G06F16/8358—Query translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/838—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种文档处理方法,文档处理方法包括:将PDF文件转换成Excel表;确定所述Excel表中目标表格的位置;识别所述目标表格中,目标子表格的起始位置和结束位置;根据所述起始位置、所述结束位置及所述目标子表格,建立第一数据表;及将所述第一数据表的数据,匹配至预先得到的第二数据表中,所述第二数据表与数据库相匹配。本申请还公开了一种文档处理装置、电子设备及非易失性计算机可读存储介质。本申请可以将PDF文件中的表格数据匹配至数据库中,可以减少提高PDF文件中Excel数据录入数据库的时间,提高录入效率,并且可以减少人工成本。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种文档处理方法、文档处理装置、电子设备及非易失性计算机可读存储介质。
背景技术
对于从可携带文档格式(Portable Document Format,PDF)文件中提取表格数据,一般情况下都是通过人工的方式静态的进行获取。但是如果PDF文件中表格的数量较多或者PDF文件较多时,人工批量提取表格数据效率低,并且通常会花费大量的人力和物力。另外,客户要求及时性条件下,投入的人力越多,随之成本也将增加。
发明内容
本申请实施方式提供了一种文档处理方法、文档处理装置、电子设备及非易失性计算机可读存储介质。
本申请实施方式的文档处理方法包括:将PDF文件转换成Excel表;确定所述Excel表中目标表格的位置;识别所述目标表格中,目标子表格的起始位置和结束位置;根据所述起始位置、所述结束位置及所述目标子表格,建立第一数据表;及将所述第一数据表的数据,匹配至预先得到的第二数据表中,所述第二数据表与数据库相匹配。
本申请实施方式的文档处理装置包括提取模块、确定模块、识别模块、建立模块及匹配模块。所述提取模块用于将PDF文件转换成Excel表;所述确定模块用于确定所述Excel表中目标表格的位置;所述识别模块用于识别所述目标表格中,目标子表格的起始位置和结束位置;所述建立模块用于根据所述起始位置、所述结束位置及所述目标子表格,建立第一数据表;及所述匹配模块用于将所述第一数据表的数据,匹配至预先得到的第二数据表中,所述第二数据表用于与数据库匹配。
本申请实施方式的电子设备包括一个或多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被一个或多个所述处理器执行,所述程序包括用于执行本申请实施方式所述的文档处理方法的指令。所述文档处理方法包括:将PDF文件转换成Excel表;确定所述Excel表中目标表格的位置;识别所述目标表格中,目标子表格的起始位置和结束位置;根据所述起始位置、所述结束位置及所述目标子表格,建立第一数据表;及将所述第一数据表的数据,匹配至预先得到的第二数据表中,所述第二数据表与数据库相匹配。
本申请实施方式的一种包含计算机程序的非易失性计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,使得所述处理器实现本申请实施方式所述的文档处理方法。所述文档处理方法包括:将PDF文件转换成Excel表;确定所述Excel表中目标表格的位置;识别所述目标表格中,目标子表格的起始位置和结束位置;根据所述起始位置、所述结束位置及所述目标子表格,建立第一数据表;及将所述第一数据表的数据,匹配至预先得到的第二数据表中,所述第二数据表与数据库相匹配。
本申请实施方式的文档处理方法、文档处理装置、电子设备及非易失性计算机可读存储介质中,首先将PDF文件转换成Excel表,然后依次确定Excel表格中目标表格的位置,目标表格中目标子表格的起始位置和结束位置,然后根据目标子表格的起始位置和结束位置建立第一数据表,进而将第一数据表内的数据匹配值第二数据表中,从而可以将PDF文件中的表格中的目标数据匹配至数据库中。由此,可以减少提高PDF文件中Excel数据录入数据库的时间,提高录入效率,并且可以减少人工成本。
本申请实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点可以从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本申请实施方式的文档处理方法的流程示意图;
图2是本申请实施方式的文档处理装置的结构示意图;
图3是本申请实施方式的电子设备的结构示意图;
图4是本申请实施方式的文档处理方法的流程示意图;
图5是本申请实施方式的文档处理方法的原理示意图;
图6是本申请实施方式的文档处理方法的原理示意图;
图7是本申请实施方式的文档处理方法的流程示意图;
图8是本申请实施方式的文档处理方法的流程示意图;
图9是本申请实施方式的文档处理方法的原理示意图;
图10是本申请实施方式的文档处理方法的流程示意图;
图11是本申请实施方式的文档处理方法的原理示意图;
图12是本申请实施方式的文档处理方法的原理示意图;
图13是本申请实施方式的文档处理方法的流程示意图;
图14是本申请实施方式的文档处理方法的原理示意图;
图15是本申请实施方式的文档处理方法的原理示意图;
图16是本申请实施方式的文档处理方法的原理示意图;
图17是本申请实施方式的文档处理方法的流程示意图;
图18是本申请实施方式的文档处理方法的流程示意图;
图19是本申请实施方式的文档处理方法的流程示意图;
图20是本申请实施方式的文档处理方法的原理示意图
图21是本申请实施方式的计算机可读存储介质与处理器的连接关系示意图。
具体实施方式
下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请的实施方式,而不能理解为对本申请的实施方式的限制。
请参阅图1至图3,本申请实施方式的文档处理方法包括以下步骤:
01:将PDF文件转换成Excel表;
02:确定Excel表中目标表格的位置;
03:识别目标表格中,目标子表格的起始位置和结束位置;
04:根据起始位置、结束位置及目标子表格,建立第一数据表;及
05:将第一数据表的数据,匹配至预先得到的第二数据表中,第二数据表与数据库匹配。
本申请实施方式的文档处理装置10包括转换模块11、确定模块12、识别模块13、建立模块14及匹配模块15。转换模块11、确定模块12、识别模块13、建立模块14及匹配模块15可分别用于实现步骤01、步骤02、步骤03、步骤04和步骤05。即,转换模块11可以用于将PDF文件转换成Excel表;确定模块12可以用于确定Excel表中目标表格的位置;识别模块可以用于识别目标表格中,目标子表格的起始位置和结束位置;建立模块可以用于根据起始位置、结束位置及目标子表格,建立第一数据表;匹配模块用于将第一数据表的数据,匹配至预先得到的第二数据表中,第二数据表用于与数据库匹配。
本申请实施方式的电子设备100包括一个或多个处理器20、存储器30和一个或多个程序,其中一个或多个程序被存储在存储器30中,并且被一个或多个处理器20执行,程序包括用于执行本申请实施方式的文档处理方法的指令。处理器20在执行程序时,处理器20可以实现步骤01、步骤02、步骤03、步骤04和步骤05。即,处理器20可以用于:将PDF文件转换成Excel表;确定Excel表中目标表格的位置;识别目标表格中,目标子表格的起始位置和结束位置;根据起始位置、结束位置及目标子表格,建立第一数据表;将第一数据表的数据,匹配至预先得到的第二数据表中,第二数据表与数据库匹配。
本申请实施方式的文档处理方法、文档处理装置10及电子设备100中,首先将PDF文件转换成Excel表,然后依次确定Excel表格中目标表格的位置,目标表格中目标子表格的起始位置和结束位置,然后根据目标子表格的起始位置和结束位置建立第一数据表,进而将第一数据表内的数据匹配值第二数据表中,从而可以将PDF中的目标数据匹配至数据库中。由此,可以减少提高PDF文件中Excel数据录入数据库的时间,提高录入效率,并且可以减少人工成本。
另外,一些实施方式中,通过关键字直接定位PDF文件中Excel表格的数据,可能存在一个PDF文件中对应有多个关键字,进而导致录入的数据不准确的情况。然而,本申请相较于通过关键字直接定位PDF文件中Excel表格的数据而言,由于本申请是先确定PDF中目标表格的目标子表格的起始位置及结束位置,然后将目标子表格中的数据录入数据库,数据的范围更小、数据的特征性更强,从而本申请录入数据的准确性更高。
其中,PDF文件可以是某个公司的公告文件,例如,年度报告/年度报告修订更新/年度报告摘要、半年度报告、半年度报告摘要、一季度报告全文、一季度报告正文、三季度报告全文等公告文件。PDF文件可以包括有多个表格,或者PDF文件中可以包括一个表格,大表格中嵌套有多个子表格,每个子表格对应的数据不同。
具体地,在步骤01中,将PDF文件转换成Excel表。可以使用一些软件或者算法将需要将PDF文件转换成Excel文件,即,将PDF文件转换成Excel表,Excel表中包括PDF文件的全部内容。例如,可以使用SolidFramework对PDF文件进行转换,得到Excel表。当然,还有其他的软件或者算法,在此不一一列举。
在步骤02中,确定Excel表中目标表格的位置。可通过一些软件或者算法获取Excel表中的全部数据,即,获取Excel表中每个单元格的内容、边框、字体等数据。例如,在一个实施例中,可通过Aspose.Cells控件获取Excel表的全部数据。在一些实施方式中,一个PDF文件可以获取多个Excel表格,而为了避免对所有的Excel表格进行数据读取,或者为了避免非目标表格的Excel表导致录入的数据不准确。可以根据读取到的目标表格的表头、目标表格的目录等关键字确定Excel表中目标表格的位置,以便于对目标表格内的数据做进一步地处理和分析,可以减少资源的占用,同时也可以提高工作效率。
在步骤03中,识别目标表格中,目标子表格的起始位置和结束位置。在一些实施方式中,目标表格中内存在多个子表格,不同的子表格内的数据不一致,在录入数据时只有目标子表格内的数据才是准确的,或者只需要录入目标子表格的数据,为了数据录入的准确性及录入的高效性,可以识别目标表格中目标子表格的起始位置和终止位置,而无需全部识别目标表格。例如,可通过识别目标子表格的起始处的关键字和结束时的关键字,确定目标子表格的起始位置和关键位置。
在步骤04中,根据起始位置、结束位置及目标子表格,建立第一数据表。在步骤03中已经识别到了目标子表格的起始位置和结束位置,可以根据起始位置和结束位置截取Excel表中的数据,然后根据截取到的数据建立第一数据表,使得第一数据表比较准确,且第一数据表中的数据比较精炼,有利于提高数据录入时的效率。
在步骤05中,将第一数据表的数据,匹配至预先得到的第二数据表中,第二数据表与数据库匹配。可以理解,在步骤04中得到的第一数据表录入数据时,可能与数据库内的录入模板不匹配,容易导致录入错误或者录入过程耗时过长。因此,可以建立一个与数据库相匹配的第二数据表,然后将第一数据表内的数据匹配至第二数据表内,以便于更搞笑、更顺畅地将目标数据匹配至数据库中。
请参阅图4,在某些实施方式中,步骤02包括以下步骤:
021:根据目标表格的一级目录的关键词,获取目标表格在Excel表中的第一索引行;
022:从第一索引行开始匹配二级目录的关键词,以获得二级目录的第二索引行和第三索引行,第二索引行用于索引二级目录的开始行,第三索引行用于索引二级目录的结束行;及
023:根据第二索引行及第三索引行,截取目标表格,以获得二级子目录对应的目标子表格。
在某些实施方式中,确定模块12还可以用于:根据目标表格的一级目录的关键词,获取目标表格在Excel表中的第一索引行;从第一索引行开始匹配二级目录的关键词,以获得二级目录的第二索引行和第三索引行;根据第二索引行及第三索引行,截取目标表格,以获得二级子目录对应的目标子表格。即,确定模块12可以用于实现步骤021、步骤022和步骤023。
在某些实施方式中,处理器20还可以用于:根据目标表格的一级目录的关键词,获取目标表格在Excel表中的第一索引行;从第一索引行开始匹配二级目录的关键词,以获得二级目录的第二索引行和第三索引行;根据第二索引行及第三索引行,截取目标表格,以获得二级子目录对应的目标子表格。即,处理器20可以用于实现步骤021、步骤022和步骤023。
具体地,提取得到的Excel表中可以有多个表格,目标表格为多个表格中的一个。其中,目标表格并非是固定不变的,在录入的数据发生变化时,目标表格也会随之发生变化。或者说,目标表格的一级目录的关键词可以随录入数据的属性调整,以分别录入不同的数据,同时还可实现较高的效率。
请结合图5,图5示出了Excel表的部分表格数据,在一个实施例中,目标表格的一级目录的关键词为“七、合并财务报表项目注释”,则可以从Excel表的第一行开始匹配,在匹配到“七、合并财务报表项目注释”时,则获取“七、合并财务报表项目注释”所在行(图5中被框柱的数据A)的第一索引行,在图5所示的实施例中,第一索引行为2992行。或者,也可以通过字体、字号等特征识别Excel表中的所有的一级目录,然后将一级目录逐个与目标表格的一级目录的关键字进行匹配,在匹配到时,则获取相匹配的一级目录的所在行的第一索引行,在图5所示的实施例中,第一索引行为2992行。
进一步地,从第一索引行开始往下继续匹配二级目录的关键词,二级目录可以为目标子表格的表头或者目标子表格的标题。根据二级目录的关键词的匹配结果可以确定目标子表格的第二索引行和第三索引行,第二索引行用于索引目标子表格的开始,第三索引行可以用于索引目标子表格的结束,进而可以根据第二索引行和第三索引行截取目标表格的数据,从而截取得到目标子表格。其中,第二索引行可以根据二级目录的关键词匹配得到,第三索引行可以根据该二级目录的下一个二级目录得到。二级目录的字体、大小等属性可与一级目录的字体、大小等属性不一致。
例如,以图6为例进行说明。在一个例子中,二级目录为“长期待摊费用”。从2992行开始往下匹配二级目录,在匹配到二级目录为“长期待摊费用”时,即,图6中被框住的表格数据B,则获取该二级目录的所在行为3637,则第二索引行为3636;继续往下进行匹配,匹配到下一个二级目录(可以根据二级目录的序号判断)的所在行,例如图6下一个二级目录被框柱的表格数据C,所在行为“3645”,则第三索引行为“3644”。因此,可以根据行3636和行3644,对目标表格的数据进行截取,即截取行3637至行3645的之间的数据,将截取得到的数据作为目标子表格。
其中,需要说明的是,在录入的数据属性发生变化时,对应的一级目录和二级目录可发生变化。例如,在录入的数据为货币资金情况时,则目标子表格的二级目录为“货币资金”。一级目录的变化与二级目录类似,在此不详细展开。
在一个实施例中,可以使用可扩展标记语言(Extensible Markup Language,XML)配置定位目标表格的位置。例如,XML根据配置的需要提取数据的表名提取对应的表格数据,然后匹配每个节点的内容。例如,XML配置的RootParm下面的每个value节点的内容为获取表格所在的范围,value节点有firstPatterStart、firstLevelIsMust、firstLevelkeyLength、firstNoContian、patterStart、patterEnd、NoContian、keyLength,firstPatterStart属性表示一级目录匹配的关键字,是用正则表达式表示;firstLevelIsMust属性表示一级目录是否必须匹配到,Yes表示true,其它表示false;firstLevelkeyLength属性表示firstPatterStart如果匹配到,比如“财务报表:15”表示excel当前行必须包含“财务报表”4个字,并且当前的字符数量不能大于15,否则表示一级目录没有匹配到。firstNoContian属性表示匹配到的数据不能包含的关键字,用正则表达式表示;patterStart属性表示二级目录匹配的关键字,是用正则表达式表示,如果一级目录firstLevelIsMust为yes,则一级目录必须匹配到,才能匹配二级目录,否则此节点不能定位到表格所在位置。firstLevelIsMust为false,即使一级目录没有匹配到,二级目录都会进行匹配。patterEnd属性表示二级目录结束匹配的关键字,是用正则表达式表示;NoContian、keyLength的作用同一级目录的firstNoContian和firstLevelkeyLength。通过XML预先配置的多个节点,可以直接获取到Excel表中目标子表格的范围,效率较高且不易出错。
请参阅图7,在某些实施方式中,步骤03包括以下步骤:
031:根据预设的第一关键词,获取目标子表格的起始位置;及
032:根据预设的第二关键词,获取目标子表格的结束位置。
在某些实施方式中,识别模块13还可以用于:根据预设的第一关键词,获取目标子表格的起始位置;及根据预设的第二关键词,获取目标子表格的结束位置。即,识别模块13还可以用于实现步骤031和步骤032。
在某些实施方式中,处理器20还可以用于:根据预设的第一关键词,获取目标子表格的起始位置;及根据预设的第二关键词,获取目标子表格的结束位置。即,处理器20还可以用于实现步骤031和步骤032。
具体地,虽然在步骤022中获取到了目标子表格的第二索引行和第三索引行。然而,在一些实施方式中,目标子表格中的数据内容的起始位置的索引行并不是第二索引行,目标子表格中的数据内容的结束位置的索引行并不是第三索引行,可以根据一些关键字识别目标子表格中数据内容的起始位置和结束位置,由此,可以更加精准地提取目标子表格的数据内容。
数据内容的起始表格的数据名称通常会带有项目、列目、名称等关键词,数据内容的结束表格的数据名称一般会带有合计、共计、总计、总共等关键词,因此可以根据关键字获取目标子表格的起始位置和结束位置。
例如,以图6为例进行示例性说明。预设的第一关键词为项目,预设的第二关键词为合计,通过对图6的目标子表格进行文本内容的识别,识别到表格内容中包括有“项目”关键词的行为3639,识别到表格内容中包括有“合计”关键词的行为3643,则可以定位到目标子表格的起始位置为3639行,目标子表格的结束位置3643行。
在一个实施例中,可以根据XML配置的ColumParm下面的节点定位到目标子表格开始位置,ColumParm的子节点表示表每个字段的名称。子节点的value节点表示要匹配的字段,用正则表达式标识,NoContian属性表示此字段不能匹配不能包括的关键字,也用正则表达式表示。如图6所示,匹配到“项目”关键字,则目标子表格的位置从3639开始(对于cells的索引是3638)。XML配置可以根据目标子表格除了第一列,其它列是否有值、单元的边框、单元格是否占用多列的方式判断单元格的结束位置,如图6,XML可以识别到目标子表格的结束位置为3643行,对于对于cells的行索引为3642。
请参阅图8,在一些实施方式中,步骤04包括以下步骤:
041:获取用于索引起始位置的第四索引行、及用于索引结束位置的第五索引行;
042:根据第四索引行和第五索引行,截取目标子表格;
043:根据截取得到的数据,建立第一初始数据表;及
044:对第一初始数据表进行整理,以获得第一数据表。
在某些实施方式中,建立模块14还可以用于:获取用于索引起始位置的第四索引行、及用于索引结束位置的第五索引行;根据第四索引行和第五索引行,截取目标子表格;根据截取得到的数据,建立第一初始数据表;及对第一初始数据表进行整理,以获得第一数据表。建立模块14还可以用于实现步骤041、步骤042、步骤043和步骤044。
在某些实施方式中,处理器20还可以用于:获取用于索引起始位置的第四索引行、及用于索引结束位置的第五索引行;根据第四索引行和第五索引行,截取目标子表格;根据截取得到的数据,建立第一初始数据表;及对第一初始数据表进行整理,以获得第一数据表。处理器20还可以用于实现步骤041、步骤042、步骤043和步骤044。
具体地,在步骤03已经获取到了目标子表格中具体表格的起始位置和结束位置,为了准确地截取目标子表格中的数据,需要确定索引目标子表格中具体表格的起始位置的第四索引行,及确定索引目标子表格中具体表格的结束位置的第五索引行。具体地,第四索引行可以为起始位置所在行的前一行,第五索引行可以为结束位置所在行的前一行。进而可以根据第四索引行和第五索引行,对目标子表格进行截取,可以根据截取得到的数据,建立一个与截取到的目标子表格相对应的第一初始数据表,由此,第一初始数据表中的数据均为需要获取的数据,不存在由其它的非必要数据,可以减少后续将数据录入数据库的时间。
进一步地,在一些实施方式中,第一初始数据表中数据分布不规整,容易导致后续与第二数据表匹配时匹配难度大、耗时长、或者匹配错误等现象的发生,为了避免第一初始数据表中数据分布不规整的情况,可以对第一初始数据表进行整理,整理后的第一初始数据表可为第一数据表,提高匹配时的准确度及效率。如果第一初始数据表内数据比较规整,则无需对第一初始数据表进行整理,可以直接将第一初始数据表作为第一数据表。
其中,请结合图9,第一初始数据表中每列的列名的命名规则为Column+当前单元格的首列的序号,从第二行开始为截取到的目标子表格的数据内容。
请参阅图10,在某些实施方式中,第一初始数据表中首行的数据为每列的列名,步骤044包括以下步骤:
0441:识别第一初始数据表中的是否存在有错位单元格;
0442:若识别到错位单元格,根据错位单元格的列名,确定错位单元格的列邻近单元格是否有数据,列邻近单元格与错位单元格为邻近列;及
0443:若列邻近单元格没有数据,且与邻近列单元格的所在行的行邻近单元格有数据,合并邻近单元格与错位单元格,以获得第一数据表。
在某些实施方式中,建立模块14还可以用于:识别第一初始数据表中的是否存在有错位单元格;若识别到错位单元格,根据错位单元格的列名,确定错位单元格的列邻近单元格是否有数据,列邻近单元格与错位单元格为邻近列;及若列邻近单元格没有数据,且与邻近列单元格的所在行的行邻近单元格有数据,合并邻近单元格与错位单元格,以获得第一数据表。即,建立模块14还可以用于实现步骤0441、步骤0442和步骤0443。
在某些实施方式中,处理器20还可以用于:识别第一初始数据表中的是否存在有错位单元格;若识别到错位单元格,根据错位单元格的列名,确定错位单元格的列邻近单元格是否有数据,列邻近单元格与错位单元格为邻近列;及若列邻近单元格没有数据,且与邻近列单元格的所在行的行邻近单元格有数据,合并邻近单元格与错位单元格,以获得第一数据表。即,处理器20还可以用于实现步骤0441、步骤0442和步骤0443。
具体地,目标子表格中的单元格不规整容易导致第一初始数据表中存在有错位单元格,错位单元格容易导致第一初始数据表存在较大的误差,从而导致数据匹配时存在误差,可以通过识别错位单元格,在存在错位单元格时及时进行调整,进而得到的第一数据表比较准确,误差较小。
请参阅图11,目标子表格中的存在单元格不规整,如图11中被框柱的单元格D,占据了部分邻近列的单元格。若依据图11所示的目标子表格建立得到的第一初始数据表将如图12所示,导致第一初始数据表中的column34的大部分的单元格空白,而原本位于第4行column33的单元格的数据显示空白,显然Column34的第4行的内的数据应该是Column33的第4行的内容。可以理解,图12所示的第一初始数据表中即存在有错位单元格,错位单元格为列column34所对应的单元格。如果第一初始数据表中未存在有错位单元格,则图12所示的第一初始数据表中第二行的每个单元格均有数据,如果识别到第一初始数据表中第二行的存在单元格没有数据,则可以认为存在错位单元格,该单元格所在列所对应的单元格均为错位单元格。
在Excel遇到表格错误很常见,有可能是多行的值错误,为了对错位单元格进行整理,使得第一数据表中不存在有错位单元格。继续以图12为例进行示例性说明,整理具体过程可以为:识别错位单元格的所在列(下称错位列)的左右邻近列,根据左右两列的列名确定哪列更邻近错位列,例如,识别Column34里旁边2列Column33和Column46哪列比较近,Column33相较于Column46更邻近Column34;然后识别Column34中有值的单元格所在的行,在Column33中该行对应的单元格是不是全部没值;如果对应成功,则把Column34的值与Column33合并,否则与Column46合并,并删除此列;进行整理后则如图9所示。
请参阅图13,在某些实施方式中,第一初始数据表中首行的数据为每列的列名,步骤044还包括以下步骤:
0444:判断第一初始数据表中是否存在有合并多列的合并行;及
0445:若是,根据合并行的数据、及与合并行邻近的项目行的数据,合并合并行与项目行,以获得第一数据表。
在某些实施方式中,建立模块14还可以用于判断第一初始数据表中是否存在有合并多列的合并行;若是,根据合并行的数据、及与合并行邻近的项目行的数据,合并合并行与项目行,以获得第一数据表。也即是说,建立模块14还可以用于实现步骤0444和步骤0445。
在某些实施方式中,处理器20还可以用于判断第一初始数据表中是否存在有合并多列的合并行;若是,根据合并行的数据、及与合并行邻近的项目行的数据,合并合并行与项目行,以获得第一数据表。也即是说,处理器20还可以用于实现步骤0444和步骤0445。
具体地,请结合图14,目标子表格如图14所示,存在有两个合并多列的合并行,依据图14所示的目标子表格建立的第一初始数据表将如图15所示。如果以图15所示的表格进行数据导入的话,可能无法准确识别到对应的数据,例如匹配关键字为“2019年年初余额”,则无法匹配到。本实施方式通过对合并行进行处理,有利于后续数据匹配,降低匹配难度。
可以通过识别第一初始数据表中每个单元格所占据的列数,判断是否存在有合并多列的合并行。在第一初始数据表中存在有多列合并的合并行时,可以将与合并行邻近且未存在合并多列的项目行,和合并行进行合并,合并后得到的第一初始数据表即为第一数据表,第一数据表中每个单元格只占一行一列。
例如,得到的第一初始数据表如图15所示。可以识别到该表中的第二行、第三行存在合并多列的合并行,并且识别到该表中与第三行相邻的第四行并不存在合并多列的合并行,另外第四行每列的数据大多数有“年”字,第三行合并行的数据为2019年,第二行合并行的关键字为本集团,则可以合并第二行、第三行及第四行的数据,合并后可以如图16所示。或者,也可以根据Excel表中首行及首列单元格内的合并情况,对第一初始数据表中的其他单元格进行合并,得到第一数据表,也如图16所示。
在某些实施方式中,在步骤043后、或在步骤0443或步骤0445后,步骤04还包括以下步骤:
045:获取第一初始数据表的起始列和结束列;及
046:删除第一初始数据表中位于起始列之前的列、及第一初始数据表中位于起始列之后的列。
在某些实施方式中,建立模块还可以用于:获取第一初始数据表的起始列和结束列;及删除第一数据表中位于起始列之前的列、及第一数据表中位于起始列之后的列。即,建立模块还可以用于实现步骤045和步骤046。
在某些实施方式中,处理器还可以用于:获取第一初始数据表的起始列和结束列;及删除第一数据表中位于起始列之前的列、及第一数据表中位于起始列之后的列。即,处理器还可以用于实现步骤045和步骤046。
具体地,得到的第一初始数据表中可能存在有空白列,为了使得第一初始数据表占用的内存更小,第一初始数据表中的数据更加集中,可以确定第一初始数据表的起始列与结束列,其中,起始列指的是第一初始数据表具体内容的起始的单元格所在的列,结束列可以指的是第一初始数据表具体内容的结束的单元格所在的列,然后可以将第一数据表中起始列之前的列、及第一数据表中位于起始列之后的列均删除,使得第一数据表中不存在多余的单元格,第一初始数据表更加精炼,占用内存更小。
在某些实施方式中,步骤04还可包括以下步骤:
047:删除第一数据表中的首行,以使第一数据表中每列的列名为项目名。
在某些实施方式中,建立模块14还可用于删除第一数据表中的首行,以使第一数据表中每列的列名为项目名。即,建立模块14还可用于实现步骤047。
在某些实施方式中,处理器20还可用于删除第一数据表中的首行,以使第一数据表中每列的列名为项目名。即,处理器20还可用于实现步骤047。
具体地,第一初始数据表中的首行为Column+当前单元格首列的列号,第一初始数据表的第二行每列单元格为具体的项目名称。为了更好地使得到的第一数据表与第二数据表进行匹配,可以将第一初始数据表首行删除,从而第一初始数据表的首行的单元格数据将变成各个项目名,使得第一初始数据表首行以下的每一行都是需要提取(即录入)的数据。
请参阅图17,在某些实施方式中,文档处理方法还可包括以下步骤:
06:建立第二初始数据表,第二初始数据表各个单元格的数据为空;
07:获取预置的配置文件中每个预定节点的名称;及
08:将每个预定节点的名称输入至第二初始数据表中,以得到第二数据表,第二数据表中每列的列名为每个预定节点的名称。
在某些实施方式中,文档处理装置10还可用于:建立第二初始数据表,第二初始数据表各个单元格的数据为空;获取预置的配置文件中每个预定节点的名称;及将每个预定节点的名称输入至第二初始数据表中,以得到第二数据表,第二数据表中每列的列名为每个预定节点的名称。即,文档处理装置10还可用于实现步骤06、步骤07和步骤08。
在某些实施方式中,处理器20还可用于:建立第二初始数据表,第二初始数据表各个单元格的数据为空;获取预置的配置文件中每个预定节点的名称;及将每个预定节点的名称输入至第二初始数据表中,以得到第二数据表,第二数据表中每列的列名为每个预定节点的名称。即,处理器20还可用于实现步骤06、步骤07和步骤08。
具体地,第二数据表可以是一个标准的表格,第二数据表可以与数据库相匹配,以准确高效地将相应的数据导入数据库中。首先,可以建立一个内容为空的第二初始数据表。然后获取预置的配置文件中每个预定节点的名称,将每个预定节点的名称作为第二初始数据表的每列的列名,并依次填充至第二初始数据表的首行的单元格中。由此,第二数据表更加标准,与数据库更加匹配。
在一个实施例中,将XML配置文件中ColumParm下的每个预定节点的名称转换为第二初始数据表的列名,具体地,将每个预定节点的Name属性、Value的值和NoContian属性变为每列的Caption(标题)。其中,Name属性与Value节点用“@”隔开,Value的值和NoContain用特殊符号“:”隔开,各Value节点用“&”隔开。并且定义每列值的类型,如文本、数字等,得到的单元格即为第二数据表。
进一步地,请参阅图18,在某些实施方式中,步骤05包括以下步骤:
051:将第一数据表的每列的列名、与第二数据表的每列的标题进行匹配;及
052:将第一数据表中与第二数据表匹配成功的列的数据,输入至第二数据表的对应列中。
在某些实施方式中,匹配模块15还可以用于将第一数据表的每列的列名、与第二数据表的每列的标题进行匹配;及将第一数据表中与第二数据表匹配成功的列的数据,输入至第二数据表的对应列中。即,匹配模块15还可以用于实现步骤051和步骤052。
在某些实施方式中,处理器20还可以用于将第一数据表的每列的列名、与第二数据表的每列的标题进行匹配;及将第一数据表中与第二数据表匹配成功的列的数据,输入至第二数据表的对应列中。即,处理器20还可以用于实现步骤051和步骤052。
具体地,由于第一数据表中每列的列名为各个项目的名称,第二数据表中每列的标题包括预定节点的名称,为了准确地将第一数据表中的数据填充至第二数据表中,可以将第一数据表的列名与第二数据表的每列的标题进行匹配,如果列名与标题相匹配的话,则表示第一数据表的该列的单元格内的数据,可以输入至与第二数据表的该列的单元格内,如此,第二数据表将被填充完整,进而可以将第二数据表的数据录入数据库内,数据录入效率较高,避免了人工录入而所花费较多的时间。
再进一步地,请参阅图19,在某些实施方式中,第二数据表的标题包括可匹配值和不可匹配值,步骤051包括以下步骤:
0511:将第一数据表的每列的列名分别与可匹配值及不可匹配值匹配;及
0512:在第一数据表的列名与可匹配值匹配成功,且与不可匹配值匹配失败时,确定匹配成功。
在某些实施方式中,匹配模块15还可用于将第一数据表的每列的列名分别与可匹配值及不可匹配值匹配;及在第一数据表的列名与可匹配值匹配成功,且与不可匹配值匹配失败时,确定匹配成功。即,匹配模块15还可用于实现步骤0511和步骤0512。
在某些实施方式中,处理器20还可用于将第一数据表的每列的列名分别与可匹配值及不可匹配值匹配;及在第一数据表的列名与可匹配值匹配成功,且与不可匹配值匹配失败时,确定匹配成功。即,处理器20还可用于实现步骤0511和步骤0512。
具体地,第二数据表的标题包括可匹配值与不可匹配值,可匹配值为需匹配到的值,不可匹配值为不能匹配到的值,如果可匹配值匹配到了,且不可匹配值也匹配到,则认为匹配失败,如果可匹配值匹配到了,且不可匹配值没有匹配到,则认为匹配成功。可以使用正则表达式将第一数据表的每列的列名与第二数据表每列的可匹配值和不可匹配值分别进行匹配,将第一数据表中匹配成功的列对应的数据填充至第二数据表中,直至将第一数据表中的数据全部提取完成。由此,增加了不可匹配值的匹配,可以增加第二数据表数据的准确性,避免将匹配失败的数据输入第二数据表中。
进一步地,第二数据表内的数据全部填充完后,可以对第二数据表中的其他特殊子段进行简单处理后,将第二数据表与数据库进行匹配以将数据录入数据库。例如,可以去除第二数据表中标题内的“@”、“:”及“&”等符号,以及可以去除第二数据表的标题的“NoContain”及“value”的值内容。即,第二数据表的标题只保留可匹配值,以使第二数据表更加清楚明了,数据更加直观,如图20所示。
请再次参阅图1及图2,存储器30用于存放可在处理器20上运行的计算机程序,处理器20执行程序时实现上述任一实施方式中的文档处理方法。
存储器30可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。进一步地,电子设备100还可包括通信接口40,通信接口40用于存储器30和处理器20之间的通信。
如果存储器30、处理器20和通信接口40独立实现,则通信接口40、存储器30和处理器20可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器30、处理器20及通信接口40,集成在一块芯片上实现,则存储器30、处理器20及通信接口40可以通过内部接口完成相互间的通信。
处理器20可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
请参阅图21,本申请实施方式的非易失性计算机可读存储介质300包括计算机可执行指令301,当计算机可执行指令301被一个或多个处理器400执行时,使得处理器400执行本申请任一实施方式的文档处理方法。即,处理器20可以执行上述实施方式中的步骤步骤01、步骤02、步骤03、步骤04、步骤05、步骤06、步骤07、步骤08、步骤021、步骤022、步骤023、步骤031、步骤032、步骤041、步骤042、步骤043、步骤044、步骤045、步骤046、步骤047、步骤0441、步骤0442、步骤0443、步骤0444、步骤0445、步骤051、步骤052、步骤0511、步骤0512。
例如,请结合图1,计算可执行指令301被处理器400执行时,处理器400用于实施以下步骤:
01:将PDF文件转换成Excel表;
02:确定Excel表中目标表格的位置;
03:识别目标表格中,目标子表格的起始位置和结束位置;
04:根据起始位置、结束位置及目标子表格,建立第一数据表;及
05:将第一数据表的数据,匹配至预先得到的第二数据表中,第二数据表与数据库匹配。
再例如,请结合图8,计算可执行指令301被处理器400执行时,处理器400用于实施以下步骤:
041:获取索引起始位置的第四索引行、及索引结束位置的第五索引行;
042:根据第四索引行和第五索引行,截取目标子表格;
043:根据截取得到的数据,建立第一初始数据表;及
044:对第一初始数据表进行整理,以获得第一数据表。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
尽管上面已经示出和描述了本申请的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。
Claims (10)
1.一种文档处理方法,其特征在于,包括:
将PDF文件转换成Excel表;
确定所述Excel表中目标表格的位置;
识别所述目标表格中,目标子表格的起始位置和结束位置;
根据所述起始位置、所述结束位置及所述目标子表格,建立第一数据表;及
将所述第一数据表的数据,匹配至预先得到的第二数据表中,所述第二数据表与数据库相匹配。
2.根据权利要求1所述的文档处理方法,其特征在于,所述确定所述Excel表中目标表格的位置,包括:
根据所述目标表格的一级目录的关键词,获取所述目标表格在所述Excel表中的第一索引行;
从所述第一索引行开始匹配二级目录的关键词,以获得所述二级目录的第二索引行和第三索引行,所述第二索引行用于索引所述二级目录的开始行,所述第三索引行用于索引所述二级目录的结束行;及
根据所述第二索引行及所述第三索引行,截取所述目标表格,以获得所述二级子目录对应的所述目标子表格。
3.根据权利要求1所述的文档处理方法,其特征在于,所述根据所述起始位置、所述结束位置及所述目标子表格,建立第一数据表,包括:
获取用于索引所述起始位置的第四索引行、及用于索引所述结束位置的第五索引行;
根据所述第四索引行和所述第五索引行,截取所述目标子表格;
根据截取得到的数据,建立第一初始数据表;及
对所述第一初始数据表进行整理,以获得所述第一数据表。
4.根据权利要求3所述的文档处理方法,其特征在于,所述第一初始数据表中首行的数据为每列的列名,所述对所述第一初始数据表进行整理,以获得所述第一数据表,包括:
识别所述第一初始数据表中的是否存在有错位单元格;
若识别到所述错位单元格,根据所述错位单元格的列名,确定所述错位单元格的列邻近单元格是否有数据,所述列邻近单元格与所述错位单元格为邻近列;及
若所述列邻近单元格没有数据,且与所述邻近列单元格的所在行的行邻近单元格有数据,合并所述邻近单元格与所述错位单元格,以获得所述第一数据表。
5.根据权利要求3所述的文档处理方法,其特征在于,所述第一初始数据表中首行的数据为每列的列名,所述对所述第一初始数据表进行整理,以获得所述第一数据表,包括:
判断所述第一初始数据表中是否存在有合并多列的合并行;及
若是,根据所述合并行的数据、及与所述合并行邻近的项目行的数据,合并所述合并行与所述项目行,以获得所述第一数据表。
6.根据权利要求1所述的文档处理方法,其特征在于,所述文档处理方法还包括:
建立第二初始数据表,所述第二初始数据表各个单元格的数据为空;
获取预置的配置文件中每个预定节点的名称;及
将每个所述预定节点的名称输入至所述第二初始数据表中,以得到所述第二数据表,所述第二数据表中每列的列名为每个所述预定节点的名称。
7.根据权利要求1所述的文档处理方法,其特征在于,将所述第一数据表的数据,匹配至预先得到的第二数据表中,包括:
将所述第一数据表的每列的列名、与所述第二数据表的每列的标题进行匹配;及
将所述第一数据表中与所述第二数据表匹配成功的列的数据,输入至所述第二数据表的对应列中。
8.一种文档处理装置,其特征在于,包括:
转换模块,用于将PDF文件转换成Excel表;
确定模块,用于确定所述Excel表中目标表格的位置;
识别模块,用于识别所述目标表格中,目标子表格的起始位置和结束位置;
建立模块,用于根据所述起始位置、所述结束位置及所述目标子表格,建立第一数据表;及
匹配模块,用于将所述第一数据表的数据,匹配至预先得到的第二数据表中,所述第二数据表与数据库匹配。
9.一种电子设备,其特征在于,包括:
一个或多个处理器、存储器;和
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被一个或多个所述处理器执行,所述程序包括用于执行权利要求1至7任意一项所述的文档处理方法的指令。
10.一种包含计算机程序的非易失性计算机可读存储介质,其特征在于,当所述计算机程序被一个或多个处理器执行时,使得所述处理器实现权利要求1至7任意一项所述的文档处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110931607.1A CN113821691A (zh) | 2021-08-13 | 2021-08-13 | 文档处理方法及装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110931607.1A CN113821691A (zh) | 2021-08-13 | 2021-08-13 | 文档处理方法及装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113821691A true CN113821691A (zh) | 2021-12-21 |
Family
ID=78922858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110931607.1A Pending CN113821691A (zh) | 2021-08-13 | 2021-08-13 | 文档处理方法及装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821691A (zh) |
-
2021
- 2021-08-13 CN CN202110931607.1A patent/CN113821691A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6721451B1 (en) | Apparatus and method for reading a document image | |
US11182544B2 (en) | User interface for contextual document recognition | |
CN101770470A (zh) | 一种文件类型识别分析方法及系统 | |
CN112036144B (zh) | 数据解析方法、装置、计算机设备和可读存储介质 | |
CN110688349A (zh) | 一种文档整理方法、装置、终端及计算机可读存储介质 | |
CN111813849A (zh) | 数据抽取方法、装置及设备、存储介质 | |
CN111815162A (zh) | 一种数字化审计工具及方法 | |
CN113962201A (zh) | 一种单证的文本结构化与抽取方法 | |
CN113095044A (zh) | 一种文件转换方法、装置及设备 | |
CN113821691A (zh) | 文档处理方法及装置、电子设备及可读存储介质 | |
CN115422180A (zh) | 数据校验方法及系统 | |
CN113779218A (zh) | 问答对构建方法、装置、计算机设备和存储介质 | |
CN114969242A (zh) | 查询内容自动补全的方法及装置 | |
JP2000003403A (ja) | 帳票入力支援方法 | |
CN102955761A (zh) | 尺寸信息输出系统及方法 | |
JP6968173B2 (ja) | 特許クレームにおける参照を特定するためのシステム及び方法 | |
US10789245B2 (en) | Semiconductor parts search method using last alphabet deletion algorithm | |
CN112115159A (zh) | 一种sql语句的生成方法、装置、电子设备和存储介质 | |
JP2009087378A (ja) | 帳票処理装置 | |
CN116306573B (zh) | 工程做法的智能解析方法、装置、设备和可读存储介质 | |
CN114564472B (zh) | 元数据扩充方法以及存储介质、电子设备 | |
CN116719839B (zh) | 会计档案的数据查询方法、装置和电子设备 | |
JP2023151987A (ja) | 項目名チェック装置、項目名チェック方法、及びプログラム | |
CN114186543A (zh) | 一种药物实验文档的内容分析提取方法、系统和存储介质 | |
CN116502612A (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 |