-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: py-pdf/pypdf
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1.27.12
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: py-pdf/pypdf
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 1.28.1
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 7 commits
- 61 files changed
- 2 contributors
Commits on May 9, 2022
-
Configuration menu - View commit details
-
Copy full SHA for a791ef1 - Browse repository at this point
Copy the full SHA a791ef1View commit details
Commits on May 22, 2022
-
DEP: PEP8-style module, class, and method names (#867)
This commit strives to make the usage for new PyPDF2 users easier by following PEP8 naming schemes. It's mostly about camelCase method names being converted to snake_case. Other changes make the public interface of PyPDF2 smaller and thus easier to discover. This commit does not introduce any breaking changes as the old modules / classes / method signatures are still present. They have now deprecation warnings and the docs show that those are considered deprecated. If a property and a getter-method are both present, use the property. Module level changes -------------------- - utils ➔ _utils: The module is renamed to '_utils' to indicate that it should not be used by PyPDF2 users. It's only meant for PyPDF2 itself. - The 'pdf' module was removed. Most classes / functions are now either in '_utils' or in 'generic'. Core classes ------------ - PdfFileReader➔ PdfReader (strict=False is new default) - PdfFileWriter➔ PdfWriter - PdfFileMerger➔ PdfMerger (strict=False is new default) PdfReader --------- - writer.getPage(pageNumber) ➔ writer.pages[page_number] - writer.getNumPages() ➔ len(writer.pages) - getPageLayout / pageLayout ➔ page_layout - getPageMode / pageMode ➔ page_mode - getIsEncrypted / isEncrypted ➔ is_encrypted - getDocumentInfo ➔ metadata PdfWriter --------- - writer.getPage(pageNumber) ➔ writer.pages[page_number] - writer.getNumPages() ➔ len(writer.pages) - getPageLayout / setPageLayout / pageLayout ➔ page_layout - getPageMode / setPageMode / pageMode ➔ page_mode Page ---- - mediabox / trimbox / cropbox / bleedbox / artbox: - 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 - Add Transformation class to make it easy to create transformation matrices - add_transformation and merge_page should be used instead of: - mergeTransformedPage - mergeScaledPage - mergeRotatedPage - mergeTranslatedPage - mergeRotatedTranslatedPage - mergeRotatedScaledPage - mergeScaledTranslatedPage - mergeRotatedScaledTranslatedPage See the CHANGELOG for a full list of changesConfiguration menu - View commit details
-
Copy full SHA for c66ee8c - Browse repository at this point
Copy the full SHA c66ee8cView commit details -
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) Full Changelog: 1.27.12...1.27.13 * 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 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 (TODO: read vs get?) - cacheGetIndirectObject ➔ cache_get_indirect_object (TODO: public vs private?) - cacheIndirectObject ➔ cache_indirect_object (TODO: public vs private?) - 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
Configuration menu - View commit details
-
Copy full SHA for a214c9e - Browse repository at this point
Copy the full SHA a214c9eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 560d2a7 - Browse repository at this point
Copy the full SHA 560d2a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for ce1cb66 - Browse repository at this point
Copy the full SHA ce1cb66View commit details -
MAINT: Add stacklevel=2 to deprecation warnings (#889)
* STY: Adjust code/docs in several places to make it more similar to the 2.0.0 branch * MAINT: Remove excessive <py36 warnings
Configuration menu - View commit details
-
Copy full SHA for f74d733 - Browse repository at this point
Copy the full SHA f74d733View commit details -
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) Full Changelog: 1.28.0...1.28.1
Configuration menu - View commit details
-
Copy full SHA for 000ac49 - Browse repository at this point
Copy the full SHA 000ac49View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 1.27.12...1.28.1