Skip to content

Document Formats ​

Purple8 DocIntel (v0.12.5) natively parses 70+ document formats across 6 categories — no pre-conversion required. Format detection uses file extension first, with magic-byte fallback for ambiguous or missing extensions.

Office & Productivity ​

12 formats across 5 parsers.

FormatExtension(s)Notes
PDF.pdfText extraction + OCR fallback for scanned pages
Word.docx, .doc, .odtParagraph, heading, table structure preserved
Excel.xlsx, .xls, .odsAll sheets; cell values + types; tables extracted as markdown
PowerPoint.pptx, .ppt, .odpSlide text, notes, shape labels
RTF.rtfRich text formatting stripped to plain
EPUB.epubSpine chapters extracted as ordered pages

Web & Text ​

12 formats — HTML, plain text, email, and structured data.

FormatExtension(s)Notes
HTML.html, .htmTags stripped; structure preserved via headings
Plain text.txt, .md, .markdown, .rstDecoded UTF-8, latin-1 fallback
Email.eml, .msgHeaders + body; attachments enumerated
CSV / TSV.csv, .tsvRendered as pipe-delimited markdown tables
JSON.jsonPretty-printed as structured text
XML.xmlTags preserved as structured context

Images (OCR) ​

7 formats via pluggable OCR backends.

FormatExtension(s)OCR engines
Raster images.png, .jpg, .jpeg, .tiff, .bmp, .webpTesseract · Azure Document Intelligence · Google Cloud Vision · AWS Textract
Sketch / whiteboard.sketchGPT-5 vision · Azure AI Vision 4.0 · Google Cloud Vision

Images are processed through the configured OCR engine. For hand-drawn sketches and whiteboard photos, the vision engine provides semantic understanding beyond raw OCR.

CAD & BIM ​

11 formats across 3 parsers (CAD, STEP/mesh, BIM).

FormatExtension(s)Extracted content
IFC.ifc, .ifczipProject, site, building, storeys, spaces, IfcElements, materials, property sets, quantities, type objects
DXF.dxfLayers, entities, blocks, dimensions, text
DWG.dwgVia LibreDWG conversion to DXF
STEP.step, .stpAssembly tree, part names, B-rep metadata
STL.stlTriangle count, bounding box, part name
OBJ.objMesh groups, material references
GLTF / GLB.gltf, .glbScene hierarchy, mesh names, materials
G-code.gcodeTool paths, layer count, estimated print time

Code & Config ​

12 formats — all decoded as plain text with language metadata attached.

FormatExtension(s)
Python.py
JavaScript.js
TypeScript.ts
CSS.css
SQL.sql
Shell.sh
Environment / dotenv.env
YAML.yaml, .yml
TOML.toml
INI / config.ini, .cfg

P8G routing: All 12 code/config formats are classified via the rule-based fast path (confidence 1.0) and map to DocumentCategory.CODE. Purple8 Graph receives doc_type: "code", chunking_hint: "syntactic", and suggested_embedding_model: "voyage-code-3" in EmitPayload.metadata.

SAP ​

2 formats via a dedicated SAP parser.

FormatExtension(s)Notes
IDoc.idocFixed-width 1000-byte record format; segment tree reconstructed
ABAP source.abapExtracted as plain text with structure markers

Table extraction ​

Tables embedded in PDF, DOCX, and XLSX documents are not flattened into text. They are converted to markdown and injected as dedicated LLM context windows with header preservation.

Read more about table extraction →

Adding a custom parser ​

DocIntel uses a plugin architecture for parsers. See src/purple8_docintel/parsers/base.py for the BaseParser interface. Each parser implements:

  • supported_formats() — list of DocumentFormat enums
  • parse(raw_bytes, metadata) → ParsedDocument

To add a new format, create a parser class and register it in parsers/__init__.py.

Purple8 DocIntel v0.12.5 · Universal Document Intelligence · NVIDIA Inception Member · Red Hat Technology Partner.