Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
pdf-miner
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Qin Kaijie
pdf-miner
Commits
81eeef3a
Unverified
Commit
81eeef3a
authored
Apr 22, 2024
by
myhloli
Committed by
GitHub
Apr 22, 2024
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'magicpdf:master' into master
parents
d7128a9d
c23883b6
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
2 deletions
+11
-2
para_split_v2.py
magic_pdf/para/para_split_v2.py
+11
-2
No files found.
magic_pdf/para/para_split_v2.py
View file @
81eeef3a
...
...
@@ -132,7 +132,8 @@ def __valign_lines(blocks, layout_bboxes):
for
layout_box
in
layout_bboxes
:
blocks_in_layoutbox
=
[
b
for
b
in
blocks
if
b
[
"type"
]
==
BlockType
.
Text
and
is_in_layout
(
b
[
'bbox'
],
layout_box
[
'layout_bbox'
])]
if
len
(
blocks_in_layoutbox
)
==
0
:
if
len
(
blocks_in_layoutbox
)
==
0
or
len
(
blocks_in_layoutbox
[
0
][
"lines"
])
==
0
:
new_layout_bboxes
.
append
(
layout_box
[
'layout_bbox'
])
continue
x0_lst
=
np
.
array
([[
line
[
'bbox'
][
0
],
0
]
for
block
in
blocks_in_layoutbox
for
line
in
block
[
'lines'
]])
...
...
@@ -400,6 +401,8 @@ def __connect_list_inter_page(pre_page_paras, next_page_paras, pre_page_layout_b
"""
if
len
(
pre_page_paras
)
==
0
or
len
(
next_page_paras
)
==
0
:
# 0的时候最后的return 会出错
return
False
if
len
(
pre_page_paras
[
-
1
])
==
0
or
len
(
next_page_paras
[
0
])
==
0
:
return
False
if
pre_page_paras
[
-
1
][
-
1
][
"type"
]
!=
BlockType
.
Text
or
next_page_paras
[
0
][
0
][
"type"
]
!=
BlockType
.
Text
:
return
False
if
pre_page_list_info
[
1
]
and
not
next_page_list_info
[
0
]:
# 前一个是列表结尾,后一个是非列表开头,此时检测是否有相同的缩进
...
...
@@ -694,3 +697,9 @@ def para_split(pdf_info_dict, debug_mode, lang="en"):
new_layout_bbox
=
new_layout_of_pages
[
page_num
]
__connect_middle_align_text
(
page_paras
,
new_layout_bbox
,
page_num
,
lang
,
debug_mode
=
debug_mode
)
__merge_signle_list_text
(
page_paras
,
new_layout_bbox
,
page_num
,
lang
)
# layout展平
for
page_num
,
page
in
enumerate
(
pdf_info_dict
.
values
()):
page_paras
=
page
[
'para_blocks'
]
page_blocks
=
[
block
for
layout
in
page_paras
for
block
in
layout
]
page
[
"para_blocks"
]
=
page_blocks
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment