{"id":13690483,"url":"https://github.com/claird/PyPDF4","last_synced_at":"2025-05-02T11:31:19.609Z","repository":{"id":41863203,"uuid":"143562931","full_name":"claird/PyPDF4","owner":"claird","description":"A utility to read and write PDFs with Python","archived":false,"fork":true,"pushed_at":"2021-11-24T08:40:41.000Z","size":3790,"stargazers_count":335,"open_issues_count":52,"forks_count":61,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-04-09T15:54:58.584Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"obsolete-https://pythonhosted.org/PyPDF2/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"py-pdf/pypdf","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/claird.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-08-04T21:04:46.000Z","updated_at":"2025-03-10T08:42:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/claird/PyPDF4","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claird%2FPyPDF4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claird%2FPyPDF4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claird%2FPyPDF4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/claird%2FPyPDF4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/claird","download_url":"https://codeload.github.com/claird/PyPDF4/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252030171,"owners_count":21683301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T17:00:19.836Z","updated_at":"2025-05-02T11:31:18.508Z","avatar_url":"https://github.com/claird.png","language":"Python","readme":"# PyPDF4\nPyPDF4 is a pure-python PDF library capable of splitting, merging together,\ncropping, and transforming the pages of PDF files. It can also add custom data,\nviewing options, and passwords to PDF files.  It can retrieve text and metadata\nfrom PDFs as well as merge entire files together.\n\nWhat happened to PyPDF2?  Nothing; it's still available at\nhttps://github.com/mstamy2/PyPDF2.  For various reasons @claird will eventually\nexplain, I've simply decided to mark a new \"business model\" with a\nslightly-renamed project name.\nWhile PyPDF4 will continue to be available at no charge, I have strong plans\nfor better ongoing support to start in August 2018.\n\nHomepage (available soon): http://claird.github.io/PyPDF4/.\n\n## Examples\nPlease see the `samplecode/` folder.\n\n## Documentation\nDocumentation soon will be available, although probably not at\nhttps://pythonhosted.org/PyPDF4/.\n\n## FAQ\nPlease see http://claird.github.io/PyPDF4/FAQ.html (available in early August).\n\n## Tests\nPyPDF4 includes a modest (but growing!) test suite built on the unittest\nframework. All tests are located in the `tests/` folder and are distributed\namong dedicated modules. Tox makes running all tests over all versions of Python\nquick work:\n\n```\npython -m pip install tox\npython -m tox\n```\n\nIndividual tests are accessible as conventional **Pytest** sources;\n\n```\npytest -v tests/test_pdf.py\n```\n\nis an example which assumes the `pytest` executable is activated.\n\n## Contributing\nFor an exhaustive overview of what rules you are expected to maintain, please\nvisit [Contributing](https://github.com/claird/PyPDF4/wiki/Contributing) in the\nproject Wiki. A quick outline of these is:\n\n* **Provide test cases** for individual units of development of your own.\nProper testing is highly encouraged: *Code without tests is broken by design*\n\\- Jacob Kaplan-Moss, Django's original development team member.\n* Follow the [PEP 8](https://www.python.org/dev/peps/pep-0008/) style conventions, such as:\n\t* lower_case_with_underscores nomenclature (e.g., `file_name` rather than `fileName`,\n\tand `write_file()` rather than `writeFile()`).\n    * Line lengths of `79` characters or less.\n    * Correct spacing between global-scoped classes and functions (two newlines\n\tin between etc.) and within internal code blocks.\n* Target your code for Python 3 but maintain retrocompatibility with Python 2\n(do we retain Py2?  Still under active consideration).\n* Provide [docstring documentation](https://www.python.org/dev/peps/pep-0257/)\nfor public classes and functions. \n* Utilize `# TO-DO` or `TO-DO` markings within\n[docstrings](https://www.python.org/dev/peps/pep-0257/) for indicating a\nfeature that is yet to be implemented or discussed. Some IDEs feature TO-DOs\ndetection consoles.\n","funding_links":[],"categories":["📚 فهرست","Libraries"],"sub_categories":["کار با pdf","Python"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclaird%2FPyPDF4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclaird%2FPyPDF4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclaird%2FPyPDF4/lists"}