Choose a package

By task

You want to Use
Index documents for search, or feed them to an LLM, as text or Markdown X-Ray.Content
Get tables, metadata, images and a heading tree out of a document X-Ray.Content
Turn a Word, Excel or PowerPoint document into a PDF or page images X-Ray.Office
Show a thumbnail or preview of an office document X-Ray.Office
Composite a Photoshop file, export its layers, or read its type layers X-Ray.Psd
Read, create or edit an Outlook message, or convert MSG to EML X-Ray.Email
Convert PostScript, EPS or XPS to PDF or images X-Ray.PS
Read OneNote pages or export them to PDF or HTML X-Ray.OneNote
Read an invitation: organizer, attendees, recurrence, attachments; or write an .ics file X-Ray.Ics
Convert a message to an HTML preview, or save its attachments as files X-Ray.Email
Read text from scanned pages or from images inside documents X-Ray.Content with OCR enabled

By file type

Several formats are read by more than one package, at different depths:

Files X-Ray.Content Format package
docx, xlsx, pptx, doc, xls, ppt, odt, ods, odp, rtf Text, Markdown, tables, metadata X-Ray.Office: layout and rendering
PDF Text, geometry, tables, form fields, bookmarks (none; X-Ray.Office and X-Ray.PS write PDF)
eml, msg Body, headers and attachment list X-Ray.Email: the full MAPI model, HTML preview, attachments as files, writing
psd, psb Layer tree as headings, type-layer text, metadata (read through X-Ray.Psd) X-Ray.Psd: compositing, pixels, the full layer model
ics (iCalendar, vCalendar 1.0) Not read X-Ray.Ics: events, recurrence, attendees, writing
ps, eps, xps Not read X-Ray.PS
one, onetoc2 Not read X-Ray.OneNote
html, markdown, epub, csv, json, xml, archives and 70+ more Read (none)

The rule of thumb: X-Ray.Content when you want what a document says, the format package when you want what it is (its object model) or what it looks like (rendering).

A format that more than one package reads is read independently by each, so the choice is about what you need out of it. For protection against hostile or runaway input, see Cancellation and streaming.

Combining packages

Apart from X-Ray.Content, which reads PSD files through X-Ray.Psd, the packages do not depend on each other, so combining them is a matter of referencing both. A common pairing is X-Ray.Content for the text of a document and X-Ray.Office for a rendered preview of the same file. Each reads the file independently.