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,org.apache.tika.config.Initializable,org.apache.tika.parser.Parser
public class TesseractOCRParser
extends org.apache.tika.parser.AbstractExternalProcessParser
implements org.apache.tika.config.Initializable
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:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.apache.tika.metadata.Propertystatic final org.apache.tika.metadata.Propertystatic final org.apache.tika.metadata.Propertystatic final org.apache.tika.metadata.Propertystatic final org.apache.tika.metadata.Propertystatic final org.apache.tika.metadata.Propertystatic final org.apache.tika.metadata.Propertystatic final org.apache.tika.metadata.Propertystatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcheckInitialization(org.apache.tika.config.InitializableProblemHandler problemHandler) intintgetDepth()static StringgetLangs()longlongintSet<org.apache.tika.mime.MediaType>getSupportedTypes(org.apache.tika.parser.ParseContext context) static Stringintbooleanprotected booleanvoidinitialize(Map<String, org.apache.tika.config.Param> params) booleanbooleanbooleanbooleanbooleanvoidparse(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) voidsetApplyRotation(boolean applyRotation) voidsetColorspace(String colorspace) voidsetDensity(int density) voidsetDepth(int depth) voidsetEnableImagePreprocessing(boolean enableImagePreprocessing) voidvoidsetImageMagickPath(String imageMagickPath) Set the path to the ImageMagick executable directory, needed if it is not on system path.voidsetLanguage(String language) voidsetMaxFileSizeToOcr(long maxFileSizeToOcr) voidsetMinFileSizeToOcr(long minFileSizeToOcr) voidsetOtherTesseractSettings(List<String> settings) voidsetOutputType(String outputType) voidsetPageSegMode(String pageSegMode) voidsetPreloadLangs(boolean preloadLangs) If set totrueand if tesseract is found, this will load the langs that result from --list-langs.voidsetPreserveInterwordSpacing(boolean preserveInterwordSpacing) voidsetResize(int resize) voidsetSkipOCR(boolean skipOCR) voidsetTessdataPath(String tessdataPath) Set the path to the 'tessdata' folder, which contains language files and config files.voidsetTesseractPath(String tesseractPath) Set the path to the Tesseract executable's directory, needed if it is not on system path.voidsetTimeout(int timeout) Set default timeout in seconds.protected voidwarn()Methods inherited from class org.apache.tika.parser.AbstractExternalProcessParser
register, releaseMethods inherited from class org.apache.tika.parser.AbstractParser
parse
-
Field Details
-
TESS_META
- See Also:
-
IMAGE_ROTATION
public static final org.apache.tika.metadata.Property IMAGE_ROTATION -
IMAGE_MAGICK
public static final org.apache.tika.metadata.Property IMAGE_MAGICK -
PSM0_PAGE_NUMBER
public static final org.apache.tika.metadata.Property PSM0_PAGE_NUMBER -
PSM0_ORIENTATION
public static final org.apache.tika.metadata.Property PSM0_ORIENTATION -
PSM0_ROTATE
public static final org.apache.tika.metadata.Property PSM0_ROTATE -
PSM0_ORIENTATION_CONFIDENCE
public static final org.apache.tika.metadata.Property PSM0_ORIENTATION_CONFIDENCE -
PSM0_SCRIPT
public static final org.apache.tika.metadata.Property PSM0_SCRIPT -
PSM0_SCRIPT_CONFIDENCE
public static final org.apache.tika.metadata.Property PSM0_SCRIPT_CONFIDENCE
-
-
Constructor Details
-
TesseractOCRParser
public TesseractOCRParser()
-
-
Method Details
-
getImageMagickProg
-
getTesseractProg
-
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() throws org.apache.tika.exception.TikaConfigException- Throws:
org.apache.tika.exception.TikaConfigException
-
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
-
initialize
public void initialize(Map<String, org.apache.tika.config.Param> params) throws org.apache.tika.exception.TikaConfigException- Specified by:
initializein interfaceorg.apache.tika.config.Initializable- 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
-
getLangs
-
hasWarned
protected boolean hasWarned() -
warn
protected void warn() -
getTesseractPath
-
setTesseractPath
Set the path to the Tesseract executable's directory, needed if it is not on system path.Note that if you set this value, it is highly recommended that you also set the path to (and including) the 'tessdata' folder using
setTessdataPath(java.lang.String). -
getTessdataPath
-
setTessdataPath
Set the path to the 'tessdata' folder, which contains language files and config files. In some cases (such as on Windows), this folder is found in the Tesseract installation, but in other cases (such as when Tesseract is built from source), it may be located elsewhere. Make sure to include the 'tessdata' folder in this path: '/blah/de/blah/tessdata' -
getImageMagickPath
-
setImageMagickPath
Set the path to the ImageMagick executable directory, needed if it is not on system path.- Parameters:
imageMagickPath- to ImageMagick executable directory.
-
setOtherTesseractSettings
@Field public void setOtherTesseractSettings(List<String> settings) throws org.apache.tika.exception.TikaConfigException - Throws:
org.apache.tika.exception.TikaConfigException
-
getOtherTesseractSettings
-
setSkipOCR
@Field public void setSkipOCR(boolean skipOCR) -
isSkipOCR
public boolean isSkipOCR() -
setLanguage
-
getLanguage
-
setPageSegMode
-
getPageSegMode
-
setMaxFileSizeToOcr
@Field public void setMaxFileSizeToOcr(long maxFileSizeToOcr) -
getMaxFileSizeToOcr
public long getMaxFileSizeToOcr() -
setMinFileSizeToOcr
@Field public void setMinFileSizeToOcr(long minFileSizeToOcr) -
getMinFileSizeToOcr
public long getMinFileSizeToOcr() -
setTimeout
@Field public void setTimeout(int timeout) Set default timeout in seconds. This can be overridden per parse withTikaTaskTimeoutsent in via theParseContextat parse time.- Parameters:
timeout-
-
getTimeout
public int getTimeout() -
setOutputType
-
getOutputType
-
setPreserveInterwordSpacing
@Field public void setPreserveInterwordSpacing(boolean preserveInterwordSpacing) -
isPreserveInterwordSpacing
public boolean isPreserveInterwordSpacing() -
setEnableImagePreprocessing
@Field public void setEnableImagePreprocessing(boolean enableImagePreprocessing) -
isEnableImagePreprocessing
public boolean isEnableImagePreprocessing() -
setDensity
@Field public void setDensity(int density) -
getDensity
public int getDensity() -
setDepth
@Field public void setDepth(int depth) -
getDepth
public int getDepth() -
setColorspace
-
getColorspace
-
setFilter
-
getFilter
-
setResize
@Field public void setResize(int resize) -
getResize
public int getResize() -
setApplyRotation
@Field public void setApplyRotation(boolean applyRotation) -
isApplyRotation
public boolean isApplyRotation() -
setPreloadLangs
@Field public void setPreloadLangs(boolean preloadLangs) If set totrueand if tesseract is found, this will load the langs that result from --list-langs. At parse time, the parser will verify that tesseract has the requested lang available.If set to
false(the default) and tesseract is found, if a user requests a language that tesseract does not have data for, a TikaException will be thrown with tesseract's native exception message, which is a bit less readable.- Parameters:
preloadLangs-
-
isPreloadLangs
public boolean isPreloadLangs() -
getDefaultConfig
-