Choose your packages
Install DocWright for conversion, rendering and editing. Add a capability package only when you need that capability, so an application that only converts never carries code for mail merge or reporting.
The main package
DocWright is the facade. It brings in everything needed to read, edit, render and save Word documents:
Included in DocWright |
What it provides |
|---|---|
DocWright.Core |
Measurement primitives (twips, EMU, colour), extension points, diagnostics, resource limits and the exception types. |
DocWright.Dom |
The editable document model: sections, paragraphs, tables, styles, tracked changes, content controls, form fields, find and replace, {{placeholder}} filling. |
DocWright.Layout |
Style resolution and page layout: line breaking, tables, floating objects, headers, footers and notes. |
DocWright.Fonts |
Font discovery, OpenType parsing, metric-compatible substitution and bundled fallback faces. |
DocWright.Renderers.Pdf |
The PDF writer, including font subsetting, links, outlines, tagged PDF and PDF/A-2b. |
DocWright.Renderers.Imaging |
The PNG and JPEG renderer, for Word pages and for existing PDFs. |
DocWright.Formats.Docx |
DOCX read and write, lossless on round trip. |
DocWright.Formats.Doc |
Legacy Word 97–2003 .doc reading, including RC4-encrypted files. |
DocWright.Formats.Pdf |
Reading, rasterizing and re-assembling existing PDF files. |
DocWright.Formats.Html, .Rtf, .Markdown, .Text |
Read and write. |
DocWright.Formats.Odt, .Epub, .Rdl |
Export only. |
DocWright.Cryptography |
Opening and saving password-protected documents. |
DocWright.Ole |
The compound-file container that .doc files and embedded objects live in. |
You never need to reference these individually. Installing DocWright is enough.
Capability packages
Add these when you need what they do:
| Package | Install it to… |
|---|---|
DocWright.Composition |
Build a document in C# with a fluent API: pages, headers and footers, columns, tables, styled text. |
DocWright.MailMerge |
Run mail merges: merge fields, repeating regions for tables and line items, nested data, images. |
DocWright.Compare |
Compare two documents and get the differences back as real tracked changes. |
DocWright.Signatures |
Verify and sign Office documents, and sign PDFs. |
DocWright.ComplexText |
Shape Indic and other complex scripts with HarfBuzz. Arabic and Hebrew are shaped without it. This is the only package with a native dependency. |
DocWright.Reporting |
Load, edit and validate SSRS report definitions, evaluate their expressions, and run and paginate them against your data. |
DocWright.Reporting.Rdl |
Read and write .rdl and .rdlc files, 2005 through 2016 schemas, losslessly. |
DocWright.Reporting.Export |
Export a paginated report to Word, CSV or plain text. |
DocWright.Reporting.Viewer |
Show a report in a browser: HTML with inline SVG, a region map, and hit-testing, search and toggle services. |
DocWright.Formats.Xlsx |
Write Excel workbooks. The report Excel export uses it, and you can use it on its own. |
Tip
Running SSRS reports needs DocWright.Reporting plus DocWright.Reporting.Rdl to load the .rdl file. Add DocWright.Reporting.Export or DocWright.Reporting.Viewer for the outputs you want. PDF and images come from DocWright itself.
Target frameworks
Every package targets .NET Framework 4.8, .NET Standard 2.0, .NET 8 and .NET 10. It runs anywhere those run: Windows, Linux, macOS, containers and Azure App Service.
- The .NET 8 and .NET 10 assemblies are trim- and AOT-compatible.
- All assemblies are strong-named.
- No package needs Microsoft Office, and only
DocWright.ComplexTextcarries a native binary.
Next
Install DocWright in your project.