docling-project / docling-project/docling
RuntimeError: [json.exception.type_error.302] type must be array, but is null
- Dominant language
- Python
- Stars
- 66.4k
- Forks
- 4.8k
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 84
Description
### Bug
Encountered an error during conversion of document a1b04de25e7b02543ec80ef6a1603b27a57a8ec53e0776950976d37c6bf0941b:
Traceback (most recent call last):
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\pipeline\base_pipeline.py", line 160, in _build_document
for p in pipeline_pages: # Must exhaust!
^^^^^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\pipeline\base_pipeline.py", line 126, in _apply_on_pages
yield from page_batch
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\models\page_assemble_model.py", line 69, in __call__
for page in page_batch:
^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\models\table_structure_model.py", line 181, in __call__
for page in page_batch:
^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\models\layout_model.py", line 146, in __call__
for page in page_batch:
^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\models\easyocr_model.py", line 134, in __call__
for page in page_batch:
^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\models\page_preprocessing_model.py", line 27, in __call__
for page in page_batch:
^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\pipeline\standard_pdf_pipeline.py", line 175, in initialize_page
page._backend = conv_res.input._backend.load_page(page.page_no) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\backend\docling_parse_v4_backend.py", line 175, in load_page
self.dp_doc.get_page(
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling_parse\pdf_parser.py", line 124, in get_page
doc_dict = self._parser.parse_pdf_from_key_on_page(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: [json.exception.type_error.302] type must be array, but is null
Traceback (most recent call last):
File "F:\new_project\doc2markdown\main.py", line 175, in
result_data = fun_d2m(response['Body'].read(), file_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "F:\new_project\doc2markdown\d2m.py", line 221, in fun_d2m
result = doc_converter.convert(source)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\pydantic\_internal\_validate_call.py", line 39, in wrapper_function
return wrapper(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\pydantic\_internal\_validate_call.py", line 136, in __call__
res = self.__pydantic_validator__.validate_python(pydantic_core.ArgsKwargs(args, kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\document_converter.py", line 222, in convert
return next(all_res)
^^^^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\document_converter.py", line 245, in convert_all
for conv_res in conv_res_iter:
^^^^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\document_converter.py", line 280, in _convert
for item in map(
^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\document_converter.py", line 326, in _process_document
conv_res = self._execute_pipeline(in_doc, raises_on_error=raises_on_error)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\document_converter.py", line 349, in _execute_pipeline
conv_res = pipeline.execute(in_doc, raises_on_error=raises_on_error)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\pipeline\base_pipeline.py", line 54, in execute
raise e
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\pipeline\base_pipeline.py", line 46, in execute
conv_res = self._build_document(conv_res)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\pipeline\base_pipeline.py", line 194, in _build_document
raise e
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\pipeline\base_pipeline.py", line 160, in _build_document
for p in pipeline_pages: # Must exhaust!
^^^^^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\pipeline\base_pipeline.py", line 126, in _apply_on_pages
yield from page_batch
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\models\page_assemble_model.py", line 69, in __call__
for page in page_batch:
^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\models\table_structure_model.py", line 181, in __call__
for page in page_batch:
^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\models\layout_model.py", line 146, in __call__
for page in page_batch:
^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\models\easyocr_model.py", line 134, in __call__
for page in page_batch:
^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\models\page_preprocessing_model.py", line 27, in __call__
for page in page_batch:
^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\pipeline\standard_pdf_pipeline.py", line 175, in initialize_page
page._backend = conv_res.input._backend.load_page(page.page_no) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling\backend\docling_parse_v4_backend.py", line 175, in load_page
self.dp_doc.get_page(
File "E:\miniconda3\envs\docs_to_md\Lib\site-packages\docling_parse\pdf_parser.py", line 124, in get_page
doc_dict = self._parser.parse_pdf_from_key_on_page(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: [json.exception.type_error.302] type must be array, but is null
### Steps to reproduce
use these codes :
```
doc_converter = (
DocumentConverter(
allowed_formats=[
InputFormat.PDF,
InputFormat.DOCX,
InputFormat.HTML,],
format_options={
InputFormat.PDF: PdfFormatOption(
pipeline_cls=StandardPdfPipeline #, backend=PyPdfiumDocumentBackend
),
InputFormat.DOCX: WordFormatOption(
pipeline_cls=SimplePipeline #, backend=MsWordDocumentBackend
),
},
)
)
```
or just `doc_converter = DocumentConverter()`,excute command `result = doc_converter.convert(source) `will happen above error,
**I have upload this pdf file, here are whole codes:**
```
from docling.document_converter import (
DocumentConverter,
PdfFormatOption,
WordFormatOption
)
from docling.datamodel.base_models import InputFormat
from docling.pipeline.simple_pipeline import SimplePipeline
from docling.pipeline.standard_pdf_pipeline import StandardPdfPipeline
from io import BytesIO
from docling.datamodel.base_models import DocumentStream
doc_converter = (
DocumentConverter(
allowed_formats=[
InputFormat.PDF,
InputFormat.DOCX,
InputFormat.HTML,
],
format_options={
InputFormat.PDF: PdfFormatOption(
pipeline_cls=StandardPdfPipeline # , backend=PyPdfiumDocumentBackend
),
InputFormat.DOCX: WordFormatOption(
pipeline_cls=SimplePipeline # , backend=MsWordDocumentBackend
),
},
)
)
f_path=r"[903d64af3bda47c08c8ee022a7fdcc36.pdf](https://github.com/user-attachments/files/20476581/903d64af3bda47c08c8ee022a7fdcc36.pdf)"
with open(f_path, 'rb') as f:
content = f.read()
buf = BytesIO(content)
source = DocumentStream(name=f_path, stream=buf)
result = doc_converter.convert(source)
print(result)
```
### Docling version
docling 2.31.1
### Python version
Python 3.12.9
[903d64af3bda47c08c8ee022a7fdcc36.pdf](https://github.com/user-attachments/files/20476581/903d64af3bda47c08c8ee022a7fdcc36.pdf)
Contributor guide
Assessment
This issue has not been assessed yet.