langchain_community.document_loaders.pdf.PyPDFLoader

class langchain_community.document_loaders.pdf.PyPDFLoader(file_path: str, password: Optional[Union[str, bytes]] = None, headers: Optional[Dict] = None, extract_images: bool = False, *, extraction_mode: str = 'plain', extraction_kwargs: Optional[Dict] = None)[source]

PyPDFLoader document loader integration

Setup:

Install langchain-community.

pip install -U langchain-community
Instantiate:
from langchain_community.document_loaders import PyPDFLoader

loader = PyPDFLoader(
    file_path = "./example_data/layout-parser-paper.pdf",
    password = "my-pasword",
    extract_images = True,
    # headers = None
    # extraction_mode = "plain",
    # extraction_kwargs = None,
)
Lazy load:
docs = []
docs_lazy = loader.lazy_load()

# async variant:
# docs_lazy = await loader.alazy_load()

for doc in docs_lazy:
    docs.append(doc)
print(docs[0].page_content[:100])
print(docs[0].metadata)
LayoutParser : A Unified Toolkit for Deep
Learning Based Document Image Analysis
Zejiang Shen1( ), R
{'source': './example_data/layout-parser-paper.pdf', 'page': 0}
Async load:
docs = await loader.aload()
print(docs[0].page_content[:100])
print(docs[0].metadata)
LayoutParser : A Unified Toolkit for Deep
Learning Based Document Image Analysis
Zejiang Shen1( ), R
{'source': './example_data/layout-parser-paper.pdf', 'page': 0}

Initialize with a file path.

Attributes

source

Methods

__init__(file_path[, password, headers, ...])

Initialize with a file path.

alazy_load()

A lazy loader for Documents.

aload()

Load data into Document objects.

lazy_load()

Lazy load given path as pages.

load()

Load data into Document objects.

load_and_split([text_splitter])

Load Documents and split into chunks.

Parameters
  • file_path (str) –

  • password (Optional[Union[str, bytes]]) –

  • headers (Optional[Dict]) –

  • extract_images (bool) –

  • extraction_mode (str) –

  • extraction_kwargs (Optional[Dict]) –

__init__(file_path: str, password: Optional[Union[str, bytes]] = None, headers: Optional[Dict] = None, extract_images: bool = False, *, extraction_mode: str = 'plain', extraction_kwargs: Optional[Dict] = None) None[source]

Initialize with a file path.

Parameters
  • file_path (str) –

  • password (Optional[Union[str, bytes]]) –

  • headers (Optional[Dict]) –

  • extract_images (bool) –

  • extraction_mode (str) –

  • extraction_kwargs (Optional[Dict]) –

Return type

None

async alazy_load() AsyncIterator[Document]

A lazy loader for Documents.

Return type

AsyncIterator[Document]

async aload() List[Document]

Load data into Document objects.

Return type

List[Document]

lazy_load() Iterator[Document][source]

Lazy load given path as pages.

Return type

Iterator[Document]

load() List[Document]

Load data into Document objects.

Return type

List[Document]

load_and_split(text_splitter: Optional[TextSplitter] = None) List[Document]

Load Documents and split into chunks. Chunks are returned as Documents.

Do not override this method. It should be considered to be deprecated!

Parameters

text_splitter (Optional[TextSplitter]) – TextSplitter instance to use for splitting documents. Defaults to RecursiveCharacterTextSplitter.

Returns

List of Documents.

Return type

List[Document]

Examples using PyPDFLoader