Built-in Text extractor plugins
Only one text extractor should be active for a given MIME type at a time. Several of the extractors below intentionally overlap in the MIME types they support (e.g. six different PDF extractors, two Excel extractors, several image OCR extractors) so you can pick the technique that best fits your case - but if more than one is enabled for the same MIME type, which one the application actually uses to extract a given document is unpredictable. Disable every alternative you are not using.
The Administration > Utilities > Plugins screen itself detects this: when more than one enabled Text Extractor plugin claims the same MIME type, it lists that MIME type as a conflict - check it after enabling or disabling any of these.
| Name | MIME types | Description |
|---|---|---|
AudioTextExtractor |
audio/mpeg |
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 |
Extracts the TEXT entities (labels/annotations) embedded in an AutoCAD drawing, using the external CADViewer LinkList tool (cadviewer.linklist configuration parameter). |
AzureTextExtractor |
image/tiff |
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. |
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 |
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. |
LibreOfficeTextExtractor |
application/vnd.oasis.opendocument.text |
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 |
Extracts cell text from a legacy (.xls) Excel workbook using Apache POI (HSSF). |
MsOffice2007TextExtractor |
application/vnd.openxmlformats-officedocument.wordprocessingml.document |
Extracts text from modern (2007+) Word/PowerPoint/Excel documents, including macro-enabled workbooks, using Apache POI's OOXML support. |
MsOfficeOcrTextExtractor |
application/msword |
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 |
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 |
Extracts text from a legacy (.doc) Word document using Apache POI (HWPF). |
NativeMsExcelTextExtractor |
application/vnd.ms-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 |
Returns the raw text content, decoded with the given (or UTF-8) encoding. |
PngTextExtractor |
image/png |
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 |
Extracts plain text from an RTF document using Java Swing's RTFEditorKit. |
SourceCodeTextExtractor |
text/x-java |
Returns the raw source code as plain text. |
TesseractTextExtractor |
image/tiff |
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 |
Extracts the text content and attribute values of an XML document via SAX parsing; also handles Scribus project files, which are XML-based. |
See Creating your own Text Extractor for the interface and a full example.