Document engineering platform
ProEdit
Build complete document workflows from one composable, cross-platform stack.
Overview
A modular .NET 10 platform for document editing, layout, rendering, reporting, printing, conversion, automation, and real-time collaboration.
ProEdit starts with a portable document model, then composes layout, rendering, editing, formats, reporting, printing, collaboration, and automation around it. Product shells share the engine without becoming the engine.
Rich document editing and pagination
DOCX, RTF, HTML, Markdown, PDF, PS, and XPS
Avalonia, Uno Platform, and .NET MAUI controls
Reporting, printing, collaboration, macros, and MCP
Platform story
A document is a system, not a text box.
The document model is the long-lived contract. Editors, viewers, converters, report designers, collaboration services, and framework controls can evolve around it without forcing every product to adopt the entire platform.
From model to workflow
- 01 · Authoring
Edit structured content
Selections, commands, formatting, tables, lists, fields, revisions, and proofing operate on one model.
↗ - 02 · Exchange
Cross format boundaries
DOCX, RTF, HTML, Markdown, PDF, PS, and XPS connect through focused import and export packages.
↗ - 03 · Output
Compose reports
Reporting, pagination, print preview, and platform adapters reuse the same layout and rendering core.
↗ - 04 · Shared state
Coordinate change
Operations, synchronization, persistence, snapshots, and automation turn a document into a workflow.
↗
Built for
Where it fits.
- Teams building word processors, document viewers, or reporting products
- Desktop and embedded applications that need reusable document infrastructure
- Avalonia, Uno Platform, and .NET MAUI developers sharing one document engine
Compatibility & status
10.0
Editor, viewer, reporting, print UI
Shared Skia controls + compatibility
Shared control package
In the work
Real output,
not a mockup.


Architecture
Clear layers.
Replaceable seams.
Document
Sections, paragraphs, runs, tables, lists, styles, shapes, fields, comments, citations, metadata, and revisions form the portable model.
Layout + render
Pagination, line breaking, tables, floating objects, shapes, and proofing decorations feed renderer-neutral records and Skia output.
Workflows
Editing, reporting, printing, conversion, collaboration, proofing, macros, and MCP compose around the same document core.
Controls
Avalonia, Uno Platform, and .NET MAUI packages host shared read-only and editable document surfaces.
Inside ProEdit
One repository.
Multiple serious systems.
Explore the focused capabilities, their package boundaries, architecture, installation, and smallest useful example.
A Skia-backed editor surface with pagination, selection, caret navigation, rich text formatting, document commands, and Avalonia integration.
2 modules→02 · Import, export, and interchangeDocument FormatsFormat-focused modules connect the shared document model to DOCX/Open XML, RTF, HTML, Markdown, PDF, PostScript, and XPS workflows.
4 modules→03 · Report design and materializationReportingA modular reporting stack with RDL parsing, data binding, expressions, document composition, export, service hosting, viewer, and visual designer packages.
3 modules→04 · Preview and platform outputPrintingDocument printing abstractions, Skia rasterization, Avalonia preview, and system adapters for taking paginated content to platform print services.
3 modules→05 · Shared editing sessionsCollaborationProtocol, transport, server, editor, and UI modules for synchronizing document operations, presence, and collaborative editing workflows.
4 modules→06 · Avalonia, Uno, and MAUI hostsCross-platform ControlsShared Skia controls project the same document, layout, rendering, and editing core into Avalonia, Uno Platform, and .NET MAUI applications.
3 modules→07 · Programmable document workflowsMacros & MCPVBA-compatible macro runtime and Model Context Protocol tools expose document and reporting operations to scripts, automation, and AI agents.
3 modules→Quick start
From package
to first frame.
Choose the package workflow used by your repository, then start from the smallest working example. Replace VERSION with the current stable or prerelease version shown on NuGet.
dotnet add package ProEdit.Controls.Skia.Avalonia<PackageReference Include="ProEdit.Controls.Skia.Avalonia" Version="VERSION" /><PackageVersion Include="ProEdit.Controls.Skia.Avalonia" Version="VERSION" /><controls:ProEditDocumentEditor Document="{Binding Document}" Zoom="{Binding Zoom, Mode=TwoWay}" UsePagination="True" AcceptsReturn="True" />Package surface
Start focused.
Compose as needed.
Avalonia document viewer and editable control backed by the shared Skia host.
↗02ProEdit.Controls.Skia.UnoUno Platform document viewer and editable control backed by the same shared Skia host.
↗03ProEdit.RichText.AvaloniaEditable Avalonia rich-text control with selection, formatting, and command infrastructure.
↗04ProEdit.OpenXmlOpen XML and DOCX import and export for the core document model.
↗05ProEdit.Reporting.Avalonia.DesignerAvalonia report authoring surface for the modular reporting stack.
↗06ProEdit.CollaborationOperation model, synchronization engine, persistence, and snapshots.
↗Source, docs, samples, and releases
The repository is the source of truth.
Use the current documentation and samples, inspect changes, report issues, or support continued open-source maintenance.