PyPDF2 is a free and open source pure-python PDF library capable of splitting, merging, cropping, and transforming the pages of PDF files. It can also add custom data, viewing options, and passwords to PDF files. PyPDF2 can retrieve text and metadata from PDFs as well.
You can contribute to PyPDF2 on GitHub.
.. toctree:: :caption: User Guide :maxdepth: 1 user/installation user/migration-1-to-2 user/robustness user/suppress-warnings user/metadata user/extract-text user/extract-images user/encryption-decryption user/merging-pdfs user/cropping-and-transforming user/add-watermark user/reading-pdf-annotations user/adding-pdf-annotations user/forms user/streaming-data user/file-size user/pdf-version-support
.. toctree:: :caption: API Reference :maxdepth: 1 modules/PdfReader modules/PdfWriter modules/PdfMerger modules/PageObject modules/Transformation modules/DocumentInformation modules/XmpInformation modules/Destination modules/RectangleObject modules/Field modules/PageRange modules/AnnotationBuilder modules/Fit modules/PaperSize
.. toctree:: :caption: Developer Guide :maxdepth: 1 dev/intro dev/pdf-format dev/cmaps dev/deprecations dev/testing
.. toctree:: :caption: About PyPDF2 :maxdepth: 1 meta/CHANGELOG meta/changelog-v1 meta/project-governance meta/history meta/CONTRIBUTORS meta/comparisons meta/faq