PyPDF2 Versions Save

A pure-python PDF library capable of splitting, merging, cropping, and transforming the pages of PDF files

3.16.4

7 months ago

What's new

Bug Fixes (BUG)

  • Avoid exceeding recursion depth when retrieving image mode (#2251) by @stefan6419846

Maintenance (MAINT)

  • Bump sample-files by @MartinThoma

Full Changelog

3.16.3

7 months ago

What's new

Bug Fixes (BUG)

  • invalid cm/tm in visitor functions (#2206) by @pubpub-zz
  • Encrypt / decrypt Stream object dictionaries (#2228) by @pilotandy
  • Support nested color spaces for the /DeviceN color space (#2241) by @stefan6419846
  • images property fails if NullObject in list (#2215) by @pubpub-zz

Robustness (ROB)

  • XYZ destination to cope with missing left and top param (#2237) by @pubpub-zz

Documentation (DOC)

  • Add pilotandy for #2228 as a contributor by @MartinThoma
  • Link to CONTRIBUTING.md in README.md (#2232) by @MarkPfeifle
  • Changelog by @MartinThoma

Developer Experience (DEV)

  • Exclude tests from mypy checks by @MartinThoma
  • Unify mypy options and warn redundant workarounds (#2223) by @exiledkingcc
  • Stabilize Pillow test with Pillow missing (#2229) by @stefan6419846

Maintenance (MAINT)

  • Update pinned packages (#2243) by @MartinThoma

Testing (TST)

  • Regression test against non-deterministic accidental object reuse (#2244) by @sjoerdjob

Full Changelog

3.16.2

7 months ago

What's new

Bug Fixes (BUG)

  • PDF size increases because of too high float writing precision (#2213) by @pubpub-zz
  • Fix test_watermarking_reportlab_rendering() (#2203) by @Lucas-C

Documentation (DOC)

  • Fix typos and add a paragraph to ViewerPreferences docs (#2199) by @marcstober
  • How to install pypi from any branch (#2209) by @pubpub-zz
  • Update copyright footer in docs (#2207) by @marcstober

Developer Experience (DEV)

  • Let dependabot update Github Actions by @MartinThoma

Maintenance (MAINT)

  • Update .pre-commit-config.yaml by @MartinThoma

Full Changelog

3.16.1

8 months ago

What's new

Bug Fixes (BUG)

  • Missing new line in extract_text with cm operations (#2142) by @pubpub-zz
  • _get_fonts not processing properly CIDFonts and annotations (#2194) by @pubpub-zz

Documentation (DOC)

  • Sort list of contributors by @MartinThoma

Developer Experience (DEV)

  • Give attribution in release notes (#2196) by @MartinThoma

Maintenance (MAINT)

  • Update packages (#2195) by @MartinThoma
  • Rename PdfWriter.create_viewer_preferences to PdfWriter.create_viewer_preferences (#2190) by @marcstober
  • Mark cryptography as default (#2186) by @exiledkingcc

Testing (TST)

  • Issue with merging pdfkit (#2191) by @MartinThoma

Code Style (STY)

  • clean-up overriden variable (#2189) by @pubpub-zz

Full Changelog

3.16.0

8 months ago

What's new

New Features (ENH)

  • Ease access to ViewerPreferences (#2144)

Bug Fixes (BUG)

  • Infinite recursion caused by IndirectObject clone (#2156)
  • catch the case where w[0] is an IndirectObject instead of an int (#2154)
  • Cope with indirect objects in filters and remove deprecated code (#2177)
  • Cope with extra space (#2151)
  • Merge pages without resources (#2150)
  • getcontents() shall return None if contents is NullObject (#2161)
  • Fix conversion from 1 to LA (#2175)
  • Accept tabs in cmaps (#2174)

Robustness (ROB)

  • Accept XYZ with no arguments (#2178)

Documentation (DOC)

  • Mention pdfly on frontpage of docs (#2183)
  • Cross-link pdfly (#2184)
  • Typos in ViewerPreferences docstrings (#2169)

Code Style (STY)

  • Apply ruff rule N806 for some file (#2149)
  • Move functions within _xobj_to_image to a private module (#2182)

Full Changelog

3.15.5

8 months ago

What's new

Bug Fixes (BUG)

  • Cope with missing /I in articles (#2134)
  • Fix image look-up table in EncodedStreamObject (#2128)
  • remove_images not operating in sub level forms (#2133)

Robustness (ROB)

  • Cope with damaged PDF (#2129)

Documentation (DOC)

  • How to take ownership (#2123)

Developer Experience (DEV)

  • Download PDFs before executing the tests to not run into timeouts (#2143)
  • Add workflow_dispatch to CI (#2145)
  • Automatically create release message / tag message (#2127)
  • Ensure the REL commit message is consistently created (#2126)

Testing (TST)

  • Add test for correct rendering of watermarks (#2130)

Full Changelog

3.15.4

8 months ago

What's new

Performance Improvements (PI)

  • Making pypdf as fast as pdfrw (#2086)

Maintenance (MAINT)

  • Relax typing_extensions version (#2104)

Full Changelog

3.15.3

8 months ago

What's new

Bug Fixes (BUG)

  • Check version of crypt provider (#2115)
  • TypeError: can't concat str to bytes (#2114)
  • Require flit_core >= 3.9 (#2091)

Full Changelog

3.15.2

8 months ago

What's new

Security (SEC)

  • Avoid endless recursion of reading damaged PDF file (#2093)

Performance Improvements (PI)

  • Re-use content stream (#2101)

Maintenance (MAINT)

  • Make ParseError inherit from PyPdfError (#2097)

Full Changelog

3.15.1

9 months ago

What's new

Performance Improvements (PI)

  • optimize _decode_png_prediction (#2068)

Bug Fixes (BUG)

  • Fix incorrect tm_matrix in call to visitor_text (#2060)
  • Writing German characters into form fields (#2047)
  • Prevent stall when accessing image in corrupted pdf (#2081)
  • append() fails when articles do not have /T (#2080)

Robustness (ROB)

  • Cope with xref not followed by separator (#2083)

Full Changelog