-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ROB: Handle missing /Type entry in Page tree #1845
Conversation
Fixes py-pdf#500 these PDF are not compliant with Standard (Type is mandatory in page tree nodes however Acrobat Reader can open them Robustness improved
/Contents is optional /Kids not being present is more reliable
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #1845 +/- ##
=======================================
Coverage 93.40% 93.40%
=======================================
Files 34 34
Lines 6627 6629 +2
Branches 1299 1300 +1
=======================================
+ Hits 6190 6192 +2
Misses 285 285
Partials 152 152
☔ View full report in Codecov by Sentry. |
@MartinThoma |
I've just got a stylistic question where I would like to hear your opinion. Besides that, I'm fine with the PR :-) Thank you 🤗 |
New Features (ENH) - Simplify metadata input (Document Information Dictionary) (#1851) - Extend cmap compatibilty to GBK_EUC_H/V (#1812) Bug Fixes (BUG) - Prevent infinite loop when no character follows after a comment (#1828) - get_contents does not return ContentStream (#1847) - Accept XYZ destination with zoom missing (default to zoom=0.0) (#1844) - Cope with 1 Bit images (#1815) Robustness (ROB) - Handle missing /Type entry in Page tree (#1845) Documentation (DOC) - Expand file size explanations (#1835) - Add comparison with pdfplumber (#1837) - Clarify that PyPDF2 is dead (#1827) - Add Hunter King as Contributor for #1806 Maintenance (MAINT) - Refactor internal Encryption class (#1821) - Add R parameter to generate_values (#1820) - Make encryption_key parameter of write_to_stream optional (#1819) - Prepare for adding AES enryption support (#1818) Code Style (STY): - Iterate directly over the list instead of using range (#1839) - Minor refactorings in _encryption.py (#1822) [Full Changelog](3.8.1...3.9.0)
Forgot that the code was duplicated
Apply fix from #1845 on PdfWriter
/Type is mandatory in page tree nodes according to the the PDF specification. Hence dealing with such files is a robustness improvements.
Acrobat Reader can open such PDF documents as well.
Fixes #500
criteria to consider it as a page : /Kids missing