All Versions
73
Latest Version
Avg Release Cycle
7 days
Latest Release
494 days ago
Changelog History
Page 4
Changelog History
Page 4
-
v1.28.3 Changes
May 28, 2022๐ Deprecations (DEP)
- PEP8 renaming (#905)
๐ Bug Fixes (BUG)
- XmpInformation missing method _getText (#917)
- ๐ Fix PendingDeprecationWarning on _merge_page (#904)
-
v1.28.2 Changes
May 23, 2022๐ Bug Fixes (BUG)
- ๐ PendingDeprecationWarning for getContents (#893)
- ๐ PendingDeprecationWarning on using PdfMerger (#891)
-
v1.28.1 Changes
May 22, 2022๐ Bug Fixes (BUG)
- ๐ Incorrectly show deprecation warnings on internal usage (#887)
๐ง Maintenance (MAINT)
- ๐ Add stacklevel=2 to deprecation warnings (#889)
- ๐ Remove duplicate warnings imports (#888)
-
v1.28.0 Changes
May 22, 2022๐ This release adds a lot of deprecation warnings in preparation of the ๐ PyPDF2 2.0.0 release. The changes are mostly using snake_case function-, method-, and variable-names as well as using properties instead of getter-methods.
๐ง Maintenance (MAINT):
- ๐ Remove IronPython Fallback for zlib (#868)
๐ Deprecations (DEP)
- ๐ Make the
PyPDF2.utils
module private - ๐ Rename of core classes:
- PdfFileReader โ PdfReader
- PdfFileWriter โ PdfWriter
- PdfFileMerger โ PdfMerger
- ๐ Use PEP8 conventions for function names and parameters
- If a property and a getter-method are both present, use the property
Details
In many places:
- getObject โ get_object
- writeToStream โ write_to_stream
- readFromStream โ read_from_stream
PyPDF2.generic
- readObject โ read_object
- convertToInt โ convert_to_int
- DocumentInformation.getText โ DocumentInformation._get_text : This method should typically not be used; please let me know if you need it.
PdfReader class:
reader.getPage(pageNumber)
โreader.pages[page_number]
reader.getNumPages()
/reader.numPages
โlen(reader.pages)
- getDocumentInfo โ metadata
- flattenedPages attribute โ flattened_pages
- resolvedObjects attribute โ resolved_objects
- xrefIndex attribute โ xref_index
- getNamedDestinations / namedDestinations attribute โ named_destinations
- getPageLayout / pageLayout โ page_layout attribute
- getPageMode / pageMode โ page_mode attribute
- getIsEncrypted / isEncrypted โ is_encrypted attribute
- getOutlines โ get_outlines
- readObjectHeader โ read_object_header
- cacheGetIndirectObject โ cache_get_indirect_object
- cacheIndirectObject โ cache_indirect_object
- getDestinationPageNumber โ get_destination_page_number
- readNextEndLine โ read_next_end_line
- _zeroXref โ _zero_xref
- _authenticateUserPassword โ _authenticate_user_password
- _pageId2Num attribute โ _page_id2num
- _buildDestination โ _build_destination
- _buildOutline โ _build_outline
- _getPageNumberByIndirect(indirectRef) โ _get_page_number_by_indirect(indirect_ref)
- _getObjectFromStream โ _get_object_from_stream
- _decryptObject โ _decrypt_object
- _flatten(..., indirectRef) โ _flatten(..., indirect_ref)
- _buildField โ _build_field
- _checkKids โ _check_kids
- _writeField โ _write_field
- _write_field(..., fieldAttributes) โ _write_field(..., field_attributes)
- _read_xref_subsections(..., getEntry, ...) โ _read_xref_subsections(..., get_entry, ...)
PdfWriter class:
writer.getPage(pageNumber)
โwriter.pages[page_number]
writer.getNumPages()
โlen(writer.pages)
- addMetadata โ add_metadata
- addPage โ add_page
- addBlankPage โ add_blank_page
- addAttachment(fname, fdata) โ add_attachment(filename, data)
- insertPage โ insert_page
- insertBlankPage โ insert_blank_page
- appendPagesFromReader โ append_pages_from_reader
- updatePageFormFieldValues โ update_page_form_field_values
- cloneReaderDocumentRoot โ clone_reader_document_root
- cloneDocumentFromReader โ clone_document_from_reader
- getReference โ get_reference
- getOutlineRoot โ get_outline_root
- getNamedDestRoot โ get_named_dest_root
- addBookmarkDestination โ add_bookmark_destination
- addBookmarkDict โ add_bookmark_dict
- addBookmark โ add_bookmark
- addNamedDestinationObject โ add_named_destination_object
- addNamedDestination โ add_named_destination
- removeLinks โ remove_links
- removeImages(ignoreByteStringObject) โ remove_images(ignore_byte_string_object)
- removeText(ignoreByteStringObject) โ remove_text(ignore_byte_string_object)
- addURI โ add_uri
- addLink โ add_link
- getPage(pageNumber) โ get_page(page_number)
- getPageLayout / setPageLayout / pageLayout โ page_layout attribute
- getPageMode / setPageMode / pageMode โ page_mode attribute
- _addObject โ _add_object
- _addPage โ _add_page
- _sweepIndirectReferences โ _sweep_indirect_references
PdfMerger class
__init__
parameter: strict=True โ strict=False (the PdfFileMerger still has the old default)- addMetadata โ add_metadata
- addNamedDestination โ add_named_destination
- setPageLayout โ set_page_layout
- setPageMode โ set_page_mode
Page class:
- artBox / bleedBox/ cropBox/ mediaBox / trimBox โ artbox / bleedbox/ cropbox/ mediabox / trimbox
- getWidth, getHeight โ width / height
- getLowerLeft_x / getUpperLeft_x โ left
- getUpperRight_x / getLowerRight_x โ right
- getLowerLeft_y / getLowerRight_y โ bottom
- getUpperRight_y / getUpperLeft_y โ top
- getLowerLeft / setLowerLeft โ lower_left property
- upperRight โ upper_right
- mergePage โ merge_page
- rotateClockwise / rotateCounterClockwise โ rotate_clockwise
- _mergeResources โ _merge_resources
- _contentStreamRename โ _content_stream_rename
- _pushPopGS โ _push_pop_gs
- _addTransformationMatrix โ _add_transformation_matrix
- _mergePage โ _merge_page
XmpInformation class:
- getElement(..., aboutUri, ...) โ get_element(..., about_uri, ...)
- getNodesInNamespace(..., aboutUri, ...) โ get_nodes_in_namespace(..., aboutUri, ...)
- _getText โ _get_text
utils.py:
- matrixMultiply โ matrix_multiply
- RC4_encrypt is moved to the security module
-
v1.27.12 Changes
May 02, 2022๐ Bug Fixes (BUG)
- _rebuild_xref_table expects trailer to be a dict (#857)
๐ Documentation (DOC)
- ๐ Security Policy
-
v1.27.11 Changes
May 02, 2022 -
v1.27.10 Changes
May 01, 2022Robustness (ROB)
- Handle missing destinations in reader (#840)
- warn-only in readStringFromStream (#837)
- Fix corruption in startxref or xref table (#788 and #830)
๐ Documentation (DOC)
- Project Governance (#799)
- History of PyPDF2
- ๐ PDF feature/version support (#816)
- ๐ More details on text parsing issues (#815)
Developer Experience (DEV)
- Add benchmark command to Makefile
- Ignore IronPython parts for code coverage (#826)
๐ง Maintenance (MAINT)
- Split pdf module (#836)
- ๐ Separated CCITTFax param parsing/decoding (#841)
- โก๏ธ Update requirements files
โ Testing (TST)
- โ Use external repository for larger/more PDFs for testing (#820)
- โ Swap incorrect test names (#838)
- โ Add test for PdfFileReader and page properties (#835)
- โ Add tests for PyPDF2.generic (#831)
- โ Add tests for utils, form fields, PageRange (#827)
- โ Add test for ASCII85Decode (#825)
- โ Add test for FlateDecode (#823)
- โ Add test for filters.ASCIIHexDecode (#822)
๐ Code Style (STY)
- Apply pre-commit (black, isort) + use snake_case variables (#832)
- ๐ Remove debug code (#828)
- ๐ Documentation, Variable names (#839)
-
v1.27.9 Changes
April 24, 2022๐ A change I would like to highlight is the performance improvement for large PDF files (#808) ๐
๐ New Features (ENH)
- Add papersizes (#800)
- Allow setting permission flags when encrypting (#803)
- Allow setting form field flags (#802)
๐ Bug Fixes (BUG)
- TypeError in xmp._converter_date (#813)
- Improve spacing for text extraction (#806)
- Fix PDFDocEncoding Character Set (#809)
Robustness (ROB)
- Use null ID when encrypted but no ID given (#812)
- Handle recursion error (#804)
๐ Documentation (DOC)
- CMaps (#811)
- ๐ The PDF Format + commit prefixes (#810)
- Add compression example (#792)
Developer Experience (DEV)
- ๐ Add Benchmark for Performance Testing (#781)
๐ง Maintenance (MAINT)
- Validate PDF magic byte in strict mode (#814)
- Make PdfFileMerger.addBookmark() behave life PdfFileWriters' (#339)
- ๐ Quadratic runtime while parsing reduced to linear (#808)
โ Testing (TST)
- Newlines in text extraction (#807)
-
v1.27.8 Changes
April 21, 2022๐ Bug Fixes (BUG)
- Use 1MB as offset for readNextEndLine (#321)
- 'PdfFileWriter' object has no attribute 'stream' (#787)
Robustness (ROB)
- Invalid float object; use 0 as fallback (#782)
๐ Documentation (DOC)
- Robustness (#785)
-
v1.27.7 Changes
April 19, 2022๐ Bug Fixes (BUG)
- Import exceptions from PyPDF2.errors in PyPDF2.utils (#780)
๐ Code Style (STY)
- Naming in 'make_changelog.py'