PyPDF2 v1.28.0 Release Notes
Release Date: 2022-05-22 // almost 2 years ago-
๐ 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