CN115510821A - 文档转换方法及装置、计算机可读存储介质、计算机设备 - Google Patents
文档转换方法及装置、计算机可读存储介质、计算机设备 Download PDFInfo
- Publication number
- CN115510821A CN115510821A CN202211332538.3A CN202211332538A CN115510821A CN 115510821 A CN115510821 A CN 115510821A CN 202211332538 A CN202211332538 A CN 202211332538A CN 115510821 A CN115510821 A CN 115510821A
- Authority
- CN
- China
- Prior art keywords
- page
- line
- document
- preset
- column
- 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
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Document Processing Apparatus (AREA)
Abstract
本申请提供一种文档转换方法,包括逐页解析第一文档获得所述第一文档的每页内容的所有元素,每一元素具有位置和内容;将每页内容的所有元素对应映射于每一预设页面;根据在所述每一预设页面中各元素的位置和内容构建出若干文本块和/或若干形状块;按照预设的布局规则确定出每个文本块和/或每个形状块在每一预设页面中的分节和分栏;根据布局好所有元素的每个预设页面生成第二文档。本申请通过对第一文档的每页内容的所有元素按照内容编排添加布局,文档转换前后的各元素的位置基本一致,提升了还原度。此外,本申请还提供一种应用所述文档转换方法的装置、计算机可读存储介质以及计算机设备。
Description
技术领域
本申请涉及文档转换技术领域,尤其涉及一种文档转换方法及装置、计算机可读存储介质、计算机设备。
背景技术
目前的文档各种各样,有不可编辑的文档也有可编辑的文档。例如,PDF和Word文档分别是我们常用的不可编辑的文档和可编辑的文档。由于不可编辑文档的不可编辑特性,在使用文档过程中往往需要将不可编辑的文档转换为可编辑的文档。例如,PDF文档大部分是不可编辑的,也有一部分软件也可以实现PDF文档的编辑功能,但往往不如Word文档方便。因此,用户想使用一些PDF文档中的内容进重新编辑得到新的文档内容时,通常需要将PDF文档转换Word文档。
目前也出现将PDF文档转换为Word文档的方法,然而,由于PDF文档不存在Word文档中以行、节、栏进行的流式布局,目前的转换方法一般仅是根据PDF文档每页的各元素的位置在Word文档中排版,有时候会出现元素重叠或者排错行,也就是说采用目前的转换方法往往出现转换出来的Word文档元素的位置和PDF文档中的位置出现偏差。
发明内容
有鉴于此,实有必要提供一种文档转换方法及装置、计算机可读存储介质及计算机设备,可以提高文档转换的还原度。
第一方面,本申请实施例提供一种文档转换方法,文档转换方法用于将不可编辑的第一文档转换为可编辑的第二文档,所述文档转换方法包括:逐页解析第一文档获得所述的所有元素,第一文档的每页内容的每一元素具有位置和内容;将每页内容的所有元素对应映射于每一预设页面,使所述每一页面包含第一文档中对应页的所有元素;根据在所述每一预设页面中各元素的位置和内容构建出若干文本块和/或若干形状块;按照预设的布局规则确定出每个文本块和/或每个形状块在每一预设页面中的分节和分栏,得到每页内容的所有元素在对应的预设页面中的布局;根据布局好所有元素的每个预设页面生成第二文档;所述第二文档每页的元素布局与对应的预设页面的元素布局相同。
第二方面,本申请实施例提供一种计算机设备,所述计算机设备包括存储器和处理器。存储器,用于存储程序指令。所述处理器,用于执行所述程序指令以实现上述文档转换方法。
第三方面,本申请实施例提供一种文档转换装置,所述文档转换装置包括解析模块、映射模块、构建模块、布局模块、以及生成模块。所述解析模块用于逐页解析第一文档获得所述第一文档每页内容的所有元素,每一元素具有位置和内容。所述映射模块用于将每页内容的所有元素对应映射于每一预设页面,使所述每一页面包含第一文档中对应页的所有元素。所述构建模块用于根据在所述每一预设页面中各元素的位置和内容构建出若干文本块和/或若干形状块。所述布局模块用于按照预设的布局规则确定出每个文本块和/或每个形状块在每一预设页面中的分节和分栏,得到每页内容的所有元素在对应的预设页面中的布局。所述生成模块用于根据布局好所有元素的每个预设页面生成第二文档;所述第二文档每页的元素布局与对应的预设页面的元素布局相同。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序指令,所述计算机程序指令由处理器执行以实现上述文档转换方法。
上述文档转换方法可以将不可编辑的第一文档转换为可编辑的第二文档,且在转换过程中,上述文档转换方法还可以对第一文档每页内容的所有元素添加分节和分栏布局,大大改善了第一文档中所有元素转换至第二文档的时候由于没有布局而出现位置偏差的情况,从而提升了不可编辑文档转换成可编辑文档的还原度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本申请实施例提供的文档转换方法的流程示意图。
图2为本申请实施例提供的第一文档中元素的示意图。
图3为本申请实施例提供的第一文档中一个页面映射到预设页面映射示意图。
图4为本申请实施例提供的在预设页面中创建文本块或者形状块的示意图。
图5为本申请第一实施例提供的文档转换方法的步骤S107的子步骤流程示意图。
图6为本申请第二实施例提供的文档转换方法的步骤S107的子步骤流程示意图。
图7为本申请第三实施例提供的文档转换方法的步骤S107的子步骤流程示意图。
图8为本申请第四实施例提供的文档转换方法的步骤S107的子步骤流程示意图。
图9为本申请第一实施例提供的文档转换方法的步骤S105的子步骤流程示意图。
图10为本申请第二实施例提供的文档转换方法的步骤S105的子步骤流程示意图。
图11为本申请实施例提供的文档转换装置的示意图。
图12为本申请实施例提供的文档转换过程示意图。
图13a为本申请实施例提供的第一文档的双栏页面示意图。
图13b为本申请实施例提供的第一文档的单栏页面示意图。
图14为本申请实施例提供的计算机设备示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的规划对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,换句话说,描述的实施例根据除了这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,还可以包含其他内容,例如,包含了一系栏步骤或单元的过程、方法、系统、产品或设备不必限于只清楚地栏出的那些步骤或单元,而是可包括没有清楚地栏出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本申请提供一种文档转换方法,可以使不可编辑文档转换成可编辑文档,还可将不可编辑文档中每页的内容按照可编辑文档的布局方式进行布局,从而使得转换前后文档的内容布局一样。
请参看图1,其为本申请实施例提供的一种文档转换方法,用于将不可编辑的第一文档转换为可编辑的第二文档。文档转换方法包括下面步骤。
步骤S101,逐页解析第一文档获得所述第一文档的每页内容的所有元素,每一元素具有位置和内容。每一元素的内容为文本内容或者格式内容。
在本实施例中,内容是文本内容的元素为文本元素,内容是格式内容的元素为格式元素。文本内容包括文本、图片、图形等。格式内容包括用于表示文本内容的格式,例如描边、下划线、表格边框、填充、文本高亮、单元格背景色等。如图2所示,内容为文本的元素C1、内容为图片的元素C2为文本元素。内容为背景色的元素S1、内容为下划线的元素S2、内容为矩形框的元素S3为格式元素。
可以理解地,文本内容和表示文本内容的格式内容分别用不同元素表示。第一文档的每页内容可以通过深度学习模型实现或者通过特定的方法来获得。在具体实现时,第一文档可以为PDF文档,第一文档的每页内容为PDF文档中每个PDF页面。PDF文档一般有文本格式的PDF文档和扫描格式的PDF文档。文本格式的PDF文档可以通过PDFium工具进行解析得到。而对于扫描格式的PDF文档往往需要通过深度学习技术解析获得。深度学习模型可采用现有的模型实现,在此不再赘述。可以理解地,在一些可行的实施例中,第一文档还可以是但不限于图片格式文档,如JPG格式文档、PNG格式文档等。
步骤S103,将每页内容的所有元素对应映射于每一预设页面,使所述每一预设页面包含第一文档中对应页的所有元素。
在本实施例中,每一预设页面用于将每页内容的所有元素进行布局。预设页面具有与第二文档相同的布局方法,在预设页面中的元素可以利用布局方法进行布局。更具体地说,第一文档每页内容的所有元素可以在相应的预设页面中进行布局而得到每个元素的布局属性,且布局后得到布局属性可被第二文档所支持。即每个元素在预设页面中进行布局后得到布局属性在第二文档中仍生效。
在本实施例中,本申请提供的文档转换方法还为第一文档的每页创建一个空白的预设页面,并在每一预设页面中对第一文档的每页内容所有元素进行布局从而使每个元素带上布局属性。其中,预设页面的尺寸与PDF文档每页的尺寸匹配。具体地,本申请提供的文档转换方法先解析第一文档中每页的尺寸,如页面的高和宽;然后根据获取得到的页面的高和宽来设定预设页面的高和宽,从而使得第一文档每页和每个预设页面的尺寸相匹配。
在本实施例中,第一文档每页内容的所有元素根据位置一一映射到预设页面中。图3展现了第一文档F中一个页面11所有元素a1~an根据位置一一映射到预设页面X中的示意图。其中,元素a1~an中的位置为坐标(X01,Y01)……(X0n,Y0n),映射到预设页面X后,元素a1~an的位置为坐标(X11,Y11)……(X1n,Y1n),也就是说,元素a1~an中每一个元素在预设页面中都有一个唯一的坐标对应。可以理解地,第二文档是可编辑文档,而可编辑文档通常带有布局属性,从而使用户在编辑内容的时候呈现出较好的布局,以实现内容排版的整齐、规范。不可编辑的第一文档的元素并未具有布局属性。也就是说,第一文档每页内容的所有元素在未映射在预设页面之前,每个元素并未包含布局属性。在本实施例中,预设页面提供了与第二文档相同的布局属性,第一文档每页内容的所有元素在相应的预设页面中布局后,使每个元素带有布局属性。
在具体实现时,第二文档可以为Word文档,Word文档的布局属性包括行、分节、分栏。同样地,预设页面中也提供对应的行、分节、分栏等布局属性。也就是说,没有带有布局属性的各元素在预设页面中进行布局从而获得各元素的行、分节、分栏等布局属性。
步骤S105,根据在所述每一预设页面中各元素的位置和内容构建出若干文本块和/或若干形状块。
在本实施例中,以各元素之间的位置关系结合内容推断出各元素是否可以组合在一起,从而将多个文本元素或者多个形状元素整合在一起形成元素块。也就是说,元素块为文本块或者形状块。其中,多个文本元素整合在一起的元素块为所述文本块。多个形状元素组合在一起形成形状块。
请参看图4,在本实施例中,主要是以各元素之间的位置关系来确定是否将这些元素组合在一起形成元素块。
例如,元素A和元素B在位置上有重叠,且元素A的内容为文本及元素B的内容为图片,则可以将元素A和元素B组合在一起,形成文本块C,即文本块C相当于是带有文字的图片。
又例如,元素D1、元素D2、元素D3都为文本元素,元素D1、元素D2、元素D3分别位于连续的多行且素D1、元素D2、元素D3字体相同且文本长度基本一致则可以把元素D1、元素D2、元素D3组合在一起形成文本块D0,即文本块D0相当于一个文本段落。
在本实施例中,每个文本块包括位置坐标、区域信息、行、及每行的元素。其中文本块的位置坐标用文本块左上角的位置坐标表示。区域信息表示预设页面中被文本块覆盖的尺寸信息,如文本块的高和宽。相应地,形状块也同样包括位置坐标、区域信息、行、及每行的元素。在本实施例中,文本块在预设页面中的行用水平方向上的上、下边线,以及竖直方向上的左、右边线表示。
在本实施例中,在创建每个元素块之前,先确定每个元素的行,也就是说将每个页面中的元素进行分行。在具体实现时,根据每个元素的位置将每个元素划分为同一行。在具体实现时,在竖直方向位置差异不大的元素被划分为一行。
在本实施例中,每行元素的行确定后即根据每行元素的行确定出每个文本块的位置坐标和所覆盖的区域。将文本块中起始行的上边线和结束行的下边线作为文本块的上边线和下边线,将文本块中水平坐标最小的左边线(即最左的左边线)和文本块中水平坐标最大的右边线(即最右的右边线)作为文本块的左边线和右边线,从而确定出区域信息。如此,所有元素就位于文本块或者形状块所覆盖的区域。经过文本块或者形状块的构建,可以防止各元素中出现错行、溢出或者字体大小被改变。
下面以如图4所示的元素块D0为例介绍文本块的构建。元素块D0中的元素D1、D2、D3分别位于不同的行,其中,元素D1所在的行为元素块D0的起始行,则将元素D1所在的行的上边线作为元素块D0的上边线L1。元素D3所在的行为元素块D0的结束行,将元素D3所在的行的下边线作为元素块D0的下边线L2。元素D2所在的行的左边线是位于元素块D0中最左边的线,因此,将元素D2所在的行的左边线作为元素块D0的左边线。元素D1所在的行的右边线是位于元素块D0中最右边的线,因此,将元素D1所在的行的右边线作为元素块D0的右边线。元素块D0的上、下、左、右边线L1-L4确定出元素块D0所覆盖的区域而得到元素块D0的区域信息。根据元素块D0所覆盖的区域可以确定出元素块D0左上角的坐标。
可以理解地,构建文本块时,先根据各元素的位置确定出各元素块的行;再根据行确定文本块区域,从而可以确定出各文本块的位置坐标即文本块左上角的位置坐标,以及确定出文本块的区域信息即宽和高。
请再次参看图4,又例如,元素E1~E10是多组相互交叉的边框线,则元素E1~E10组合起来形成形状块E0,形状块相当于一个表格。又例如,多个元素是表示一个文本块的格式,则将多个元素组合一起形成元素块,即形状块。同样地,形状块也包括位置坐标、区域信息、行、及每行的元素。即可以理解地,元素块的构建方法可以根据PDF中不同的内容形式设置对应的规则,从而根据规则构建出各元素块。亦可以理解的是,将多个元素组合在一起形成元素块后再进行布局,只需要对元素块的布局进行计算,无需对每个元素的布局进行计算,可以大大减少计算每个元素的布局的运算量。下文将以表格为例描述形状块的创建过程,具体内容请参看下文构建出形状块相关描述。
步骤S107,按照预设的布局规则确定出每个文本块和/或每个形状块在每一预设页面中的分节和分栏,得到每页内容的所有元素在对应的预设页面中的布局。
在本实施例中,按照预设的布局规则确定出每个文本块和/或每个形状块在每一预设页面中的分节和分栏具体为按照预设的布局规则确定出每个文本块和/或每个形状块在每一预设页面中的分节,然后再确定出每个文本块和/或每个形状块的分栏。
优选地,按照预设的布局规则确定出每个文本块的分节,然后再确定出各文本块的分栏。然后再根据各文本块的分节和分栏确定出对应的形状块的分节和分栏。其中,形状块的布局是根据文本块的布局确定的,相对应的文本块和形状块放在同一个分节和分栏中。其中,如何确定分节和分栏将在下文进行描述。
步骤S109,根据布局好所有元素的每个预设页面生成第二文档,且所述第二文档为可编辑文档。所述第二文档每页的元素布局与对应的预设页面的元素布局相同。
可以理解地,每页内容的所有元素在相应的预设页面中布局属性确定后,即确定了每个预设页面的各元素的布局,布局好所有元素的每个预设页面相应地转换后即可得到第二文档,然后将第二文档保存。如图12所示,第一文档的页面F,将第一文档的页面F中的元素映射到预设页面X中并在预设页面中进行布局,然后生成第二文档W。以第二文档W为Word文档为例,可以理解地,在本方法中,预设页面X用XML文件创建。
请参看图5,其为本申请第一实施例提供的步骤S107的子步骤流程图。步骤S107进一步包括步骤S500-S508。在本实施例中,步骤S500-S508实现了如何对元素进行分节。
步骤S500,逐行计算出每一行的各个文本块之间的间隙。
步骤S502,根据各个文本块之间的间隙确定出所述每一行的分栏数量,其中,当两个文本块之间的间隙大于第一预设值时,确定所述两个文本块位于两个不同分栏;当两个文本块之间的间隙小于或者等于第一预设值,确定所述两个文本块位于同一分栏。
步骤S504,逐行检测每一行的分栏数量。
步骤S506,当一行的分栏数量与所述行的前一行的分栏数量不同,将所述行与所述行的前一行分在不同的分节中。
步骤S508,当一行的分栏数量与所述行的前一行的分栏数量相同,将所述行与所述行的前一行分在同一分节中。
可以理解地,在一个分节中的各行元素,其分栏数量应该相同,也就布局需要是一致的。因此,在本实施例中以上下行的分栏数量来确定是否将上下行划分为同一个分节还是不同的分节。
请参看图6,其为本申请第二实施例提供的步骤S107的子步骤流程图。步骤S107进一步包括步骤S600-S604。在本实施例中,所述每行的分栏为单栏或者双栏,如图13a和13b所示,第一文档的版面相当于双栏的页面如页面F1所示,第一文档的版面相当于单栏的页面如F2所示。步骤S600-S604实现了对元素进行对每行元素的分栏的一种方法。
步骤S600,逐行计算出每一行的各个文本块之间的间隙。
步骤S602,根据各个文本块之间的间隙确定出所述每一行的分栏数量,其中,当两个文本块之间的间隙大于第一预设值时,确定所述两个文本块位于两个不同分栏;当两个文本块之间的间隙小于或者等于第一预设值,确定所述两个文本块位于同一分栏。
步骤S604,若一行的分栏数量大于二时,将所述行设置为单栏。
上述实施例中,将分栏数量大于二的行设置为单栏。在PDF文件中一般最多只有两栏,因此当超过两栏则表示每行的文本块并没有分栏,而是因为文本块的编排导致的,因此,将这样的行确定为单栏,从而快捷地确定出分栏数大于二的行的分栏。
请参看图7,其为本申请第三实施例提供的步骤S107的子步骤流程图。步骤S107进一步还包括步骤S700-S704。
步骤S700,若一行的分栏数量等于二,且所述行存在一栏的分栏宽度小于第二预设值时,将所述行设置为单栏。
可以理解地,一行分栏数量等于二但是分栏的宽度比较小,则表示本行的文本块并没有分栏,从而视为单栏,即快捷的确定出分栏数量等于二但栏宽较小的行的分栏。
在本实施例中,若一行的分栏数量等于二时但分栏宽度不小于预设值,还可以通过下面步骤进一步确定所述行的分栏。
步骤S702,若一行的分栏数量等于二时,检测所述行的前一个分节的分栏数量、所述前一个分节的分栏分割线、所述行所在的分节的分栏分割线。
步骤S704,若所述行的前一个分节的分栏数量也等于二,且前一分节的分栏分割线与所述行所在的分节的分栏分割线不重合时,将所述行设置为单栏。
可以理解地,在步骤S702-步骤S704中,通常情况下,如果连续的行是双栏,则分割线应当是重合的,而同一分节中的行要不都是单栏要不都是双栏,因此,一行分栏数量等于二但是前一个分节的分栏的分割线与所述行所在的分节的分栏分割线不重合,则表示所述行并没有进行分栏,从而视为单栏,即快捷的确定出分栏数量等于二但分栏分割线与前一节的分栏分割线不重合的行视为单栏。
通过上述实施例,本申请可以将一行的分栏数量等于二的情况下进行分栏。
请参看图8,其为本申请第四实施例提供的步骤S107的子步骤流程图。步骤S107进一步还包括步骤S800-S808。
步骤S800,若一行的分栏数量等于一且所述行的前一个分节的分栏数量为二时,判断所述行的文本块是否完全位于所述行的前一个分节的左分栏。其中,在一个分节中从左到右排列,左边的分栏为左分栏,右边的分栏为右分栏。
步骤S802,当所述行的文本块完全位于所述行的前一个分节的左分栏时,将所述行设置为双栏。
在本实施例中,若一行的分栏数量等于一且所述行的前一个分节的分栏数量为二,但所述行的文本块并未完全位于所述前一个分节的左分栏时,还可以通过下面步骤进一步确定所述行的分栏。
步骤S804,若一行的分栏数量等于一且所述行的前一个分节的分栏数量为二时,检测所述行的前一个分节的高度。
步骤S806,判断所述行的前一个分节的高度是否小于第三预设值。
步骤S808,当所述行的前一个分节的高度小于第三预设值时,将所述行设置为单栏,并将所述行的前一个分节的分栏调整为单栏。
通过本实施例,本申请可以将一行的分栏数量等于一的情况下如何确定所述行的分栏。
可以理解地,本申请中不管是分节还是确定单双栏,皆是逐行进行并且依据每行元素中分栏数量来确定。
请结合参看图9,其为本申请第一实施例提供的步骤S105的子步骤流程图。步骤S105进一步包括步骤S900-S908。在本实施例中,实现了如何构建出形状块。在本实施例中,构建的是显性的表格形状块,也就是说,在PDF文档中显示出边框线的表格的区域。
步骤S900,检测否存在一组或者多组相交的边框线,每一边框线对应一个元素。
步骤S902,若存在多组相交的边框线,将所述多组相交的边框线所对应区域确定为潜在显式表格区域得到一个形状块的区域信息。
步骤S904,根据所述一组或者多组相交的边框线确定出所述潜在显式表格区域的表格结构得到一个或者多个单元格。例如,可以利用假想的水平线和竖直线分别计算水平线和竖直线是否与竖直边框线或者水平边框线存在相交的点,如果不存在相交的点,说明在存在水平或者竖直方向上的合并单元格,从而得到显式表格区域的表格结构。
步骤S906,将所述单元格所对应的区域确认为各单元格的区域信息。
步骤S908,根据形状块的区域信息、各单元格的区域信息、各边框线对应的元素得到对应的显性表格形状块。
在本实施例中,通过对显性表格区域的识别,将对应区域中的文本块设置成表格格式,从而提升在可编辑的第二文档中进行编辑的便利性和满足布局需求。
请结合参看图10,其为本申请第二实施例提供的步骤S105的子步骤流程图。步骤S105进一步包括步骤S1001-S1009。在本实施例中,构建的是隐形的表格形状块,也就是说,在PDF文档中没有显示边框线但需要用来表格来对相应的文本块进行布局的区域。例如,有些区域的内容虽然不是表格,但是编辑的时候可以整体移动,例如未带边框但呈表格布局的文本块,在可编辑文档中,对这些文本块的编辑为了布局需要,需要用设置表格。
步骤S1001,根据各文本块之间的位置关系确定出潜在隐式表格区域。
步骤S1003,确定出所述潜在的隐式表格区域的假想边框线,每一假想边框线用假想元素表示,所述假想元素包括位置和格式内容。
步骤S1005,根据所述假想边框线确定出所述潜在隐式表格区域的表格结构得到一个或者多个单元格。具体实现方法同步骤S904。
步骤S1007,将所述单元格所对应的区域确认为各单元格的区域信息。
步骤S1009,根据形状块的区域信息、各单元格的区域信息、各假想边框线对应的假想元素得到对应的隐形表格形状块。
在本实施例中,通过对隐形表格区域的识别和添加假想的边框线将该区域中的文本块内容设置成表格格式,从而提升在可编辑的第二文档中进行编辑的便利性和满足布局需求。
请参看图11,其为文档转换装置100的功能模块示意图。文档转换装置100用于将不可编辑的第一文档转换为可编辑的第二文档。其中,文档转换装置100包括解析模块101、映射模块103、构建模块105、布局模块107、以及生成模块109。
解析模块101,用于逐页解析第一文档获得所述第一文档每页内容的所有元素,每一元素具有位置和内容。解析模块101具体实现过程可参照上述步骤S101中描述实现,在此不再赘述。
映射模块103,用于将每页内容的所有元素对应映射于每一预设页面,使所述每一预设页面包含第一文档中对应页的所有元素。映射模块103可参照上述步骤S103的描述,在此不再赘述。
构建模块105,用于根据在所述每一预设页面中各元素的位置和内容构建出若干文本块和/或若干形状块。构建模块105可参照上述步骤S105及其子步骤的描述,在此不再赘述。
布局模块107,用于按照预设的布局规则确定出每个文本块和/或每个形状块在每一预设页面中的分节和分栏,得到每页内容的所有元素在对应的预设页面中的布局。布局模块107可参照上述步骤S107及其子步骤的描述,在此不再赘述。
生成模块109,用于根据布局好所有元素的每个预设页面生成第二文档,且所述第二文档为可编辑文档;所述第二文档每页的元素布局与对应的预设页面的元素布局相同。生成模块109可参照上述步骤S109的描述,在此不再赘述。
请参看图14,其为本申请实施例提供的计算机设备的内部结构示意图。计算机设备10包括存储器11和处理器12。存储器11用于存储程序指令,处理器12用于执行程序指令以实现上述文档转换的方法。
其中,处理器12在一些实施例中可以是一中央处理器(Central ProcessingUnit,CPU)、控制器、微控制器、微处理器或其它数据处理芯片,用于运行存储器11中存储的程序指令。
存储器11至少包括一种类型的可读存储介质,该可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是计算机设备的内部存储单元,例如计算机设备的硬盘。存储器11在另一些实施例中也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(FlashCard)等。进一步地,存储器11还可以既包括计算机设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于计算机设备的应用软件及各类数据,例如实现文档转换方法的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘且本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
以上所栏举的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属于本申请所涵盖的范围。
Claims (12)
1.一种文档转换方法,文档转换方法用于将不可编辑的第一文档转换为可编辑的第二文档,其特征在于,所述文档转换方法包括:
逐页解析第一文档获得所述第一文档每页内容的所有元素,每一元素具有位置和内容;
将每页内容的所有元素对应映射于每一预设页面,使所述每一预设页面包含第一文档中对应页的所有元素;
根据在所述每一预设页面中各元素的位置和内容构建出若干文本块和/或若干形状块;
按照预设的布局规则确定出每个文本块和/或每个形状块在每一预设页面中的分节和分栏,得到每页内容的所有元素在对应的预设页面中的布局;以及
根据布局好所有元素的每个预设页面生成第二文档,所述第二文档每页的元素布局与对应的预设页面的元素布局相同。
2.如权利要求1所述的文档转换方法,其特征在于,按照预设的布局规则确定出每个文本块和/或每个形状块在每一预设页面中的分节和分栏,得到每页内容的所有元素在对应的预设页面中的布局具体为:先确定分节后确定分栏。
3.如权利要求2所述的文档转换方法,其特征在于,所述文本块包括一行或者多行,每行的分栏为单栏或者双栏;按照预设的布局规则确定出每个文本块和/或每个形状块在每一预设页面中的分栏包括:
逐行计算出每一行的各个文本块之间的间隙;
根据各个文本块之间的间隙确定出所述每一行的分栏数量,其中,当两个文本块之间的间隙大于第一预设值时,确定所述两个文本块位于两个不同分栏;当两个文本块之间的间隙小于或者等于第一预设值时,确定所述两个文本块位于同一分栏;
若一行的分栏数量大于二时,将所述行设置为单栏。
4.如权利要求3所述的文档转换方法,其特征在于,按照预设的布局规则确定出每个文本块和/或每个形状块在每一预设页面中的分栏还包括:
若一行的分栏数量等于二,且所述行存在一栏的分栏宽度小于第二预设值时,将所述行设置为单栏;所述分栏宽度为同一栏的所有文本块的宽度;或者
若一行的分栏数量等于二时,检测所述行的前一个分节的分栏数量、所述前一个分节的分栏分割线、所述行所在的分节的分栏分割线;
若所述行的前一个分节的分栏数量也等于二,且所述前一分节的分栏分割线与所述行所在的分节的分栏分割线不重合时,将所述行设置为单栏。
5.如权利要求4所述的文档转换方法,其特征在于,按照预设的布局规则确定出每个文本块和/或每个形状块在每一预设页面中的分栏还包括:
若一行的分栏数量等于一且所述行的前一个分节的分栏数量为二时,判断所述行的文本块是否完全位于所述行的前一个分节的左分栏,其中,在一个分节中从左到右排列,左边的分栏为左分栏,右边的分栏为右分栏;
当所述行的文本块完全位于所述行的前一个分节的左分栏时,将所述行设置为双栏;或者
若一行的分栏数量等于一且所述行的前一个分节的分栏数量为二时,检测所述行的前一个分节的高度;
判断所述行的前一个分节的高度是否小于第三预设值;
当所述行的前一个分节的高度小于第三预设值时,将所述行的前一个分节的分栏调整为单栏。
6.如权利要求1所述的文档转换方法,其特征在于,所述形状块包括表格形状块。
7.如权利要求6所述的文档转换方法,其特征在于,根据在所述每一预设页面中各元素的位置和内容构建出若干形状块包括:
检测是否存在一组或者多组相交的边框线,每一边框线对应一个元素;
若存在多组相交的边框线,将所述多组相交的边框线所对应区域确定为潜在显式表格区域得到一个形状块的区域信息;
根据所述一组或者多组相交的边框线确定出所述潜在显式表格区域的表格结构得到一个或者多个单元格;
将所述单元格所对应的区域确认为各单元格的区域信息;
根据形状块的区域信息、各单元格的区域信息、各边框线对应的元素得到对应的显性表格形状块。
8.如权利要求7所述的文档转换方法,其特征在于,根据在所述每一预设页面中各元素的位置和内容构建出若干形状块还包括:
根据各文本块之间的位置关系确定出潜在隐式表格区域;
确定出所述潜在隐式表格区域的假想边框线,每一假想边框线用假想元素表示,所述假想元素包括位置和格式内容;
根据所述假想边框线确定出所述潜在隐式表格区域的表格结构得到一个或者多个单元格;
将所述单元格所对应的区域确认为各单元格的区域信息;
根据形状块的区域信息、各单元格的区域信息、各假想边框线对应的假想元素得到对应的隐形表格形状块。
9.如权利要求3所述的文档转换方法,其特征在于,按照预设的布局规则确定出每个文本块和/或每个形状块在每一预设页面中的分节还包括:
逐行检测每一行的分栏数量;
当一行的分栏数量与所述行的前一行的分栏数量不同,将所述行与所述行的前一行分在不同的分节中;
当一行的分栏数量与所述行的前一行的分栏数量相同,将所述行与所述行的前一行分在同一分节中。
10.一种实现文档转换的计算机设备,其特征在于,包括:
存储器,用于存储程序指令;以及
处理器,用于执行所述程序指令以实现如权利要求1至9中任一项所述的文档转换方法。
11.一种文档转换装置,其特征在于,包括:
解析模块,用于逐页解析第一文档获得所述第一文档每页内容的所有元素,每一元素具有位置和内容;
映射模块,用于将每页内容的所有元素对应映射于每一预设页面,使所述每一预设页面包含第一文档中对应页的所有元素;
构建模块,用于根据在所述每一预设页面中各元素的位置和内容构建出若干文本块和/或若干形状块;
布局模块,用于按照预设的布局规则确定出每个文本块和/或每个形状块在每一预设页面中的分节和分栏,得到每页内容的所有元素在对应的预设页面中的布局;以及
生成模块,用于根据布局好所有元素的每个预设页面生成第二文档,所述第二文档每页的元素布局与对应的预设页面的元素布局相同。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序指令,所述计算机程序指令由处理器执行以实现如权利要求1~9任一项所述的文档转换方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211332538.3A CN115510821A (zh) | 2022-10-28 | 2022-10-28 | 文档转换方法及装置、计算机可读存储介质、计算机设备 |
PCT/CN2023/091535 WO2024087566A1 (zh) | 2022-10-28 | 2023-04-28 | 文档转换方法及装置、计算机可读存储介质、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211332538.3A CN115510821A (zh) | 2022-10-28 | 2022-10-28 | 文档转换方法及装置、计算机可读存储介质、计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115510821A true CN115510821A (zh) | 2022-12-23 |
Family
ID=84511518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211332538.3A Pending CN115510821A (zh) | 2022-10-28 | 2022-10-28 | 文档转换方法及装置、计算机可读存储介质、计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115510821A (zh) |
WO (1) | WO2024087566A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024087566A1 (zh) * | 2022-10-28 | 2024-05-02 | 深圳市网旭科技有限公司 | 文档转换方法及装置、计算机可读存储介质、计算机设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582934B (zh) * | 2018-12-04 | 2023-02-10 | 万兴科技股份有限公司 | 版式文档的转换方法及装置 |
CN113361257B (zh) * | 2021-06-29 | 2022-10-11 | 深圳壹账通智能科技有限公司 | Pdf文档解析方法、系统、电子装置及存储介质 |
CN115114481A (zh) * | 2022-06-09 | 2022-09-27 | 抖音视界有限公司 | 文档格式转换方法、装置、存储介质及设备 |
CN115510821A (zh) * | 2022-10-28 | 2022-12-23 | 深圳市网旭科技有限公司 | 文档转换方法及装置、计算机可读存储介质、计算机设备 |
-
2022
- 2022-10-28 CN CN202211332538.3A patent/CN115510821A/zh active Pending
-
2023
- 2023-04-28 WO PCT/CN2023/091535 patent/WO2024087566A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024087566A1 (zh) * | 2022-10-28 | 2024-05-02 | 深圳市网旭科技有限公司 | 文档转换方法及装置、计算机可读存储介质、计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2024087566A1 (zh) | 2024-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8321783B2 (en) | Visualizing content positioning within a document using layers | |
CN101308488B (zh) | 基于版式文件的文档流式信息处理方法及装置 | |
KR102197501B1 (ko) | 고정 서식 문서에서의 동아시아 레이아웃 특징들의 검출 및 재구성 | |
KR101334483B1 (ko) | 문서를 디지털화하는 장치 및 방법과, 컴퓨터 판독가능 기록 매체 | |
US9043698B2 (en) | Method for users to create and edit web page layouts | |
US8600164B2 (en) | Method and tool for recognizing a hand-drawn table | |
US7555711B2 (en) | Generating a text layout boundary from a text block in an electronic document | |
US7750924B2 (en) | Method and computer-readable medium for generating graphics having a finite number of dynamically sized and positioned shapes | |
US8515176B1 (en) | Identification of text-block frames | |
US7337393B2 (en) | Methods and systems for providing an editable visual formatting model | |
US20100153834A1 (en) | Business form creating system, network system using the same, and business form creating method | |
WO2024087566A1 (zh) | 文档转换方法及装置、计算机可读存储介质、计算机设备 | |
US9734132B1 (en) | Alignment and reflow of displayed character images | |
CN111309671A (zh) | 一种web报表导出PDF的方法、装置及存储介质 | |
JP2010108208A (ja) | 文書処理装置 | |
CN109656652B (zh) | 网页图表绘制方法、装置、计算机设备和存储介质 | |
CN112417826B (zh) | Pdf在线编辑方法、装置、电子设备和可读存储介质 | |
US20090106648A1 (en) | Positioning content using a grid | |
CN112416340A (zh) | 基于草图的网页生成方法和系统 | |
CN103488619B (zh) | 一种用于进行文档文件处理的方法及装置 | |
CN113096217B (zh) | 图片生成方法、装置、电子设备以及存储介质 | |
US20120102394A1 (en) | Application of path-fill algorithm to text layout around objects | |
JP2011118818A (ja) | 画像処理装置 | |
US20240202428A1 (en) | Method, device, computer equipment and storage medium for processing pdf files | |
JP2012243121A (ja) | データ作成装置、データ作成プログラム、記録媒体およびデータ作成方法 |
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 |