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 |
| 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.