class PyPDF2.PdfReader(stream: Union[str, IO, Path], strict: bool = False, password: Union[None, str, bytes] = None)
基類:?object
?
初始化PdfReader對象。
此操作可能需要一些時間,因為PDF流的交叉引用表將讀入內(nèi)存。
參數(shù)
cacheGetIndirectObject(generation: int, idnum: int)→ Optional[PdfObject]
1.28.0 版后已棄用:改為使用?cache_get_indirect_object()
?。
cacheIndirectObject(generation: int, idnum: int, obj: Optional[PdfObject])→ Optional[PdfObject]
1.28.0 版后已棄用:改為使用?cache_indirect_object()
?。
cache_get_indirect_object(generation: int, idnum: int)→ Optional[PdfObject]
cache_indirect_object(generation: int, idnum: int, obj: Optional[PdfObject])→ Optional[PdfObject]
decode_permissions(permissions_code: int)→ Dict[str, bool]
decrypt(password: Union[str, bytes])→ PasswordType
使用PDF標(biāo)準(zhǔn)加密處理程序的加密/安全PDF文件時,此函數(shù)將允許解密該文件。它檢查給定密碼與文檔的用戶密碼和所有者密碼是否匹配,然后存儲生成的解密密鑰(如果任一密碼正確)。
無論匹配哪個密碼,都提供了正確的解密密鑰,可使文檔與此庫一起使用。
參數(shù)
密碼(str):要匹配的密碼。
返回:PasswordType
屬性 documentInfo: Optional[DocumentInformation]
自版本 1.28.0 后棄用。
請改用?metadata
?屬性。
getDestinationPageNumber(destination: Destination)→ int
1.28.0 版后已棄用:改為使用?get_destination_page_number()
?。
getDocumentInfo()→ Optional[DocumentInformation]
1.28.0 版后已棄用:改為使用?metadata
?屬性。
getFields(tree: Optional[TreeObject] = None, retval: Optional[Dict[Any, Any]] = None, fileobj: Optional[Any] = None)→ Optional[Dict[str, Any]]
1.28.0 版后已棄用:改為使用?get_fields()
?。
getFormTextFields()→ Dict[str, Any]
1.28.0 版后已棄用:改為使用?get_form_text_fields()
?。
getIsEncrypted()→ bool
1.28.0 版后已棄用:改為使用?is_encrypted
?。
getNamedDestinations(tree: Optional[TreeObject] = None, retval: Optional[Any] = None)→ Dict[str, Any]
1.28.0 版后已棄用:改為使用?named_destinations
?。
getNumPages()→ int
1.28.0 版后已棄用:改為使用len(reader.pages)
。
getObject(indirectReference: IndirectObject)→ Optional[PdfObject]
1.28.0 版后已棄用:改為使用?get_object()
?。
getOutlines(node: Optional[DictionaryObject] = None, outline: Optional[Any] = None)→ List[Union[Destination , List[Union[Destination, List[Destination ]]]]]
1.28.0 版后已棄用:改為使用?outline
?。
getPage(pageNumber: int)→ PageObject
1.28.0 版后已棄用:改為使用?reader.pages[page_number]
?。
getPageLayout()→ Optional[str]
1.28.0 版后已棄用:改為使用?page_layout
?。
getPageMode()→ Literal[/UseNone, /UseOutlines, /UseThumbs, /FullScreen, /UseOC, /UseAttachments]]
1.28.0 版后已棄用:改為使用?page_mode
?。
getPageNumber(page: PageObject)→ int
1.28.0 版后已棄用:改為使用?get_page_number()
?。
getXmpMetadata()→ Optional[XmpInformation]
1.28.0 版后已棄用:改為使用?xmp_metadata
?屬性。
get_destination_page_number(destination: Destination)→ int
檢索給定目標(biāo)對象的頁碼。
destination ( Destination) – 獲取頁碼的目的地。
頁碼或 -1 如果找不到頁面
get_fields(tree: Optional[TreeObject] = None, retval: Optional[Dict[Any, Any]] = None, fileobj: Optional[Any] = None)→ Optional[Dict[str, Any]]
如果此 PDF 包含交互式表單域,則提取域數(shù)據(jù)。
?tree
?和?retval
?參數(shù)用于遞歸使用。
fileobj – 一個文件對象(通常是文本文件),用于在找到的所有交互式表單字段上寫入報告。
一個字典,其中每個鍵是一個字段名稱,每個值是一個?Field
?對象。默認(rèn)情況下,映射名稱用于鍵。 如果無法找到表單數(shù)據(jù)則為?None
?。
get_form_text_fields()→ Dict[str, Any]
從包含文本數(shù)據(jù)的文檔中檢索表單字段。
鍵是表單域的名稱,值是域的內(nèi)容。
如果文檔包含多個具有相同名稱的表單字段,則第二個和后續(xù)字段將獲得后綴 _2、_3、...
get_object(indirect_reference: Union[int, IndirectObject])→ Optional[PdfObject]
get_page_number(page: PageObject)→ int
檢索給定 PageObject 的頁碼
page ( PageObject) – 要獲取頁碼的頁面。應(yīng)該是一個實例?PageObject
?
頁碼或 -1 如果找不到頁面
屬性 isEncrypted: bool
自版本 1.28.0 后棄用。
改用?is_encrypted
?。
屬性 is_encrypted: bool
顯示此 PDF 文件是否加密的只讀布爾屬性。
請注意,如果此屬性為真,則即使在? decrypt()
?調(diào)用該方法后也將保持為真。
屬性 metadata: Optional[DocumentInformation]
檢索 PDF 文件的文檔信息字典(如果存在)。請注意,某些 PDF 文件使用元數(shù)據(jù)流而不是 docinfo 詞典,并且此函數(shù)不會訪問這些元數(shù)據(jù)流。
該PDF文件的文檔信息
屬性 namedDestinations: Dict[str, Any]
自版本 1.28.0 后棄用。
改用?named_destinations
?。
屬性 named_destinations: Dict[str, Any]
將名稱映射到的只讀字典 ?Destinations
?
屬性 numPages: int
自版本 1.28.0 后棄用。
改用?len(reader.pages)
?。
屬性 outline: List[Union[Destination, List[Union[Destination, List[Destination]]]]]
文檔中存在的大綱(即“大綱項”的集合,也稱為“書簽”)的只讀屬性。
名為?
的嵌套列表。Destinations
?
屬性 outlines: List[Union[Destination, List[Union[Destination, List[Destination]]]]]
自版本 2.9.0 后棄用。
改用?outline
?。
屬性 pageLayout: Optional[str]
自版本 1.28.0 后棄用。
改用?page_layout
?。
屬性 pageMode: Literal[/UseNone, /UseOutlines, /UseThumbs, /FullScreen, /UseOC, /UseAttachments]]
自版本 1.28.0 后棄用。
改用?page_mode
?。
屬性 page_layout: Optional[str]
獲取頁面布局。
當(dāng)前正在使用的頁面布局。
/NoLayout |
未明確指定布局 |
/SinglePage |
一次顯示一頁 |
/OneColumn |
一次顯示一列 |
/TwoColumnLeft |
分兩列顯示頁面,左側(cè)為奇數(shù)頁 |
/TwoColumnRight |
分兩列顯示頁面,奇數(shù)頁在右邊 |
/TwoPageLeft |
一次顯示兩頁,奇數(shù)頁在左邊 |
/TwoPageRight |
一次顯示兩頁,奇數(shù)頁在右邊 |
屬性 page_mode: Literal[/UseNone, /UseOutlines, /UseThumbs, /FullScreen, /UseOC, /UseAttachments]]
獲取頁面模式。
當(dāng)前正在使用的頁面模式。
/UseNone |
不顯示大綱或縮略圖面板 |
/UseOutlines |
顯示大綱(又名書簽)面板 |
/UseThumbs |
顯示頁面縮略圖面板 |
/FullScreen |
全屏視圖 |
/UseOC |
顯示可選內(nèi)容組(OCG)面板 |
/UseAttachments |
顯示附件面板 |
屬性 pages: List[PageObject]
只讀屬性,用于模擬?Page
?對象列表。
屬性 pdf_header: str
read(stream: IO)→ None
readNextEndLine(stream: IO, limit_offset: int = 0)→ bytes
自版本 1.28.0 后棄用。
readObjectHeader(stream: IO)→ Tuple[int, int]
1.28.0 版后已棄用:改為使用?read_object_header()
?。
read_next_end_line(stream: IO, limit_offset: int = 0)→ bytes
2.1.0 版后棄用。
read_object_header(stream: IO)→ Tuple[int, int]
屬性 threads: Optional[ArrayObject]
線程列表的只讀屬性請參閱 PDF 1.7 規(guī)范中的§8.3.2
具有“/F”和“/I”屬性的字典數(shù)組,如果沒有文章則為 None。
屬性 xfa: Optional[Dict[str, Any]]
屬性 xmpMetadata: Optional[XmpInformation]
自版本 1.28.0 后棄用。
請改用?xmp_metadata
?屬性。
屬性 xmp_metadata: Optional[XmpInformation]
XMP(可擴展元數(shù)據(jù)平臺)數(shù)據(jù)
可以用于訪問文檔中的XMP元數(shù)據(jù)的?XmpInformation
?實例。如果在文檔根目錄上找不到元數(shù)據(jù),則為?None
?。
更多建議: