| Name | Type | Description |
|---|---|---|
password | Optional[str] | Default: NoneOptional password for opening encrypted PDFs. |
mode | Literal['single', 'page'] | Default: 'page'The extraction mode, either "single" for the entire document or "page" for page-wise extraction. |
pages_delimiter | str | Default: _DEFAULT_PAGES_DELIMITER |
extract_images | bool | Default: False |
images_parser | Optional[BaseImageBlobParser] | Default: None |
images_inner_format | Literal['text', 'markdown-img', 'html-img'] | Default: 'text' |
extraction_mode* | unknown | |
extraction_kwargs* | unknown |
Parse a blob from a PDF using PyPDFium2 library.
This class provides methods to parse a blob from a PDF document, supporting various configurations such as handling password-protected PDFs, extracting images, and defining extraction mode. It integrates the 'PyPDFium2' library for PDF processing and offers synchronous blob parsing.
Examples: Setup:
.. code-block:: bash
pip install -U langchain-community pypdfium2
Load a blob from a PDF file:
.. code-block:: python
from langchain_core.documents.base import Blob
blob = Blob.from_path("./example_data/layout-parser-paper.pdf")
Instantiate the parser:
.. code-block:: python
from langchain_community.document_loaders.parsers import PyPDFium2Parser
parser = PyPDFium2Parser(
# password=None,
mode="page",
pages_delimiter="
", # extract_images = True, # images_to_text = convert_images_to_text_with_tesseract(), )
Lazily parse the blob:
.. code-block:: python
docs = []
docs_lazy = parser.lazy_parse(blob)
for doc in docs_lazy:
docs.append(doc)
print(docs[0].page_content[:100])
print(docs[0].metadata)
A string delimiter to separate pages in single-mode extraction.
Whether to extract images from the PDF.
Optional image blob parser.
The format for the parsed output.
![body)(#)]alt text of an tag and link to
(<img alt="{body}" src="#"/>)“plain” for legacy functionality, “layout” for experimental layout mode functionality
Optional additional parameters for the extraction process.