public class TesseractOCRParser extends AbstractExternalProcessParser implements Initializable
TesseractOCRConfig
object and pass it through a
ParseContext. Tesseract-ocr must be installed and on system path or the path
to its root folder must be provided:
TesseractOCRConfig config = new TesseractOCRConfig();
//Needed if tesseract is not on system path
config.setTesseractPath(tesseractFolder);
parseContext.set(TesseractOCRConfig.class, config);
Constructor and Description |
---|
TesseractOCRParser() |
Modifier and Type | Method and Description |
---|---|
void |
checkInitialization(InitializableProblemHandler problemHandler) |
TesseractOCRConfig |
getDefaultConfig() |
Set<MediaType> |
getSupportedTypes(ParseContext context)
Returns the set of media types supported by this parser when used
with the given parse context.
|
boolean |
hasTesseract(TesseractOCRConfig config) |
protected boolean |
hasWarned() |
void |
initialize(Map<String,Param> params)
no-op
|
void |
parse(Image image,
ContentHandler handler,
Metadata metadata,
ParseContext context) |
void |
parse(InputStream stream,
ContentHandler handler,
Metadata metadata,
ParseContext parseContext)
Parses a document stream into a sequence of XHTML SAX events.
|
void |
parseInline(InputStream stream,
XHTMLContentHandler xhtml,
ParseContext parseContext,
TesseractOCRConfig config)
Use this to parse content without starting a new document.
|
void |
parseInline(InputStream stream,
XHTMLContentHandler xhtml,
TesseractOCRConfig config)
|
void |
setApplyRotation(boolean applyRotation) |
void |
setColorspace(String colorspace) |
void |
setDensity(int density) |
void |
setDepth(int depth) |
void |
setEnableImageProcessing(int enableImageProcessing) |
void |
setFilter(String filter) |
void |
setImageMagickPath(String imageMagickPath) |
void |
setLanguage(String language) |
void |
setMaxFileSizeToOcr(long maxFileSizeToOcr) |
void |
setMinFileSizeToOcr(long minFileSizeToOcr) |
void |
setOutputType(String outputType) |
void |
setPageSegMode(String pageSegMode) |
void |
setPreserveInterwordSpacing(boolean preserveInterwordSpacing) |
void |
setResize(int resize) |
void |
setTessdataPath(String tessdataPath) |
void |
setTesseractPath(String tesseractPath) |
void |
setTimeout(int timeout) |
protected void |
warn() |
register, release
parse
public Set<MediaType> getSupportedTypes(ParseContext context)
Parser
getSupportedTypes
in interface Parser
context
- parse contextpublic boolean hasTesseract(TesseractOCRConfig config)
public void parse(Image image, ContentHandler handler, Metadata metadata, ParseContext context) throws IOException, SAXException, TikaException
IOException
SAXException
TikaException
public void parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext parseContext) throws IOException, SAXException, TikaException
Parser
The given document stream is consumed but not closed by this method. The responsibility to close the stream remains on the caller.
Information about the parsing context can be passed in the context parameter. See the parser implementations for the kinds of context information they expect.
parse
in interface Parser
stream
- the document stream (input)handler
- handler for the XHTML SAX events (output)metadata
- document metadata (input and output)parseContext
- parse contextIOException
- if the document stream could not be readSAXException
- if the SAX events could not be processedTikaException
- if the document could not be parsedpublic void parseInline(InputStream stream, XHTMLContentHandler xhtml, TesseractOCRConfig config) throws IOException, SAXException, TikaException
stream
- inputstreamxhtml
- handlerconfig
- TesseractOCRConfig to use for this parseIOException
SAXException
TikaException
public void parseInline(InputStream stream, XHTMLContentHandler xhtml, ParseContext parseContext, TesseractOCRConfig config) throws IOException, SAXException, TikaException
stream
- inputstreamxhtml
- handlerconfig
- TesseractOCRConfig to use for this parseIOException
SAXException
TikaException
public void initialize(Map<String,Param> params) throws TikaConfigException
initialize
in interface Initializable
params
- params to use for initializationTikaConfigException
public void checkInitialization(InitializableProblemHandler problemHandler) throws TikaConfigException
checkInitialization
in interface Initializable
problemHandler
- if there is a problem and no
custom initializableProblemHandler has been configured
via Initializable parameters,
this is called to respond.TikaConfigException
protected boolean hasWarned()
protected void warn()
@Field public void setMaxFileSizeToOcr(long maxFileSizeToOcr)
@Field public void setMinFileSizeToOcr(long minFileSizeToOcr)
@Field public void setTimeout(int timeout)
@Field public void setPreserveInterwordSpacing(boolean preserveInterwordSpacing)
@Field public void setEnableImageProcessing(int enableImageProcessing)
@Field public void setDensity(int density)
@Field public void setDepth(int depth)
@Field public void setResize(int resize)
@Field public void setApplyRotation(boolean applyRotation)
public TesseractOCRConfig getDefaultConfig()
Copyright © 2007–2021 The Apache Software Foundation. All rights reserved.