Skip to content
Other versions

Loading…

Built-in Text extractor plugins

Name MIME types Description
AudioTextExtractor audio/mpeg
audio/x-ogg
Reads the file’s own embedded ID3/audio tags (title, artist, album, and so on) using the entagged library; does not analyze the actual audio content.
AutoCadLinkListTextExtractor image/vnd.dxf
image/vnd.dwg
Extracts the TEXT entities (labels/annotations) embedded in an AutoCAD drawing, using the external CADViewer LinkList tool (cadviewer.linklist configuration parameter).
AzureTextExtractor image/tiff
image/gif
image/jpeg
image/png
OCR via Azure Cognitive Services’ Read API (cloud-based, requires Azure endpoint/key configuration). A cloud alternative to TesseractTextExtractor for the same image types.
EPUBTextExtractor application/epub+zip Extracts the plain text of an EPUB e-book’s chapters using epublib.
EmlTextExtractor message/rfc822 Extracts the headers of an EML mail (From, To, Cc, Date and Subject, one “Name: value” line each) followed by the body, preferring the plain text part over the HTML one. Attachments are skipped, except attached mails.
ExifTextExtractor image/jpeg Extracts EXIF/metadata tags (camera model, date, GPS, and so on) from a JPEG using the metadata-extractor library. Not OCR - it does not read any text visible in the image itself.
HTMLTextExtractor text/html Strips HTML markup and returns the page’s visible text, using Jsoup.
ImageOpenAITextExtractor image/tiff
image/gif
image/jpeg
image/png
Sends the image to the configured OpenAI vision model and returns its response as Markdown. An AI-based alternative to TesseractTextExtractor/AzureTextExtractor for the same image types.
JsonTextExtractor application/json Extracts every value of a JSON document as a “path/to/field: value” line, so each value keeps its context. Escaped characters (\uXXXX) are decoded; a malformed file is indexed as raw text.
LibreOfficeTextExtractor application/vnd.oasis.opendocument.text
application/vnd.oasis.opendocument.text-web
application/vnd.oasis.opendocument.text-template
application/vnd.oasis.opendocument.presentation
application/vnd.oasis.opendocument.presentation-template
application/vnd.oasis.opendocument.spreadsheet
application/vnd.oasis.opendocument.spreadsheet-template
application/vnd.oasis.opendocument.graphics
application/vnd.oasis.opendocument.graphics-template
application/vnd.oasis.opendocument.database
application/vnd.oasis.opendocument.chart
application/vnd.oasis.opendocument.text-master
application/vnd.sun.xml.writer
application/vnd.sun.xml.calc
application/vnd.sun.xml.impress
application/vnd.sun.xml.draw
application/vnd.sun.xml.writer.global
application/vnd.sun.xml.calc.template
application/vnd.sun.xml.impress.template
application/vnd.sun.xml.draw.template
application/vnd.sun.xml.writer.template
Reads the document’s own content.xml directly via SAX parsing - OpenDocument and legacy OpenOffice.org files are ZIP archives of XML - without invoking LibreOffice itself.
MarkdownTextExtractor text/markdown Returns the raw Markdown source as plain text (no rendering).
MsExcelTextExtractor application/vnd.ms-excel
application/msexcel
application/excel
Extracts cell text from a legacy (.xls) Excel workbook using Apache POI (HSSF).
MsOffice2007TextExtractor application/vnd.openxmlformats-officedocument.wordprocessingml.document
application/vnd.openxmlformats-officedocument.wordprocessingml.template
application/vnd.openxmlformats-officedocument.presentationml.presentation
application/vnd.openxmlformats-officedocument.presentationml.template
application/vnd.openxmlformats-officedocument.presentationml.slideshow
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
application/vnd.openxmlformats-officedocument.spreadsheetml.template
application/vnd.ms-excel.sheet.macroEnabled.12
application/vnd.ms-excel.template.macroEnabled.12
Extracts text from modern (2007+) Word/PowerPoint/Excel documents, including macro-enabled workbooks, using Apache POI’s OOXML support.
MsOfficeOcrTextExtractor application/msword
application/vnd.openxmlformats-officedocument.wordprocessingml.document
application/vnd.openxmlformats-officedocument.wordprocessingml.template
application/vnd.ms-powerpoint
application/vnd.openxmlformats-officedocument.presentationml.presentation
application/vnd.openxmlformats-officedocument.presentationml.template
application/vnd.openxmlformats-officedocument.presentationml.slideshow
application/vnd.ms-excel
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
application/vnd.openxmlformats-officedocument.spreadsheetml.template
application/vnd.ms-excel.sheet.macroEnabled.12
application/vnd.ms-excel.template.macroEnabled.12
Converts the document to PDF and OCRs every rendered page with Tesseract, ignoring any native text - useful for scanned or image-heavy Office documents, at the cost of speed. Covers the same Word/PowerPoint/Excel MIME types (legacy and 2007+) as MsWordTextExtractor, MsOffice2007TextExtractor, MsExcelTextExtractor, and MsPowerPointTextExtractor combined.
MsOutlookTextExtractor application/vnd.ms-outlook Extracts the subject, body, and attachment names of an Outlook message (.msg) using Apache POI (HSMF).
MsPowerPointTextExtractor application/vnd.ms-powerpoint
application/mspowerpoint
application/powerpoint
Extracts slide text from a legacy (.ppt) PowerPoint presentation using Apache POI (HSLF).
MsVisioTextExtractor application/vnd.ms-visio.drawing Converts the Visio drawing to PDF via LibreOffice, then delegates to whichever PDF text extractor is currently registered and active to extract its text.
MsWordTextExtractor application/vnd.ms-word
application/msword
Extracts text from a legacy (.doc) Word document using Apache POI (HWPF).
NativeMsExcelTextExtractor application/vnd.ms-excel
application/msexcel
application/excel
Alternative to MsExcelTextExtractor using the external catdoc xls2csv command-line tool (system.catdoc.xls2csv configuration parameter) instead of Apache POI.
PdfLayerTextExtractor application/pdf Extracts only the PDF’s own text layer (PDFBox); no OCR fallback, so a scanned or image-only PDF returns no text. The lightest and fastest of the PDF extractors.
PdfNewTextExtractor application/pdf Same approach as PdfTextExtractor - text layer plus an OCR fallback (Tesseract, on the PDF’s embedded images) when there is no text layer or system.pdf.force.ocr is set - rewritten against the newer PDFBox loading API, with a simpler, Java-only image extraction step.
PdfOcrTextExtractor application/pdf Always OCRs every rendered page with Tesseract, ignoring any existing text layer.
PdfOpenAITextExtractor application/pdf Always sends every rendered page to the configured OpenAI vision model and returns Markdown, ignoring any existing text layer.
PdfRenderTextExtractor application/pdf Text layer plus OCR fallback like PdfTextExtractor/PdfNewTextExtractor, but renders each full page as a 300 DPI image for OCR instead of only extracting embedded image objects - catches more scanned/complex-layout cases, at the cost of being slower.
PdfTextExtractor application/pdf Text layer (PDFBox) plus an OCR fallback (Tesseract, on the PDF’s embedded images) when there is no text layer or system.pdf.force.ocr is set; can use the external pdfimages tool (system.pdfimages) instead of Java-based image extraction.
PlainTextExtractor text/plain
text/csv
Returns the raw text content, decoded with the given (or UTF-8) encoding.
PngTextExtractor image/png
image/apng
image/mng
Reads the file’s own embedded tEXt metadata chunks (PNG/APNG/MNG binary chunk format). Not OCR - it does not read any visible text drawn in the image.
RTFTextExtractor application/rtf
text/rtf
Extracts plain text from an RTF document using Java Swing’s RTFEditorKit.
RarTextExtractor application/x-rar-compressed
application/vnd.rar
Same as ZipTextExtractor for RAR archives, both RAR4 and RAR5 (including solid archives): the path of every file and, below it, the text of the files that have an active text extractor, with the same limits. Encrypted entries are only indexed by name; when the file names themselves are encrypted, the extraction fails with “Encrypted RAR archive”.
SourceCodeTextExtractor text/x-java
text/x-python
text/css
text/x-sql
application/x-php
application/javascript
application/x-shellscript
Returns the raw source code as plain text.
TesseractTextExtractor image/tiff
image/gif
image/jpeg
image/png
Local OCR via Tesseract (system.ocr configuration parameter); optionally retries at extra rotation angles (system.ocr.rotate) to improve results on rotated scans.
XMLTextExtractor text/xml
application/xml
application/vnd.scribus
Extracts the text content and attribute values of an XML document via SAX parsing; also handles Scribus project files, which are XML-based.
ZipTextExtractor application/zip Extracts the path of every file in the ZIP archive and, below it, the text of the files that have an active text extractor (PDF, Word, plain text, and so on). Nested archives, encrypted entries, images, audio and video are only indexed by name. To protect against oversized archives (zip bombs), at most 1000 entries are read, 20 MB uncompressed per entry and 200 MB in total, and the extracted text is capped at 10 MB; beyond those limits, only names are indexed.