RecursiveAI.OneDocument.Schema 1.0.0

dotnet add package RecursiveAI.OneDocument.Schema --version 1.0.0
                    
NuGet\Install-Package RecursiveAI.OneDocument.Schema -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RecursiveAI.OneDocument.Schema" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RecursiveAI.OneDocument.Schema" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="RecursiveAI.OneDocument.Schema" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add RecursiveAI.OneDocument.Schema --version 1.0.0
                    
#r "nuget: RecursiveAI.OneDocument.Schema, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package RecursiveAI.OneDocument.Schema@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=RecursiveAI.OneDocument.Schema&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=RecursiveAI.OneDocument.Schema&version=1.0.0
                    
Install as a Cake Tool

OneDocument

Read, write, calculate, template and render Word, Excel and PowerPoint documents (OOXML, legacy binary, RTF, ODF) in pure .NET. Not affiliated with Microsoft.

OneDocument is a clean-room document processor for net10.0 that depends only on the .NET base class library and other Recursive AI libraries. It is NativeAOT-, trim- and browser-WebAssembly-friendly: no reflection, no native code, no System.Xml in the document path. Parts you do not edit are written back byte-identical, edits keep unknown markup, and every repair on read is a located defect.

Package What it adds
RecursiveAI.OneDocument Core: byte sources, limits, typed defects, format sniffing and registry, packages and compound files, the XML tokenizer and markup tree, formula and calculation core, number formats, the template engine, text extraction, Office and Template
RecursiveAI.OneDocument.Documents Document: DOCX, DOC, RTF, ODT, Word 2003 XML, HTML, Markdown, revisions, mail merge, operations
RecursiveAI.OneDocument.Spreadsheets Workbook: XLSX, XLSB, XLS, ODS, CSV/TSV, Excel 2003 XML, calculation, pivots, streaming, Spreadsheet
RecursiveAI.OneDocument.Presentations Presentation: PPTX, PPT, ODP
RecursiveAI.OneDocument.Schema Generated zero-copy typed views over every pinned ECMA-376 and Microsoft extension schema
RecursiveAI.OneDocument.Rendering Layout, charts, SmartArt, equations; tagged PDF and page images for all three kinds
RecursiveAI.OneDocument.All Every package above
onedocument Command-line tool: detect, extract, recalc, template, render, convert, inspect, sanitize
using RecursiveAI.OneDocument;
using RecursiveAI.OneDocument.Documents;

string text = Office.ExtractText("report.docx");      // the format comes from the content, not the extension
Office.Convert("deck.pptx", "deck.pdf");              // needs the Rendering package (or All)
Template.Render("invoice.docx", invoice, "invoice.pdf");

using var doc = Document.Open("contract.docx");
doc.Paragraphs.First().SetText("Master services agreement");
doc.Save();                                           // atomic; only word/document.xml changes

See the repository for the support table, samples and design notes, and the changelog.

Licensed MIT OR Apache-2.0, © Recursive AI, LLC. Not affiliated with Microsoft or with any other product or company named OneDocument. Word, Excel and PowerPoint are Microsoft product names used here only to describe the formats.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on RecursiveAI.OneDocument.Schema:

Package Downloads
RecursiveAI.OneDocument.All

Read, write, calculate, template and render Word, Excel and PowerPoint documents (OOXML, legacy binary, RTF, ODF) in pure .NET. Not affiliated with Microsoft. Metapackage that brings in every OneDocument package that has content (core, documents, spreadsheets, presentations, schema views and rendering).

RecursiveAI.OneDocument.Presentations

Read, write, calculate, template and render Word, Excel and PowerPoint documents (OOXML, legacy binary, RTF, ODF) in pure .NET. Not affiliated with Microsoft. Presentations for OneDocument: open, edit and save PPTX, PPTM, POTX, PPSX and Flat OPC with untouched parts kept byte-identical, and read PPT; slide masters, layouts and slides with placeholder inheritance, shapes, text, tables, notes, comments and sections; add, delete, duplicate and reorder slides.

RecursiveAI.OneDocument.Spreadsheets

Read, write, calculate, template and render Word, Excel and PowerPoint documents (OOXML, legacy binary, RTF, ODF) in pure .NET. Not affiliated with Microsoft. Spreadsheets for OneDocument: open, edit and save XLSX, XLSM, XLTX, XLSB and Flat OPC workbooks with untouched parts kept byte-identical, read XLS and write BIFF8 XLS, read and write CSV and TSV, stream rows and cells at constant memory, and calculate formulas; styles, number formats, tables, conditional formatting, data validation, defined names and pivots.

RecursiveAI.OneDocument.Documents

Read, write, calculate, template and render Word, Excel and PowerPoint documents (OOXML, legacy binary, RTF, ODF) in pure .NET. Not affiliated with Microsoft. Word-processing documents for OneDocument: open, edit and save DOCX, DOCM, DOTX, DOTM, Flat OPC, RTF and ODT with untouched parts kept byte-identical; read DOC and Word 2003 XML; import and export HTML and Markdown; styles, numbering, tables, sections, fields, notes, comments, revisions, content controls and mail merge.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 0 11/6/2026

See CHANGELOG.md in the repository.