有没有办法在不卸载 tesseract 的情况下禁用 Tika 中的 OCR 模式
Is there a way to disable OCR mode in Tika without uninstalling tesseract
我正在为我的项目使用 tika-app jar,有没有办法在 tika 中禁用 tesseract OCR。有两件事必须保持不变:
1.tesseract无法卸载
2.tika.xml无法编辑,因为tika-app.jar是现成的
有没有办法通过设置上下文或解析器 属性 来禁用 OCR,从而在 java 代码中设置配置?
我尝试了下面的代码,但 OCR 在解析时仍然从图像文件中提取文本。
PDFParserConfig pdfConfig = new PDFParserConfig();
pdfConfig.setOcrStrategy(OCR_STRATEGY.NO_OCR);
context.set(PDFParserConfig.class, pdfConfig);```
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<parsers>
<parser class="org.apache.tika.parser.DefaultParser">
<parser-exclude class="org.apache.tika.parser.ocr.TesseractOCRParser"/>
</parser>
</parsers>
</properties>
我更喜欢使用 java 来执行此操作,因为它与默认配置的唯一区别是删除了 OCR;我不确定 XML 配置是否相同:
TikaConfig defaultConfig = TikaConfig.getDefaultConfig();
CompositeParser compositeParser = (CompositeParser) defaultConfig.getParser();
Map<MediaType, Parser> parsers = compositeParser.getParsers();
parsers.values().removeIf(parser -> parser instanceof TesseractOCRParser);
compositeParser.setParsers(parsers);
Tika TIKA = new Tika(defaultConfig);
我正在为我的项目使用 tika-app jar,有没有办法在 tika 中禁用 tesseract OCR。有两件事必须保持不变:
1.tesseract无法卸载
2.tika.xml无法编辑,因为tika-app.jar是现成的
有没有办法通过设置上下文或解析器 属性 来禁用 OCR,从而在 java 代码中设置配置?
我尝试了下面的代码,但 OCR 在解析时仍然从图像文件中提取文本。
PDFParserConfig pdfConfig = new PDFParserConfig();
pdfConfig.setOcrStrategy(OCR_STRATEGY.NO_OCR);
context.set(PDFParserConfig.class, pdfConfig);```
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<parsers>
<parser class="org.apache.tika.parser.DefaultParser">
<parser-exclude class="org.apache.tika.parser.ocr.TesseractOCRParser"/>
</parser>
</parsers>
</properties>
我更喜欢使用 java 来执行此操作,因为它与默认配置的唯一区别是删除了 OCR;我不确定 XML 配置是否相同:
TikaConfig defaultConfig = TikaConfig.getDefaultConfig();
CompositeParser compositeParser = (CompositeParser) defaultConfig.getParser();
Map<MediaType, Parser> parsers = compositeParser.getParsers();
parsers.values().removeIf(parser -> parser instanceof TesseractOCRParser);
compositeParser.setParsers(parsers);
Tika TIKA = new Tika(defaultConfig);