fix PDF writer bug when encountering free object #61
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When editing an existing PDF, occasionally the PDF contains a "free"
IndirectObject
that refers to nothing (correct me if I'm conceptually wrong). In this situation the reader will raise aPdfReadError
:This exception will be passed to
writer._sweepIndirectReferences()
. However theexcept
statement doesn't capture this exception, but only capturesValueError
, which is not a base class ofPdfReadError
:This will crash the script.
Hence this pull request updates this line to handle the PdfReadError exception. To be safer, it's modified to capture its base class,
PyPdfError
: