# Supported File Formats

> Load and save DOCX, DOC, RTF, HTML and PDF in WPF with StreamType, BinaryStreamType and StringStreamType values: PDF/A-3a, tagged PDF, XLSX import and Markdown.

- **Product:** TX Text Control .NET for WPF
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET for WPF > Overview > Supported File Formats
- **2126 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/overview/file-formats/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/overview/file-formats/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/overview/file-formats/llms-full.txt

---

TX Text Control reads and writes the document formats itself, without Microsoft Word or Adobe Acrobat on the machine, so a WPF application opens a DOCX file, lets the user edit it and saves it as PDF with one load and one save. The table below lists every format with the enumeration value your code passes, followed by the **Open** and **Save As** dialog boxes of the WPF editor and what applies to PDF, Excel worksheets, images and Markdown.

### Formats and StreamType Values

The `Load` and `Save` methods of [WPF.TextControl](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/llms-full.txt) and [ServerTextControl](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/llms-full.txt) take the format as a value of one of three enumerations, depending on where the data is:

- [StreamType](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/streamtype/enumeration/llms-full.txt) for a file path or a `FileStream`
- [BinaryStreamType](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/binarystreamtype/enumeration/llms-full.txt) for a byte array
- [StringStreamType](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/stringstreamtype/enumeration/llms-full.txt) for a string

A dash means that the enumeration has no value for the format.

| Format | Load | Save | `StreamType` | `BinaryStreamType` | `StringStreamType` |
|---|---|---|---|---|---|
| DOCX (Office Open XML) | Yes | Yes | `WordprocessingML` | `WordprocessingML` | — |
| DOC (Microsoft Word) | Yes | Yes | `MSWord` | `MSWord` | — |
| RTF | Yes | Yes | `RichTextFormat` | — | `RichTextFormat` |
| HTML | Yes | Yes | `HTMLFormat` | — | `HTMLFormat` |
| PDF | Yes | Yes | `AdobePDF` | `AdobePDF` | — |
| PDF/A | No | Yes | `AdobePDFA` | `AdobePDFA` | — |
| XLSX (Office Open XML spreadsheet) | Yes | No | `SpreadsheetML` | `SpreadsheetML` | — |
| XML | Yes | Yes | `XMLFormat` | — | `XMLFormat` |
| CSS | No | Yes | `CascadingStylesheet` | — | `CascadingStylesheet` |
| Plain text, Unicode | Yes | Yes | `PlainText` | — | `PlainText` |
| Plain text, Windows ANSI | Yes | Yes | `PlainAnsiText` | — | — |
| TX Text Control format, Unicode | Yes | Yes | `InternalUnicodeFormat` | `InternalUnicodeFormat` | — |
| TX Text Control format, ANSI | Yes | Yes | `InternalFormat` | `InternalFormat` | — |

