基類已重命名,因為它們還允許使用 ByteIO 流而不是文件進行操作。此外,?strict? 參數(shù)將默認(rèn)值從 ?strict=True? 更改為 ?strict=False?。

  • PdfFileReader ? PdfReader

  • PdfFileWriter ? PdfWriter

  • PdfFileMerger ? PdfMerger

PdfFileReader 和 PdfFileMerger 不再有 ?overwriteWarnings? 參數(shù)。新行為是 ?overwriteWarnings=False?。

函數(shù)、方法和屬性名稱

在 PyPDF2.xmp.XmpInformation:

  • rdfRoot ? rdf_root

  • xmp_createDate ? xmp_create_date

  • xmp_creatorTool ? xmp_creator_tool

  • xmp_metadataDate ? xmp_metadata_date

  • xmp_modifyDate ? xmp_modify_date

  • xmpMetadata ? xmp_metadata

  • xmpmm_documentId ? xmpmm_document_id

  • xmpmm_instanceId ? xmpmm_instance_id

在 PyPDF2.generic:

  • readObject ? read_object

  • convertToInt ? convert_to_int

  • DocumentInformation.getText ? DocumentInformation._get_text : 通常不應(yīng)使用此方法;如果您需要,請告訴我。

  • readHexStringFromStream ? read_hex_string_from_stream

  • initializeFromDictionary ? initialize_from_dictionary

  • createStringObject ? create_string_object

  • TreeObject.hasChildren ? TreeObject.has_children

  • TreeObject.emptyTree ? TreeObject.empty_tree

在很多地方:

  • getObject ? get_object

  • writeToStream ? write_to_stream

  • readFromStream ? read_from_stream

PdfReader 類:

  • reader.getPage(pageNumber) ? reader.pages[page_number]

  • reader.getNumPages() / reader.numPages ? len(reader.pages)

  • getDocumentInfo ? metadata

  • flattenedPages 屬性? flattened_pages

  • resolvedObjects 屬性 ? resolved_objects

  • xrefIndex 屬性 ? xref_index

  • getNamedDestinations / namedDestinations 屬性 ? named_destinations

  • getPageLayout / pageLayout ? page_layout 屬性

  • getPageMode / pageMode ? page_mode 屬性

  • getIsEncrypted / isEncrypted ? is_encrypted 屬性

  • 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 屬性 ? _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 類:

  • 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 類

  • __init__ 參數(shù): strict=True ? strict=False (?PdfFileMerger? 仍然具有舊的默認(rèn)值)

  • addMetadata ? add_metadata

  • addNamedDestination ? add_named_destination

  • setPageLayout ? set_page_layout

  • setPageMode ? set_page_mode

Page 類:

  • 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 屬性

    • 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 類:

  • getElement(..., aboutUri, ...) ? get_element(..., about_uri, ...)

  • getNodesInNamespace(..., aboutUri, ...) ? get_nodes_in_namespace(..., aboutUri, ...)

  • _getText ? _get_text

utils.py:

  • matrixMultiply ? `矩陣乘法

  • RC4_encrypt 被移動到安全模塊

參數(shù)名稱

  • PdfWriter.get_page: pageNumber ? page_number

  • PyPDF2.filters (所有類): decodeParms ? decode_parms

  • PyPDF2.filters (所有類): decodeStreamData ? decode_stream_data

  • pagenum ? page_number

  • PdfMerger.merge: position ? page_number

  • PdfWriter.add_outline_item_destination: dest ? page_destination

  • PdfWriter.add_named_destination_object: dest ? page_destination

  • PdfWriter.encrypt: user_pwd ? user_password

  • PdfWriter.encrypt: owner_pwd ? owner_password

棄用

一些類/函數(shù)在沒有替換的情況下被棄用:

  • PyPDF2.utils.ConvertFunctionsToVirtualList

  • PyPDF2.utils.formatWarning

  • PyPDF2.isInt(obj): 使用 instance(obj, int) 替代

  • PyPDF2.u_(s): 直接使用 ?s?

  • PyPDF2.chr_(c): 使用 chr(c) 替代

  • PyPDF2.barray(b): 使用 bytearray(b) 替代

  • PyPDF2.isBytes(b): 使用 instance(b, type(bytes())) 替代

  • PyPDF2.xrange_fn: 使用 range 替代

  • PyPDF2.string_type: 使用 str 替代

  • PyPDF2.isString(s): 使用 instance(s, str) 替代

  • PyPDF2._basestring: 使用 str 替代

  • b_(...) 去掉了。您通常應(yīng)該能夠直接使用 bytes 對象,否則您可以復(fù)制它