Package org.apache.tika.parser.ocr
Class TesseractOCRParser
- java.lang.Object
-
- org.apache.tika.parser.AbstractParser
-
- org.apache.tika.parser.ocr.TesseractOCRParser
-
- All Implemented Interfaces:
Serializable,org.apache.tika.config.Initializable,org.apache.tika.parser.Parser
public class TesseractOCRParser extends org.apache.tika.parser.AbstractParser implements org.apache.tika.config.InitializableTesseractOCRParser powered by tesseract-ocr engine. To enable this parser, create aTesseractOCRConfigobject 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:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description TesseractOCRParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidcheckInitialization(org.apache.tika.config.InitializableProblemHandler problemHandler)TesseractOCRConfiggetDefaultConfig()Set<org.apache.tika.mime.MediaType>getSupportedTypes(org.apache.tika.parser.ParseContext context)booleanhasTesseract(TesseractOCRConfig config)protected booleanhasWarned()voidinitialize(Map<String,org.apache.tika.config.Param> params)no-opvoidparse(Image image, ContentHandler handler, org.apache.tika.metadata.Metadata metadata, org.apache.tika.parser.ParseContext context)voidparse(InputStream stream, ContentHandler handler, org.apache.tika.metadata.Metadata metadata, org.apache.tika.parser.ParseContext parseContext)voidparseInline(InputStream stream, org.apache.tika.sax.XHTMLContentHandler xhtml, TesseractOCRConfig config)voidparseInline(InputStream stream, org.apache.tika.sax.XHTMLContentHandler xhtml, org.apache.tika.parser.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)voidsetFilter(String filter)voidsetImageMagickPath(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)protected voidwarn()
-
-
-
Method Detail
-
getSupportedTypes
public Set<org.apache.tika.mime.MediaType> getSupportedTypes(org.apache.tika.parser.ParseContext context)
- Specified by:
getSupportedTypesin interfaceorg.apache.tika.parser.Parser
-
hasTesseract
public boolean hasTesseract(TesseractOCRConfig config)
-
parse
public void parse(Image image, ContentHandler handler, org.apache.tika.metadata.Metadata metadata, org.apache.tika.parser.ParseContext context) throws IOException, SAXException, org.apache.tika.exception.TikaException
- Throws:
IOExceptionSAXExceptionorg.apache.tika.exception.TikaException
-
parse
public void parse(InputStream stream, ContentHandler handler, org.apache.tika.metadata.Metadata metadata, org.apache.tika.parser.ParseContext parseContext) throws IOException, SAXException, org.apache.tika.exception.TikaException
- Specified by:
parsein interfaceorg.apache.tika.parser.Parser- Throws:
IOExceptionSAXExceptionorg.apache.tika.exception.TikaException
-
parseInline
public void parseInline(InputStream stream, org.apache.tika.sax.XHTMLContentHandler xhtml, TesseractOCRConfig config) throws IOException, SAXException, org.apache.tika.exception.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:
IOExceptionSAXExceptionorg.apache.tika.exception.TikaException
-
parseInline
public void parseInline(InputStream stream, org.apache.tika.sax.XHTMLContentHandler xhtml, org.apache.tika.parser.ParseContext parseContext, TesseractOCRConfig config) throws IOException, SAXException, org.apache.tika.exception.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:
IOExceptionSAXExceptionorg.apache.tika.exception.TikaException
-
initialize
public void initialize(Map<String,org.apache.tika.config.Param> params) throws org.apache.tika.exception.TikaConfigException
no-op- Specified by:
initializein interfaceorg.apache.tika.config.Initializable- Parameters:
params- params to use for initialization- Throws:
org.apache.tika.exception.TikaConfigException
-
checkInitialization
public void checkInitialization(org.apache.tika.config.InitializableProblemHandler problemHandler) throws org.apache.tika.exception.TikaConfigException- Specified by:
checkInitializationin interfaceorg.apache.tika.config.Initializable- Throws:
org.apache.tika.exception.TikaConfigException
-
hasWarned
protected boolean hasWarned()
-
warn
protected void warn()
-
setTesseractPath
@Field public void setTesseractPath(String tesseractPath)
-
setTessdataPath
@Field public void setTessdataPath(String tessdataPath)
-
setLanguage
@Field public void setLanguage(String language)
-
setPageSegMode
@Field public void setPageSegMode(String pageSegMode)
-
setMaxFileSizeToOcr
@Field public void setMaxFileSizeToOcr(long maxFileSizeToOcr)
-
setMinFileSizeToOcr
@Field public void setMinFileSizeToOcr(long minFileSizeToOcr)
-
setTimeout
@Field public void setTimeout(int timeout)
-
setOutputType
@Field public void setOutputType(String outputType)
-
setPreserveInterwordSpacing
@Field public void setPreserveInterwordSpacing(boolean preserveInterwordSpacing)
-
setEnableImageProcessing
@Field public void setEnableImageProcessing(int enableImageProcessing)
-
setImageMagickPath
@Field public void setImageMagickPath(String imageMagickPath)
-
setDensity
@Field public void setDensity(int density)
-
setDepth
@Field public void setDepth(int depth)
-
setColorspace
@Field public void setColorspace(String colorspace)
-
setFilter
@Field public void setFilter(String filter)
-
setResize
@Field public void setResize(int resize)
-
setApplyRotation
@Field public void setApplyRotation(boolean applyRotation)
-
getDefaultConfig
public TesseractOCRConfig getDefaultConfig()
-
-