Skip to content

Commit

Permalink
Fix handling of single pages from multipage TIFF files (issue #2537)
Browse files Browse the repository at this point in the history
That case now uses Leptonica to deliver the desired image instead of
using an inefficient loop in the Tesseract code.

See commit 54fafc4 which used similar
code in the past.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
  • Loading branch information
stweil committed Jul 6, 2019
1 parent 08ca7b8 commit 22fb70c
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions src/api/baseapi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1037,10 +1037,14 @@ bool TessBaseAPI::ProcessPagesMultipageTiff(const l_uint8 *data,
int page = (tessedit_page_number >= 0) ? tessedit_page_number : 0;
size_t offset = 0;
for (; ; ++page) {
if (tessedit_page_number >= 0)
if (tessedit_page_number >= 0) {
page = tessedit_page_number;
pix = (data) ? pixReadMemFromMultipageTiff(data, size, &offset)
: pixReadFromMultipageTiff(filename, &offset);
pix = (data) ? pixReadMemTiff(data, size, page)
: pixReadTiff(filename, page);
} else {
pix = (data) ? pixReadMemFromMultipageTiff(data, size, &offset)
: pixReadFromMultipageTiff(filename, &offset);
}
if (pix == nullptr) break;
tprintf("Page %d\n", page + 1);
char page_str[kMaxIntSize];
Expand Down

0 comments on commit 22fb70c

Please sign in to comment.