Package org.apache.tika.parser.ocr
Class TesseractOCRParser
java.lang.Object
org.apache.tika.parser.AbstractParser
org.apache.tika.parser.AbstractExternalProcessParser
org.apache.tika.parser.ocr.TesseractOCRParser
- All Implemented Interfaces:
Serializable,Initializable,Parser
TesseractOCRParser powered by tesseract-ocr engine. To enable this parser,
create a
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);
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcheckInitialization(InitializableProblemHandler problemHandler) getSupportedTypes(ParseContext context) Returns the set of media types supported by this parser when used with the given parse context.booleanhasTesseract(TesseractOCRConfig config) voidinitialize(Map<String, Param> params) no-opvoidparse(Image image, ContentHandler handler, Metadata metadata, ParseContext context) voidparse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext parseContext) Parses a document stream into a sequence of XHTML SAX events.voidparseInline(InputStream stream, XHTMLContentHandler xhtml, TesseractOCRConfig config) Deprecated.voidparseInline(InputStream stream, XHTMLContentHandler xhtml, ParseContext parseContext, TesseractOCRConfig config) Use this to parse content without starting a new document.voidsetApplyRotation(boolean applyRotation) voidsetColorspace(String colorspace) voidsetDensity(int density) voidsetDepth(int depth) voidsetEnableImageProcessing(int enableImageProcessing) voidvoidsetImageMagickPath(String imageMagickPath) voidsetLanguage(String language) voidsetMaxFileSizeToOcr(long maxFileSizeToOcr) voidsetMinFileSizeToOcr(long minFileSizeToOcr) voidsetOutputType(String outputType) voidsetPageSegMode(String pageSegMode) voidsetPreserveInterwordSpacing(boolean preserveInterwordSpacing) voidsetResize(int resize) voidsetTessdataPath(String tessdataPath) voidsetTesseractPath(String tesseractPath) voidsetTimeout(int timeout) Methods inherited from class org.apache.tika.parser.AbstractParser
parse
-
Constructor Details
-
TesseractOCRParser
public TesseractOCRParser()
-
-
Method Details
-
getSupportedTypes
Description copied from interface:ParserReturns the set of media types supported by this parser when used with the given parse context.- Specified by:
getSupportedTypesin interfaceParser- Parameters:
context- parse context- Returns:
- immutable set of media types
-
hasTesseract
-
parse
public void parse(Image image, ContentHandler handler, Metadata metadata, ParseContext context) throws IOException, SAXException, TikaException - Throws:
IOExceptionSAXExceptionTikaException
-
parse
public void parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext parseContext) throws IOException, SAXException, TikaException Description copied from interface:ParserParses a document stream into a sequence of XHTML SAX events. Fills in related document metadata in the given metadata object.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.
- Specified by:
parsein interfaceParser- Parameters:
stream- the document stream (input)handler- handler for the XHTML SAX events (output)metadata- document metadata (input and output)parseContext- parse context- Throws:
IOException- if the document stream could not be readSAXException- if the SAX events could not be processedTikaException- if the document could not be parsed
-
parseInline
public void parseInline(InputStream stream, XHTMLContentHandler xhtml, TesseractOCRConfig config) throws IOException, SAXException, TikaException Use this to parse content without starting a new document. This appends SAX events to xhtml without re-adding the metadata, body start, etc.- Parameters:
stream- inputstreamxhtml- handlerconfig- TesseractOCRConfig to use for this parse- Throws:
IOExceptionSAXExceptionTikaException
-
parseInline
public void parseInline(InputStream stream, XHTMLContentHandler xhtml, ParseContext parseContext, TesseractOCRConfig config) throws IOException, SAXException, TikaException Use this to parse content without starting a new document. This appends SAX events to xhtml without re-adding the metadata, body start, etc.- Parameters:
stream- inputstreamxhtml- handlerconfig- TesseractOCRConfig to use for this parse- Throws:
IOExceptionSAXExceptionTikaException
-
initialize
no-op- Specified by:
initializein interfaceInitializable- Parameters:
params- params to use for initialization- Throws:
TikaConfigException
-
checkInitialization
public void checkInitialization(InitializableProblemHandler problemHandler) throws TikaConfigException - Specified by:
checkInitializationin interfaceInitializable- Parameters:
problemHandler- if there is a problem and no custom initializableProblemHandler has been configured via Initializable parameters, this is called to respond.- Throws:
TikaConfigException
-
setTesseractPath
-
setTessdataPath
-
setLanguage
-
setPageSegMode
-
setMaxFileSizeToOcr
-
setMinFileSizeToOcr
-
setTimeout
-
setOutputType
-
setPreserveInterwordSpacing
-
setEnableImageProcessing
-
setImageMagickPath
-
setDensity
-
setDepth
-
setColorspace
-
setFilter
-
setResize
-
setApplyRotation
-
getDefaultConfig
-
parseInline(InputStream, XHTMLContentHandler, ParseContext, TesseractOCRConfig)