diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info')
5 files changed, 314 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/INSTALLER b/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/LICENSE b/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/LICENSE new file mode 100644 index 00000000..ab327d03 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/LICENSE @@ -0,0 +1,29 @@ +Copyright (c) 2006-2008, Mathieu Fenniak +Some contributions copyright (c) 2007, Ashish Kulkarni <kulkarni.ashish@gmail.com> +Some contributions copyright (c) 2014, Steve Witham <switham_github@mac-guyver.com> + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. +* The name of the author may not be used to endorse or promote products +derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/METADATA b/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/METADATA new file mode 100644 index 00000000..41e2cbb0 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/METADATA @@ -0,0 +1,172 @@ +Metadata-Version: 2.1 +Name: pypdf +Version: 4.3.1 +Summary: A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files +Author-email: Mathieu Fenniak <biziqe@mathieu.fenniak.net> +Maintainer-email: Martin Thoma <info@martin-thoma.de> +Requires-Python: >=3.6 +Description-Content-Type: text/markdown +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: BSD License +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Operating System :: OS Independent +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Typing :: Typed +Requires-Dist: typing_extensions >= 4.0; python_version < '3.11' +Requires-Dist: dataclasses; python_version < '3.7' +Requires-Dist: cryptography ; extra == "crypto" and ( python_version >= '3.7') +Requires-Dist: PyCryptodome ; extra == "crypto" and ( python_version == '3.6') +Requires-Dist: black ; extra == "dev" +Requires-Dist: pip-tools ; extra == "dev" +Requires-Dist: pre-commit<2.18.0 ; extra == "dev" +Requires-Dist: pytest-cov ; extra == "dev" +Requires-Dist: pytest-socket ; extra == "dev" +Requires-Dist: pytest-timeout ; extra == "dev" +Requires-Dist: flit ; extra == "dev" +Requires-Dist: wheel ; extra == "dev" +Requires-Dist: pytest-xdist ; extra == "dev" +Requires-Dist: sphinx ; extra == "docs" +Requires-Dist: sphinx_rtd_theme ; extra == "docs" +Requires-Dist: myst_parser ; extra == "docs" +Requires-Dist: cryptography ; extra == "full" and ( python_version >= '3.7') +Requires-Dist: PyCryptodome ; extra == "full" and ( python_version == '3.6') +Requires-Dist: Pillow>=8.0.0 ; extra == "full" +Requires-Dist: Pillow>=8.0.0 ; extra == "image" +Project-URL: Bug Reports, https://github.com/py-pdf/pypdf/issues +Project-URL: Changelog, https://pypdf.readthedocs.io/en/latest/meta/CHANGELOG.html +Project-URL: Documentation, https://pypdf.readthedocs.io/en/latest/ +Project-URL: Source, https://github.com/py-pdf/pypdf +Provides-Extra: crypto +Provides-Extra: dev +Provides-Extra: docs +Provides-Extra: full +Provides-Extra: image + +[](https://badge.fury.io/py/pypdf) +[](https://pypi.org/project/pypdf/) +[](https://pypdf.readthedocs.io/en/stable/) +[](https://github.com/py-pdf/pypdf) +[](https://codecov.io/gh/py-pdf/pypdf) + +# pypdf + +pypdf is a free and open-source pure-python PDF library capable of splitting, +[merging](https://pypdf.readthedocs.io/en/stable/user/merging-pdfs.html), +[cropping, and transforming](https://pypdf.readthedocs.io/en/stable/user/cropping-and-transforming.html) +the pages of PDF files. It can also add +custom data, viewing options, and +[passwords](https://pypdf.readthedocs.io/en/stable/user/encryption-decryption.html) +to PDF files. pypdf can +[retrieve text](https://pypdf.readthedocs.io/en/stable/user/extract-text.html) +and +[metadata](https://pypdf.readthedocs.io/en/stable/user/metadata.html) +from PDFs as well. + +See [pdfly](https://github.com/py-pdf/pdfly) for a CLI application that uses pypdf to interact with PDFs. + +## Installation + +Install pypdf using pip: + +``` +pip install pypdf +``` + +For using pypdf with AES encryption or decryption, install extra dependencies: + +``` +pip install pypdf[crypto] +``` + +> **NOTE**: `pypdf` 3.1.0 and above include significant improvements compared to +> previous versions. Please refer to [the migration +> guide](https://pypdf.readthedocs.io/en/latest/user/migration-1-to-2.html) for +> more information. + +## Usage + +```python +from pypdf import PdfReader + +reader = PdfReader("example.pdf") +number_of_pages = len(reader.pages) +page = reader.pages[0] +text = page.extract_text() +``` + +pypdf can do a lot more, e.g. splitting, merging, reading and creating +annotations, decrypting and encrypting, and more. Check out [the +documentation](https://pypdf.readthedocs.io/en/stable/) for additional usage +examples! + +For questions and answers, visit +[StackOverflow](https://stackoverflow.com/questions/tagged/pypdf) +(tagged with [pypdf](https://stackoverflow.com/questions/tagged/pypdf)). + +## Contributions + +Maintaining pypdf is a collaborative effort. You can support the project by +writing documentation, helping to narrow down issues, and submitting code. +See the [CONTRIBUTING.md](https://github.com/py-pdf/pypdf/blob/main/CONTRIBUTING.md) file for more information. + +### Q&A + +The experience pypdf users have covers the whole range from beginners who +want to make their live easier to experts who developed software before PDF +existed. You can contribute to the pypdf community by answering questions +on [StackOverflow](https://stackoverflow.com/questions/tagged/pypdf), +helping in [discussions](https://github.com/py-pdf/pypdf/discussions), +and asking users who report issues for [MCVE](https://stackoverflow.com/help/minimal-reproducible-example)'s (Code + example PDF!). + + +### Issues + +A good bug ticket includes a MCVE - a minimal complete verifiable example. +For pypdf, this means that you must upload a PDF that causes the bug to occur +as well as the code you're executing with all of the output. Use +`print(pypdf.__version__)` to tell us which version you're using. + +### Code + +All code contributions are welcome, but smaller ones have a better chance to +get included in a timely manner. Adding unit tests for new features or test +cases for bugs you've fixed help us to ensure that the Pull Request (PR) is fine. + +pypdf includes a test suite which can be executed with `pytest`: + +```bash +$ pytest +===================== test session starts ===================== +platform linux -- Python 3.6.15, pytest-7.0.1, pluggy-1.0.0 +rootdir: /home/moose/GitHub/Martin/pypdf +plugins: cov-3.0.0 +collected 233 items + +tests/test_basic_features.py .. [ 0%] +tests/test_constants.py . [ 1%] +tests/test_filters.py .................x..... [ 11%] +tests/test_generic.py ................................. [ 25%] +............. [ 30%] +tests/test_javascript.py .. [ 31%] +tests/test_merger.py . [ 32%] +tests/test_page.py ......................... [ 42%] +tests/test_pagerange.py ................ [ 49%] +tests/test_papersizes.py .................. [ 57%] +tests/test_reader.py .................................. [ 72%] +............... [ 78%] +tests/test_utils.py .................... [ 87%] +tests/test_workflows.py .......... [ 91%] +tests/test_writer.py ................. [ 98%] +tests/test_xmp.py ... [100%] + +========== 232 passed, 1 xfailed, 1 warning in 4.52s ========== +``` + diff --git a/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/RECORD b/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/RECORD new file mode 100644 index 00000000..b8d557e2 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/RECORD @@ -0,0 +1,108 @@ +pypdf-4.3.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
+pypdf-4.3.1.dist-info/LICENSE,sha256=qXrCMOXzPvEKU2eoUOsB-R8aCwZONHQsd5TSKUVX9SQ,1605
+pypdf-4.3.1.dist-info/METADATA,sha256=1Fxu9t6xwr0MaA8S1hVgLEUlgXlkMmrv82Ltj3HJZeo,7403
+pypdf-4.3.1.dist-info/RECORD,,
+pypdf-4.3.1.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
+pypdf/__init__.py,sha256=chEvj_DbuU93PWHkjh-rRk9Aa4LiL-ecjqToCZASFoU,1316
+pypdf/__pycache__/__init__.cpython-312.pyc,,
+pypdf/__pycache__/_cmap.cpython-312.pyc,,
+pypdf/__pycache__/_doc_common.cpython-312.pyc,,
+pypdf/__pycache__/_encryption.cpython-312.pyc,,
+pypdf/__pycache__/_merger.cpython-312.pyc,,
+pypdf/__pycache__/_page.cpython-312.pyc,,
+pypdf/__pycache__/_page_labels.cpython-312.pyc,,
+pypdf/__pycache__/_protocols.cpython-312.pyc,,
+pypdf/__pycache__/_reader.cpython-312.pyc,,
+pypdf/__pycache__/_utils.cpython-312.pyc,,
+pypdf/__pycache__/_version.cpython-312.pyc,,
+pypdf/__pycache__/_writer.cpython-312.pyc,,
+pypdf/__pycache__/_xobj_image_helpers.cpython-312.pyc,,
+pypdf/__pycache__/constants.cpython-312.pyc,,
+pypdf/__pycache__/errors.cpython-312.pyc,,
+pypdf/__pycache__/filters.cpython-312.pyc,,
+pypdf/__pycache__/pagerange.cpython-312.pyc,,
+pypdf/__pycache__/papersizes.cpython-312.pyc,,
+pypdf/__pycache__/types.cpython-312.pyc,,
+pypdf/__pycache__/xmp.cpython-312.pyc,,
+pypdf/_cmap.py,sha256=P24suUHalGJSRbiaivGLj7VMx4S_vps1M-rb_AUh2C8,18138
+pypdf/_codecs/__init__.py,sha256=15Fls0Fzl2NXKJyGNO4ozWveYCbOtDkdFiUSUpxHVGQ,1674
+pypdf/_codecs/__pycache__/__init__.cpython-312.pyc,,
+pypdf/_codecs/__pycache__/adobe_glyphs.cpython-312.pyc,,
+pypdf/_codecs/__pycache__/pdfdoc.cpython-312.pyc,,
+pypdf/_codecs/__pycache__/std.cpython-312.pyc,,
+pypdf/_codecs/__pycache__/symbol.cpython-312.pyc,,
+pypdf/_codecs/__pycache__/zapfding.cpython-312.pyc,,
+pypdf/_codecs/adobe_glyphs.py,sha256=jrMZTzGFE8aMEuwfNJ4JZh_GZypPBg6SLE1oaC9DRTU,447237
+pypdf/_codecs/pdfdoc.py,sha256=xfSvMFYsvxuaSQ0Uu9vZDKaB0Wu85h1uCiB1i9rAcUU,4269
+pypdf/_codecs/std.py,sha256=DyQMuEpAGEpS9uy1jWf4cnj-kqShPOAij5sI7Q1YD8E,2630
+pypdf/_codecs/symbol.py,sha256=nIaGQIlhWCJiPMHrwUlmGHH-_fOXyEKvguRmuKXcGAk,3734
+pypdf/_codecs/zapfding.py,sha256=PQxjxRC616d41xF3exVxP1W8nM4QrZfjO3lmtLxpE_s,3742
+pypdf/_crypt_providers/__init__.py,sha256=O6cOQ1QYca10IV_YDo1RE6PzCs-rxL9pNGmP__nRGkE,3054
+pypdf/_crypt_providers/__pycache__/__init__.cpython-312.pyc,,
+pypdf/_crypt_providers/__pycache__/_base.cpython-312.pyc,,
+pypdf/_crypt_providers/__pycache__/_cryptography.cpython-312.pyc,,
+pypdf/_crypt_providers/__pycache__/_fallback.cpython-312.pyc,,
+pypdf/_crypt_providers/__pycache__/_pycryptodome.cpython-312.pyc,,
+pypdf/_crypt_providers/_base.py,sha256=_f53Mj6vivhEZMQ4vNxN5G0IOgFY-n5_leke0c_qiNU,1711
+pypdf/_crypt_providers/_cryptography.py,sha256=zT3WmbPzesvgHRkGcKAldqJ24MY3BwZViVbSc55Zxhw,4557
+pypdf/_crypt_providers/_fallback.py,sha256=PVDQQrq389VbaBqOHxXfoyCk9bLYgFrrDKVpNXzTdx8,3345
+pypdf/_crypt_providers/_pycryptodome.py,sha256=U1aQZ9iYBrZo-hKCjJUhGOPhwEFToiitowQ316TNrrA,3381
+pypdf/_doc_common.py,sha256=-4aNQzyY0UpWWsbAOAPCNbkObCYyFCfdv6n2SCLn8tY,49183
+pypdf/_encryption.py,sha256=8QeZi3LiBpzx6Y02Q1wxuSYfU9yPfbDajPHRntqzf08,48914
+pypdf/_merger.py,sha256=8y90lighRy_DE6QYS1prVMgzYNaJJy7V8vcKEEUBLao,24468
+pypdf/_page.py,sha256=y00FToGot87fVfBt2JIRRs1TuUPENLdTF-sC2xYooSM,94354
+pypdf/_page_labels.py,sha256=yzrDk_Q1oJOUdkItNvxthN-o9cvttgIReVngNPL0h78,8451
+pypdf/_protocols.py,sha256=Z0zKaXvjnrkKmo_Rqo2hrIkjdd0tWwEVkmXCmhu70_8,2260
+pypdf/_reader.py,sha256=LYR3jcVA27ERWO1r1UTgxBlUZ9kjlG7_AmbPpvUXnzw,46738
+pypdf/_text_extraction/__init__.py,sha256=YmSRITJ4VqdWlbTY9dJ57OWTfB1bUmdcQJCEydZB8Bc,10373
+pypdf/_text_extraction/__pycache__/__init__.cpython-312.pyc,,
+pypdf/_text_extraction/_layout_mode/__init__.py,sha256=BPWqqo0ggSKQf-2owsaN_vVvyqsnaZlpIWY3N1bzegc,338
+pypdf/_text_extraction/_layout_mode/__pycache__/__init__.cpython-312.pyc,,
+pypdf/_text_extraction/_layout_mode/__pycache__/_fixed_width_page.cpython-312.pyc,,
+pypdf/_text_extraction/_layout_mode/__pycache__/_font.cpython-312.pyc,,
+pypdf/_text_extraction/_layout_mode/__pycache__/_font_widths.cpython-312.pyc,,
+pypdf/_text_extraction/_layout_mode/__pycache__/_text_state_manager.cpython-312.pyc,,
+pypdf/_text_extraction/_layout_mode/__pycache__/_text_state_params.cpython-312.pyc,,
+pypdf/_text_extraction/_layout_mode/_fixed_width_page.py,sha256=K0Cr5CgdjGR27J4ErAah2xeeKrq17VaPZQ9L4pbqmmc,14782
+pypdf/_text_extraction/_layout_mode/_font.py,sha256=CMVOtHc9Al10zqsr3L13qmX2anKp8ynILyYKPuVnOq0,5099
+pypdf/_text_extraction/_layout_mode/_font_widths.py,sha256=f4Q1acWC_iiLhzKjyfoF8_FFz7wlRlLtXE1Vs6Ifsbo,4264
+pypdf/_text_extraction/_layout_mode/_text_state_manager.py,sha256=DvYiT14AD1Fn7N-cZFLBEWeL_rxXsJIbXLZfraCNG50,8012
+pypdf/_text_extraction/_layout_mode/_text_state_params.py,sha256=oKVgKfU_dcoDJQr8k_yqQaoXRqFjyad7IC9JoW4S0Fc,5316
+pypdf/_utils.py,sha256=5slnj2aBj6BkOB-LpYFqEu9BqctxMttQDjrkplqJ_kA,22393
+pypdf/_version.py,sha256=gKhp048MdP-3cJ_eV-P1YyHenF2KvM2r8m9M1vLMB1A,22
+pypdf/_writer.py,sha256=sjIr78u7E8J9vim8ehUiggvmpEw6LJHC5BBP1kxgOdA,117452
+pypdf/_xobj_image_helpers.py,sha256=VKUEVIf2HZv-Mv9cSNu7jV8313-xpge9AjuIcBIJz64,11474
+pypdf/annotations/__init__.py,sha256=H9T6SkfFzA6aXWTm9MOfOmSiV1JptxNQdJHON8u4KD8,1114
+pypdf/annotations/__pycache__/__init__.cpython-312.pyc,,
+pypdf/annotations/__pycache__/_base.cpython-312.pyc,,
+pypdf/annotations/__pycache__/_markup_annotations.cpython-312.pyc,,
+pypdf/annotations/__pycache__/_non_markup_annotations.cpython-312.pyc,,
+pypdf/annotations/_base.py,sha256=axdUsbNrhD1bHCJoWSKCspgNGe61aK2Vzn9jlaEq3zc,910
+pypdf/annotations/_markup_annotations.py,sha256=J37W5sTUR0waioQprStIKVwqOvaJFB3O_vYakRU0mnw,9842
+pypdf/annotations/_non_markup_annotations.py,sha256=jQkl2dXV7O-HGK4QMQubrlLUFssHw6FQhpi06UCJleA,3710
+pypdf/constants.py,sha256=Vu15J4PhRNhtH6RMJXKbCp9B432vKY9Ui0pYDUX0Dyc,22624
+pypdf/errors.py,sha256=G2_fqPaJneNR4Q5o8ELem77qW00xdx9dtPc5RWwGGJI,1632
+pypdf/filters.py,sha256=Wu8IMqgM4QZ2eXS67t-rnGaMiS-n53R6p6VnSQ1m0-I,31451
+pypdf/generic/__init__.py,sha256=Ak_4CRjDmrqzREXyoi4z985U24_MR4UYH0wbGvB4zS4,15256
+pypdf/generic/__pycache__/__init__.cpython-312.pyc,,
+pypdf/generic/__pycache__/_base.cpython-312.pyc,,
+pypdf/generic/__pycache__/_data_structures.cpython-312.pyc,,
+pypdf/generic/__pycache__/_fit.cpython-312.pyc,,
+pypdf/generic/__pycache__/_image_inline.cpython-312.pyc,,
+pypdf/generic/__pycache__/_outline.cpython-312.pyc,,
+pypdf/generic/__pycache__/_rectangle.cpython-312.pyc,,
+pypdf/generic/__pycache__/_utils.cpython-312.pyc,,
+pypdf/generic/__pycache__/_viewerpref.cpython-312.pyc,,
+pypdf/generic/_base.py,sha256=So6Gmjp-Po8SElzaZxeF9_NlS82ayJ-tMyPrgLoOgfU,25892
+pypdf/generic/_data_structures.py,sha256=j3YFci5S_-Lby2wDduPbt_H_quKwoLX5GMtvBP4jm_8,58868
+pypdf/generic/_fit.py,sha256=os41DNWoSKqsnEK2QLR15Xe45rllZMykBF_RQjk4RKY,5422
+pypdf/generic/_image_inline.py,sha256=w8_tLva9vK41RGtV20Plebfrf0nzN6NskRlcrMkd4XE,8514
+pypdf/generic/_outline.py,sha256=b8NsPZeDaO_s1ZRILwKFPEaofAhhyfDGOS06cm4YxRk,1090
+pypdf/generic/_rectangle.py,sha256=7ZcTWfA3pcjeLcV5yJAgfJ0oNQ-bq1zuaqiuIPd1moo,3808
+pypdf/generic/_utils.py,sha256=yX2yJVqW9vT740qU-AbT_x4m8i4PHSegFm5JXEITlMQ,6469
+pypdf/generic/_viewerpref.py,sha256=l_VwGkHkwYRU9zapEGM9en-hwnwsVWzm-57cKANP96U,6642
+pypdf/pagerange.py,sha256=EkfHDNNsF6d0SYVI5ftq3QjbEqB1UlAWHgyh6cYjKKg,6881
+pypdf/papersizes.py,sha256=J3DoWV2wRF4o0-eU_rpUFaz1xaSgZ15I_LZjfhzoos4,1366
+pypdf/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
+pypdf/types.py,sha256=7zjlr359inm85PdfP6wqvA6UQ5CdjsE3_NSqBbQm4r0,2121
+pypdf/xmp.py,sha256=5dmvAloVtMAbu6Ph4p8psbyxzMuHPSXjgdDsMxSB2pA,14244
diff --git a/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/WHEEL b/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/WHEEL new file mode 100644 index 00000000..3b5e64b5 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/pypdf-4.3.1.dist-info/WHEEL @@ -0,0 +1,4 @@ +Wheel-Version: 1.0 +Generator: flit 3.9.0 +Root-Is-Purelib: true +Tag: py3-none-any |