PyPDF2 Versions Save

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

3.15.0

10 months ago

Changes

New Features (ENH)

  • Add level parameter to compress_content_streams (#2044)
  • Process /uniHHHH for text_extract (#2043)

Bug Fixes (BUG)

  • Fix AnnotationBuilder.link (#2066)
  • JPX image without ColorSpace (#2062)
  • Added check for field /Info when cloning reader document (#2055)
  • Fix indexed/CMYK images (#2039)

Maintenance (MAINT)

  • Cryptography as primary dependency (#2053)

Full Changelog

3.14.0

10 months ago

What's new

New Features (ENH)

  • Accelerate image list keys generation (#2014)
  • Use cryptography for encryption/decryption as a fallback for PyCryptodome (#2000)
  • Extract LaTeX characters (#2016)
  • ASCIIHexDecode.decode now returns bytes instead of str (#1994) :warning: This could be a breaking change for people who directly use ASCIIHexDecode. If you don't import ASCIIHexDecode, you're safe. It was not marked explicitly as a breaking change as it should have returned bytes in the first place.

Bug Fixes (BUG)

  • Add RunLengthDecode filter (#2012)
  • Process /Separation ColorSpace (#2007)
  • Handle single element ColorSpace list (#2026)
  • Process lookup decoded as TextStringObjects (#2008)

Robustness (ROB)

  • Cope with garbage collector during cloning (#1841)

Maintenance (MAINT)

  • Cleanup of annotations (#1745)

3.13.0

10 months ago

What's new

New Features (ENH)

  • Add is_open in outlines in PdfReader and PdfWriter (#1960)

Bug Fixes (BUG)

  • Search /DA in hierarchy fields (#2002)
  • Cope with different ISO date length (#1999)
  • Decode Black only/CMYK deviceN images (#1984)
  • Process CMYK in deflate images (#1977)

Developer Experience (DEV)

  • Add mypy to pre-commit (#2001)
  • Release automation (#1991, #1985)

Full Changelog

3.12.2

11 months ago

What's Changed

Bug Fixes (BUG)

  • Accept calRGB and calGray color_spaces (#1968) by @pubpub-zz
  • Process 2bits and 4bits images (#1967) by @pubpub-zz
  • Check for AcroForm and ensure it is not None (#1965) by @nickryand

Developer Experience (DEV)

  • Automate the release process (#1970)

New Contributors

Full Changelog: https://github.com/py-pdf/pypdf/compare/3.12.1...3.12.2

3.12.1

11 months ago

What's Changed

  • Prevent updating page contents after merging page (stamping/watermarking) (#1952) by @pubpub-zz
  • % to be hex encoded in names (#1958) by @pubpub-zz
  • Inverse color in CMYK images (#1947) by @pubpub-zz
  • Dates conversion not working with Z00'00' (#1946) by @pubpub-zz
  • Support UTF-16-LE Strings (#1884) by @adamchainz

Full Changelog

3.12.0

11 months ago

What's Changed

We finally fully support modern cryptography for encrypting and decrypting PDF files. A big thank you to @exiledkingcc who did this work a while a go 🙏

New Features (ENH)

  • Add AES support for encrypting PDF files (#1918, #1935, #1936, #1938) by @exiledkingcc
  • Add page deletion feature to PdfWriter (#1843) by @pubpub-zz

Bug Fixes (BUG)

  • PdfReader.get_fields() attempts to delete non-existing index "/Off" (#1933) by @dmjohnsson23
  • Remove unused objects when cloning_from (#1926) by @pubpub-zz
  • Add the TK.SIZE into the trailer (#1911) by @talcher
  • add_named_destination() maintains named destination list sort order (#1930) by @robertkearns

Full Changelog

New Contributors

Full Changelog: https://github.com/py-pdf/pypdf/compare/3.11.1...3.12.0

3.11.1

11 months ago

What's Changed

Bug Fixes (BUG)

  • Cascaded filters in image objects (#1913) by @pubpub-zz
  • Append pdf with named destination using numbers for pages (#1858) by @pubpub-zz
  • Ignore "/B" fields only on pages in PdfWriter.append() (#1875) by @pubpub-zz

Full Changelog

3.11.0

11 months ago

What's Changed

New Features (ENH)

  • Add page_number property (#1856) by @pubpub-zz

Bug Fixes (BUG)

  • File expansion when updating with Page Contents (#1906) by @pubpub-zz
  • Missing Alternate in indexed/ICCbased colorspaces (#1896) by @pubpub-zz

Full Changelog

3.10.0

11 months ago

What's Changed

This release is focused around improving pypdf's capabilities around handling images, but pypdf should now also deal better with forms.

A big thank you to @pubpub-zz who went above and beyond in this release :clap: :hugs:

New Features (ENH)

  • Extend images interface by returning an ImageFile(File) class (#1848) by @pubpub-zz
  • Add capability to replace image (#1849) by @pubpub-zz
  • Extraction of inline images (#1850) by @pubpub-zz
  • Add set_data to EncodedStreamObject (#1854) by @pubpub-zz

Bug Fixes (BUG)

  • Fix RGB FlateEncode Images(PNG) and transparency (#1834) - Add capability to replace image (#1849) by @pubpub-zz
  • Generate static appearance for fields (#1864) by @pubpub-zz

Full Changelog

New Contributors

Full Changelog: https://github.com/py-pdf/pypdf/compare/3.9.1...3.10.0

3.9.1

1 year ago

What's Changed

Deprecations (DEP)

  • Deprecate PdfMerger (#1866) by @pubpub-zz

Bug Fixes (BUG)

  • Ignore UTF-8 decode errors (#1865) by @talibhmukadam

Robustness (ROB)

  • Handle missing /Type entry in Page tree (#1859) by @pubpub-zz

New Contributors

Full Changelog: https://github.com/py-pdf/pypdf/compare/3.9.0...3.9.1