Class OfficeDocumentContentExtractor

java.lang.Object
com.tnsai.intelligence.rag.extract.OfficeDocumentContentExtractor
All Implemented Interfaces:
com.tnsai.rag.ContentExtractor

public final class OfficeDocumentContentExtractor extends Object implements com.tnsai.rag.ContentExtractor
Optional binary-document extractor for PDF, Office Open XML and EPUB.

PDFBox and Apache POI stay optional on tnsai-intelligence. This class has no hard imports of those libraries; it claims only the formats whose backend class can be initialized. EPUB uses the JDK zip API plus the already-bundled jsoup parser and is therefore always claimed.

The adapter is a framework default so a consumer Docling/Tika provider can replace it per format.

Since:
0.14.0
  • Constructor Details

    • OfficeDocumentContentExtractor

      public OfficeDocumentContentExtractor()
      ServiceLoader constructor. Claims every backend present plus EPUB.
  • Method Details

    • tryLoad

      public static Optional<OfficeDocumentContentExtractor> tryLoad()
      Returns an extractor for every binary backend present on this classpath.

      EPUB needs no optional library, so this is never empty.

      Returns:
      extractor that at least claims DocumentFormat.EPUB
    • frameworkDefault

      public boolean frameworkDefault()
      Specified by:
      frameworkDefault in interface com.tnsai.rag.ContentExtractor
    • supportedFormats

      public Set<com.tnsai.rag.DocumentFormat> supportedFormats()
      Specified by:
      supportedFormats in interface com.tnsai.rag.ContentExtractor
    • version

      public String version()
      Specified by:
      version in interface com.tnsai.rag.ContentExtractor
    • extract

      public com.tnsai.rag.ExtractedDocument extract(com.tnsai.rag.DocumentInput input, com.tnsai.rag.ExtractionContext context)
      Specified by:
      extract in interface com.tnsai.rag.ContentExtractor