Thank you for your interest in pdfplumber
! Before submitting an issue or filing a pull request, please consult the brief notes and instructions below.
- If you are troubleshooting a specific PDF and have not identified a clear bug, please open a discussion instead of an issue.
- Malformed PDFs can often cause problems that cannot be directly fixed in
pdfplumber
. For that reason, please try repairing your PDF using Ghostscript before filing a bug report. To do so, rungs -o repaired.pdf -sDEVICE=pdfwrite original.pdf
, replacingoriginal.pdf
with your PDF's actual filename. - If your issue relates to text not being displayed correctly, please compare the output to
pdfminer.six
'spdf2txt
command. If you're seeing the same problems there, please consult that repository instead of this one, becausepdfplumber
depends onpdfminer.six
for text extraction. - Please do fill out all requested sections of the issue template; doing so will help the maintainers and community more efficiently respond.
- If you would like to propose a change that is more complex than a simple bug-fix, please first open a discussion. If you are submitting a simple bugfix, typo correction, et cetera, feel free to open a pull request directly.
- PRs should be submitted against the
develop
branch only. - PRs should contain one or more tests that support the changes. The tests should pass with the new code but fail on the commits prior. For guidance, see the existing tests in the
tests/
directory. To execute the tests, runmake tests
orpython -m pytest
. - Python code in PRs should conform to
psf/black
,isort
, andflake8
formatting guidelines. To automatically reformat your code accordingly, runmake format
. To test the formatting andflake8
compliance, runmake lint
. - Please add yourself to the list of contributors.
- Please also update the CHANGELOG.md.