fix(ocr): use 1-based page numbers to match frontend PDF viewer
The PDF viewer uses 1-based currentPage (starting at 1) but the OCR engines produced 0-based pageNumber from enumerate(). Annotations created by OCR were assigned to page 0, which doesn't exist in the viewer. Change enumerate() to start=1 in both engines and the streaming endpoint. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -61,8 +61,8 @@ def test_surya_extract_blocks_delegates_to_extract_page_blocks():
|
||||
blocks = surya.extract_blocks([image1, image2])
|
||||
|
||||
assert len(blocks) == 2
|
||||
assert blocks[0]["pageNumber"] == 0
|
||||
assert blocks[1]["pageNumber"] == 1
|
||||
assert blocks[0]["pageNumber"] == 1
|
||||
assert blocks[1]["pageNumber"] == 2
|
||||
|
||||
|
||||
# ─── Kraken extract_page_blocks ──────────────────────────────────────────────
|
||||
@@ -128,5 +128,5 @@ def test_kraken_extract_blocks_delegates_to_extract_page_blocks():
|
||||
blocks = _run_kraken_with_mocks(kraken.extract_blocks, [image1, image2])
|
||||
|
||||
assert len(blocks) == 2
|
||||
assert blocks[0]["pageNumber"] == 0
|
||||
assert blocks[1]["pageNumber"] == 1
|
||||
assert blocks[0]["pageNumber"] == 1
|
||||
assert blocks[1]["pageNumber"] == 2
|
||||
|
||||
Reference in New Issue
Block a user