| 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' |
extract_tables | Union[Literal['csv', 'markdown', 'html'], None] | Default: None |
extract_tables_settings | Optional[dict[str, Any]] | Default: None |
| Name | Type |
|---|---|
| text_kwargs | Optional[dict[str, Any]] |
| extract_images | bool |
| password | Optional[str] |
| mode | Literal['single', 'page'] |
| pages_delimiter | str |
| images_parser | Optional[BaseImageBlobParser] |
| images_inner_format | Literal['text', 'markdown-img', 'html-img'] |
| extract_tables | Union[Literal['csv', 'markdown', 'html'], None] |
| extract_tables_settings | Optional[dict[str, Any]] |
Parse a blob from a PDF using PyMuPDF 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 'PyMuPDF' library for PDF processing and offers synchronous blob parsing.
Examples: Setup:
.. code-block:: bash
pip install -U langchain-community pymupdf
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 PyMuPDFParser
parser = PyMuPDFParser(
# password = None,
mode = "single",
pages_delimiter = "
", # images_parser = TesseractBlobParser(), # extract_tables="markdown", # extract_tables_settings=None, # text_kwargs=None, )
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="#"/>)Whether to extract tables in a specific format, such as "csv", "markdown", or "html".
Optional dictionary of settings for customizing table extraction.