- **Save only.** PDF/A and CSS can only be saved. A CSS file contains the formatting styles of a document.
- **Complete documents.** `AdobePDF` and `AdobePDFA` always save the whole document, never a part of it.
- **Load only.** XLSX is imported as a table, and the result is saved in one of the document formats. See [Excel Worksheets](#excel-worksheets-xlsx).
- **Paragraph ends.** In both plain text formats, the control characters 13 and 10 end a paragraph.
- **The internal format** is the format of TX Text Control itself, which moves a document between `ServerTextControl` and the editor without a conversion.

The edition decides which formats you can use: the Standard edition reads and writes RTF and HTML, and [File Formats by Edition](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/overview/editions/#file-formats-by-edition) lists what the Professional and Enterprise editions add.

### The Open and Save As Dialog Boxes

Called without a path, a stream or data, `Load` and `Save` of `WPF.TextControl` open the **Open** and **Save As** dialog boxes, with a file type filter for each format you pass. [Open and Save With the Built-In Dialog Boxes](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/document-editor/load-save/#open-and-save-with-the-built-in-dialog-boxes) shows how to choose the filters, add the password and style sheet options and read the result. The overloads with a path, a stream, a byte array or a string load and save without asking the user.

### PDF

TX Text Control creates and imports PDF documents with its own filters.

#### Export, PDF/A and PDF/UA

- **PDF.** `AdobePDF` saves a document as PDF, which can carry form fields, digital signatures, passwords and embedded files. See [PDF Processing](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/pdf/llms-full.txt) and [Digital Signatures](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/digital-signatures/llms-full.txt).
- **PDF/A.** PDF/A is the ISO standard for archiving documents. `AdobePDFA` writes PDF/A-3a since version 34.0, a level that also allows embedded files, such as the XML data of an electronic invoice. See [PDF/A](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/pdf/pdf-a/llms-full.txt) and [Attachments](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/pdf/attachments/llms-full.txt).
- **Tagged PDF for accessibility.** Since version 34.0, every PDF document contains a logical structure that tags headings, paragraphs, tables, text frames and footnotes for assistive technologies such as screen readers. See [Create an Accessible PDF (PDF/UA)](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/pdf/creation-conversion/#create-an-accessible-pdf-pdf-ua).

[Version 34.0](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/3400/llms-full.txt) in What's New describes the tagged output, and the blog article [PDF/UA vs. PDF/A-3a: Which Format Should You Use for Your Business Application?](https://www.textcontrol.com/blog/2025/10/24/pdf-ua-vs-pdf-a-3a-which-format-should-you-use-for-your-business-application/) compares the two standards.

#### PDF Import

`AdobePDF` also loads a PDF document, so that it can be edited or converted. TX Text Control rebuilds the text flow of the pages, and [LoadSettings.PDFImportSettings](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/loadsettings/pdfimportsettings-property/llms-full.txt) chooses whether the result is lines of text, paragraphs or text frames close to the original appearance. [PDF Import and Its Limitations](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/pdf/import/llms-full.txt) explains each setting and what an imported PDF looks like.

### Excel Worksheets (XLSX)

`SpreadsheetML` loads one worksheet of an XLSX file as a table. Which one is loaded is set in the `LoadSettings`:

- [LoadSettings.GetDocumentPartNames](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/loadsettings/getdocumentpartnames-method/llms-full.txt) returns the names of all worksheets of a file.
- [LoadSettings.DocumentPartName](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/loadsettings/documentpartname-property/llms-full.txt) selects a worksheet by name. When it is `null`, the default, the first worksheet is loaded; when it is an empty string, a dialog box lists the worksheets and the user chooses one.

```csharp
using System.Windows;
using TXTextControl;

private void worksheetButton_Click(object sender, RoutedEventArgs e)
{
    // List the worksheets and load the first one
    string[] sheets = LoadSettings.GetDocumentPartNames("report.xlsx", StreamType.SpreadsheetML);

    LoadSettings loadSettings = new LoadSettings
    {
        DocumentPartName = sheets[0]
    };

    textControl1.Load("report.xlsx", StreamType.SpreadsheetML, loadSettings);
}
```

Tables in a document support Excel compatible formulas, which calculate a cell from other cells of the table. See [Tables and Table Formulas](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/document-editor/tables/llms-full.txt). The formulas of a loaded worksheet become table formulas; [Formula Functions](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/formula-functions/#excel-functions-in-loaded-worksheets) lists the Excel functions Text Control names as supported.

### Images

Documents contain images in BMP, TIF, WMF, PNG, JPG, GIF, EMF and SVG format, and [Page.GetImage](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/page/getimage-method/llms-full.txt) renders a whole page as an image. [Image Formats](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/document-editor/images/#image-formats) lists the filter index of each format and how images are converted when a document is saved.

### Markdown

Markdown has no `StreamType` value. The separate package `TXTextControl.Markdown.Core` on [nuget.org](https://www.nuget.org/packages/TXTextControl.Markdown.Core/) imports and exports it with the extension methods `LoadMarkdown` and `SaveMarkdown` of the `TXTextControl.Markdown` namespace. Text Control names WPF among the targets of its import, besides `ServerTextControl` and Windows Forms. It handles headings, paragraphs, horizontal rules, blockquotes, lists, images, links and tables. The blog article [Introducing TXTextControl.Markdown.Core: Import and Export Markdown in TX Text Control](https://www.textcontrol.com/blog/2025/09/16/introducing-txtextcontrol-markdown-core-import-and-export-markdown-in-tx-text-control/) introduces it.

### Related Pages

- [Load and Save Documents](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/getting-started/document-editor/load-save/llms-full.txt): open and save in the editor, with and without dialogs.
- [Loading and Saving Documents](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/document-editor/load-save/llms-full.txt): the load and save options of the editor in detail.
- [Saving and Converting Documents](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/document-processing/saving-converting/llms-full.txt): convert documents in code with `ServerTextControl`.
- [PDF Processing](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/pdf/llms-full.txt): PDF creation, PDF/A, forms, attachments and passwords.

---

## Nearby

- **Previous:** [Supported Platforms](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/overview/platforms/llms-full.txt)
- **Next:** [Editions and Feature Availability](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/overview/editions/llms-full.txt)
