current working example

This commit is contained in:
Niklas Müller 2024-01-05 11:53:12 +01:00
parent 95661fb73e
commit f19c7861b0
14 changed files with 379 additions and 45 deletions

1
tests/__init__.py Normal file
View file

@ -0,0 +1 @@
# __init__.py

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,198 @@
%PDF-1.3
%âãÏÓ
1 0 obj
<<
/Type /Catalog
/Outlines 2 0 R
/Pages 3 0 R
>>
endobj
2 0 obj
<<
/Type /Outlines
/Count 0
>>
endobj
3 0 obj
<<
/Type /Pages
/Count 2
/Kids [ 4 0 R 6 0 R ]
>>
endobj
4 0 obj
<<
/Type /Page
/Parent 3 0 R
/Resources <<
/Font <<
/F1 9 0 R
>>
/ProcSet 8 0 R
>>
/MediaBox [0 0 612.0000 792.0000]
/Contents 5 0 R
>>
endobj
5 0 obj
<< /Length 1074 >>
stream
2 J
BT
0 0 0 rg
/F1 0027 Tf
57.3750 722.2800 Td
( A Simple PDF File ) Tj
ET
BT
/F1 0010 Tf
69.2500 688.6080 Td
( This is a small demonstration .pdf file - ) Tj
ET
BT
/F1 0010 Tf
69.2500 664.7040 Td
( just for use in the Virtual Mechanics tutorials. More text. And more ) Tj
ET
BT
/F1 0010 Tf
69.2500 652.7520 Td
( text. And more text. And more text. And more text. ) Tj
ET
BT
/F1 0010 Tf
69.2500 628.8480 Td
( And more text. And more text. And more text. And more text. And more ) Tj
ET
BT
/F1 0010 Tf
69.2500 616.8960 Td
( text. And more text. Boring, zzzzz. And more text. And more text. And ) Tj
ET
BT
/F1 0010 Tf
69.2500 604.9440 Td
( more text. And more text. And more text. And more text. And more text. ) Tj
ET
BT
/F1 0010 Tf
69.2500 592.9920 Td
( And more text. And more text. ) Tj
ET
BT
/F1 0010 Tf
69.2500 569.0880 Td
( And more text. And more text. And more text. And more text. And more ) Tj
ET
BT
/F1 0010 Tf
69.2500 557.1360 Td
( text. And more text. And more text. Even more. Continued on page 2 ...) Tj
ET
endstream
endobj
6 0 obj
<<
/Type /Page
/Parent 3 0 R
/Resources <<
/Font <<
/F1 9 0 R
>>
/ProcSet 8 0 R
>>
/MediaBox [0 0 612.0000 792.0000]
/Contents 7 0 R
>>
endobj
7 0 obj
<< /Length 676 >>
stream
2 J
BT
0 0 0 rg
/F1 0027 Tf
57.3750 722.2800 Td
( Simple PDF File 2 ) Tj
ET
BT
/F1 0010 Tf
69.2500 688.6080 Td
( ...continued from page 1. Yet more text. And more text. And more text. ) Tj
ET
BT
/F1 0010 Tf
69.2500 676.6560 Td
( And more text. And more text. And more text. And more text. And more ) Tj
ET
BT
/F1 0010 Tf
69.2500 664.7040 Td
( text. Oh, how boring typing this stuff. But not as boring as watching ) Tj
ET
BT
/F1 0010 Tf
69.2500 652.7520 Td
( paint dry. And more text. And more text. And more text. And more text. ) Tj
ET
BT
/F1 0010 Tf
69.2500 640.8000 Td
( Boring. More, a little more text. The end, and just as well. ) Tj
ET
endstream
endobj
8 0 obj
[/PDF /Text]
endobj
9 0 obj
<<
/Type /Font
/Subtype /Type1
/Name /F1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
>>
endobj
10 0 obj
<<
/Creator (Rave \(http://www.nevrona.com/rave\))
/Producer (Nevrona Designs)
/CreationDate (D:20060301072826)
>>
endobj
xref
0 11
0000000000 65535 f
0000000019 00000 n
0000000093 00000 n
0000000147 00000 n
0000000222 00000 n
0000000390 00000 n
0000001522 00000 n
0000001690 00000 n
0000002423 00000 n
0000002456 00000 n
0000002574 00000 n
trailer
<<
/Size 11
/Root 1 0 R
/Info 10 0 R
>>
startxref
2714
%%EOF

View file

@ -0,0 +1,15 @@
import pytest
import os
from pdf_util.pdf_project_manager import pdf_project_manager
def test_basic_object_creation():
test_pdf_project_manager = pdf_project_manager()
print(test_pdf_project_manager.uuid)
assert len(test_pdf_project_manager.uuid) == 36
def test_folder_creation():
test_pdf_project_manager = pdf_project_manager()
print(test_pdf_project_manager.uuid)
assert os.path.isdir('/app/projects/' + test_pdf_project_manager.uuid)

58
tests/test_pdf_util.py Normal file
View file

@ -0,0 +1,58 @@
import pytest
import os
from pdf_util.pdf_util import pdf_util
def test_split_pages():
# Single Pages
test_file = pdf_util("/app/tests/sample_pdfs/sample_1_page.pdf").split_pdf()
print(test_file)
print(os.stat("/app/tests/sample_pdfs/split_pdf/sample_1_page_1.pdf").st_size)
assert os.stat("/app/tests/sample_pdfs/split_pdf/sample_1_page_1.pdf").st_size == 69339
# Two Pages
test_file = pdf_util("/app/tests/sample_pdfs/sample_2_page.pdf").split_pdf()
print(test_file)
print(os.stat("/app/tests/sample_pdfs/split_pdf/sample_2_page_1.pdf").st_size)
assert os.stat("/app/tests/sample_pdfs/split_pdf/sample_2_page_1.pdf").st_size == 1804
print(os.stat("/app/tests/sample_pdfs/split_pdf/sample_2_page_2.pdf").st_size)
assert os.stat("/app/tests/sample_pdfs/split_pdf/sample_2_page_2.pdf").st_size == 1405
# Ten Pages
test_file = pdf_util("/app/tests/sample_pdfs/sample_10_page.pdf").split_pdf()
print(test_file)
print(os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_1.pdf").st_size)
assert os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_1.pdf").st_size == 3167
print(os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_2.pdf").st_size)
assert os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_2.pdf").st_size == 2888
print(os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_3.pdf").st_size)
assert os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_3.pdf").st_size == 6670
print(os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_4.pdf").st_size)
assert os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_4.pdf").st_size == 3043
print(os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_5.pdf").st_size)
assert os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_5.pdf").st_size == 9968
print(os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_6.pdf").st_size)
assert os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_6.pdf").st_size == 5367
print(os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_7.pdf").st_size)
assert os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_7.pdf").st_size == 10093
print(os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_8.pdf").st_size)
assert os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_8.pdf").st_size == 8578
print(os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_9.pdf").st_size)
assert os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_9.pdf").st_size == 30188
print(os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_10.pdf").st_size)
assert os.stat("/app/tests/sample_pdfs/split_pdf/sample_10_page_10.pdf").st_size == 3789
def test_merge_with():
# Write test code to verify the behavior of the merge_with method
pass
def test_rotate_pages():
# Write test code to verify the behavior of the rotate_pages method
pass
def test_ocr_pages():
# Write test code to verify the behavior of the rotate_pages method
pass