Skip to content

Commit cefbfc6

Browse files
authored
Merge branch 'py-pdf:main' into text-layout-mode
2 parents bb9190b + 89baa2c commit cefbfc6

File tree

3 files changed

+57
-1
lines changed

3 files changed

+57
-1
lines changed

resources/multicolumn-lorem-ipsum.txt

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
Two-Column Document with Lorem Ipsum
2+
3+
Your Name
4+
January 3, 2024
5+
6+
Abstract pellentesque ante. Phasellus adipiscing semper elit.
7+
Proin fermentum massa ac quam. Sed diam turpis,
8+
This is a sample document with two columns filled molestie vitae, placerat a, molestie nec, leo. Maece-
9+
with Lorem Ipsum text. nas lacinia. Nam ipsum ligula, eleifend at, accumsan
10+
Lorem ipsum dolor sit amet, consectetuer adip- nec, suscipit a, ipsum. Morbi blandit ligula feugiat
11+
iscing elit. Ut purus elit, vestibulum ut, placerat magna. Nunc eleifend consequat lorem. Sed lacinia
12+
ac, adipiscing vitae, felis. Curabitur dictum gravida nulla vitae enim. Pellentesque tincidunt purus vel
13+
mauris. Nam arcu libero, nonummy eget, con- magna. Integer non enim. Praesent euismod nunc
14+
sectetuer id, vulputate a, magna. Donec vehicula eu purus. Donec bibendum quam in tellus. Nullam
15+
augue eu neque. Pellentesque habitant morbi tris- cursus pulvinar lectus. Donec et mi. Nam vulpu-
16+
tique senectus et netus et malesuada fames ac turpis tate metus eu enim. Vestibulum pellentesque felis eu
17+
egestas. Mauris ut leo. Cras viverra metus rhon- massa.
18+
cus sem. Nulla et lectus vestibulum urna fringilla Quisque ullamcorper placerat ipsum. Cras nibh.
19+
ultrices. Phasellus eu tellus sit amet tortor gravida Morbi vel justo vitae lacus tincidunt ultrices. Lorem
20+
placerat. Integer sapien est, iaculis in, pretium quis, ipsum dolor sit amet, consectetuer adipiscing elit. In
21+
viverra ac, nunc. Praesent eget sem vel leo ultri- hachabitasseplateadictumst. Integertempusconva-
22+
ces bibendum. Aenean faucibus. Morbi dolor nulla, llis augue. Etiam facilisis. Nunc elementum fermen-
23+
malesuada eu, pulvinar at, mollis ac, nulla. Cur- tum wisi. Aenean placerat. Ut imperdiet, enim sed
24+
abitur auctor semper nulla. Donec varius orci eget gravida sollicitudin, felis odio placerat quam, ac pul-
25+
risus. Duis nibh mi, congue eu, accumsan eleifend, vinar elit purus eget enim. Nunc vitae tortor. Proin
26+
sagittis quis, diam. Duis eget orci sit amet orci dig- tempus nibh sit amet nisl. Vivamus quis tortor vitae
27+
nissim rutrum. risus porta vehicula.
28+
Nam dui ligula, fringilla a, euismod sodales, sollic-
29+
itudin vel, wisi. Morbi auctor lorem non justo. Nam Fusce mauris. Vestibulum luctus nibh at lectus.
30+
lacus libero, pretium at, lobortis vitae, ultricies et, Sed bibendum, nulla a faucibus semper, leo velit ul-
31+
tellus. Donec aliquet, tortor sed accumsan biben- tricies tellus, ac venenatis arcu wisi vel nisl. Vestibu-
32+
dum, erat ligula aliquet magna, vitae ornare odio lum diam. Aliquam pellentesque, augue quis sagittis
33+
metus a mi. Morbi ac orci et nisl hendrerit mollis. posuere, turpis lacus congue quam, in hendrerit risus
34+
Suspendisse ut massa. Cras nec ante. Pellentesque eros eget felis. Maecenas eget erat in sapien mattis
35+
a nulla. Cum sociis natoque penatibus et magnis dis porttitor. Vestibulum porttitor. Nulla facilisi. Sed
36+
parturient montes, nascetur ridiculus mus. Aliquam a turpis eu lacus commodo facilisis. Morbi fringilla,
37+
tincidunturna. Nullaullamcorpervestibulumturpis. wisi in dignissim interdum, justo lectus sagittis dui,
38+
Pellentesque cursus luctus mauris. et vehicula libero dui cursus dui. Mauris tempor
39+
Nulla malesuada porttitor diam. Donec felis erat, ligula sed lacus. Duis cursus enim ut augue. Cras
40+
congue non, volutpat at, tincidunt tristique, libero. ac magna. Cras nulla. Nulla egestas. Curabitur a
41+
Vivamus viverra fermentum felis. Donec nonummy leo. Quisque egestas wisi eget nunc. Nam feugiat
42+
43+
44+
1

tests/test_workflows.py

+12
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
TESTS_ROOT = Path(__file__).parent.resolve()
2525
PROJECT_ROOT = TESTS_ROOT.parent
2626
RESOURCE_ROOT = PROJECT_ROOT / "resources"
27+
SAMPLE_ROOT = PROJECT_ROOT / "sample-files"
2728

2829
sys.path.append(str(PROJECT_ROOT))
2930

@@ -1039,3 +1040,14 @@ def test_cr_with_cm_operation():
10391040
)
10401041
# currently threre is still a white space on last line missing
10411042
# so we can not do a full comparison.
1043+
1044+
1045+
@pytest.mark.samples()
1046+
@pytest.mark.xfail(reason="#2388 implements this")
1047+
def test_text_extraction_layout_mode():
1048+
pdf_path = SAMPLE_ROOT / "026-latex-multicolumn/multicolumn.pdf"
1049+
reader = PdfReader(pdf_path)
1050+
actual = reader.pages[0].extract_text(extraction_mode="layout")
1051+
with open(RESOURCE_ROOT / "multicolumn-lorem-ipsum.txt") as fp:
1052+
expected = fp.read()
1053+
assert actual.strip() == expected.strip()

0 commit comments

Comments
 (0)