ProEdit.Pdf.Documents 0.1.0

dotnet add package ProEdit.Pdf.Documents --version 0.1.0
                    
NuGet\Install-Package ProEdit.Pdf.Documents -Version 0.1.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="ProEdit.Pdf.Documents" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ProEdit.Pdf.Documents" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="ProEdit.Pdf.Documents" />
                    
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 ProEdit.Pdf.Documents --version 0.1.0
                    
#r "nuget: ProEdit.Pdf.Documents, 0.1.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 ProEdit.Pdf.Documents@0.1.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=ProEdit.Pdf.Documents&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=ProEdit.Pdf.Documents&version=0.1.0
                    
Install as a Cake Tool

ProEdit

CI Docs Release .NET License

ProEdit is a modular .NET 10 document editing, rendering, reporting, and collaboration platform for desktop and embedded application scenarios. It combines a rich document object model, layout and rendering engines, import/export pipelines, Avalonia controls, reporting components, printing services, real-time collaboration infrastructure, and automation integrations in a package-oriented repository.

The codebase is designed as a set of composable libraries rather than a single monolithic application. Hosts can adopt the low-level document model, the FlowDocument/RichTextBox controls, the Word-style editor shell, the reporting designer/viewer, the collaboration stack, or the format conversion services independently.

Capabilities

  • Rich document model with sections, paragraphs, runs, tables, lists, styles, shapes, fields, notes, content controls, mail merge data, document protection, comments, citations, metadata, and revision-oriented structures.
  • Layout and rendering pipelines for pagination, line breaking, tables, floating objects, shapes, proofing decorations, and Skia-backed output.
  • Import/export and conversion support across Open XML DOCX, RTF, HTML, Markdown, PDF, PostScript/EPS, XPS/OXPS, and internal document/FlowDocument models.
  • Avalonia UI components including FlowDocumentView, editable RichTextBox, ribbon controls, Word-style editor surfaces, print UI, and reporting designer/viewer controls.
  • Editing infrastructure for selection, undo/redo, clipboard formats, proofing, formatting state, table editing, content controls, headers/footers, comments, track changes, and command routing.
  • Reporting stack with report definitions, data connectors, expression evaluation, materialization, document composition, export, RDL serialization, service orchestration, and desktop authoring/viewing.
  • Collaboration core with operation batches, position tokens, snapshots, persistence, protocol models, transports, WebSocket relay support, and UI state/view models.
  • Automation and integration components for VBA-style runtime support, macro orchestration, grammar proofing plugins, and Model Context Protocol (MCP) tools/resources.
  • Compatibility layers for WinUI/Uno rich text APIs and RichEditBox-style host scenarios.

Repository Structure

Path Purpose
src/ Production libraries, Avalonia controls, desktop apps, reporting components, collaboration services, and format providers.
tests/ xUnit unit tests plus Avalonia headless UI tests for editor, reporting, FlowDocument, RichTextBox, collaboration, and compatibility layers.
samples/ Small runnable hosts that showcase reusable controls across Avalonia, Uno Platform, and .NET MAUI.
benchmarks/ BenchmarkDotNet performance benchmarks for layout and document synchronization paths.
docfx/ DocFX documentation source for architecture, project map, getting started, FlowDocument, RichTextBox, and contribution guidance.
.github/workflows/ Cross-platform CI, documentation deployment, release packaging, and NuGet publish automation.

Architecture Map

Area Primary Projects Responsibility
Core document model ProEdit.Primitives, ProEdit.Documents, ProEdit.Documents.Data, ProEdit.Documents.Rtf Shared primitives, document structures, data binding, and RTF support.
Layout and rendering ProEdit.Layout, ProEdit.Rendering, ProEdit.Rendering.Skia Pagination, layout records, rendering abstractions, and Skia rendering backend.
FlowDocument and rich text ProEdit.FlowDocument, ProEdit.FlowDocument.Documents, ProEdit.FlowDocument.Avalonia, ProEdit.RichText.Avalonia WPF-style FlowDocument model, conversion to the core document model, read-only viewing, and editable Avalonia rich text control.
Word editor ProEdit.Editing, ProEdit.Word.Editor, ProEdit.Word.Avalonia, ProEdit.Word.App Editing services, command maps, proofing, ribbon-backed editor UI, and desktop host application.
Shared controls ProEdit.Controls.Skia, ProEdit.Controls.Skia.Avalonia, ProEdit.Controls.Skia.Uno, ProEdit.Controls.Skia.Maui Packable read-only viewer and editor controls for Avalonia, Uno Platform, and .NET MAUI, backed by the shared layout/rendering/editor host.
Formats ProEdit.OpenXml, ProEdit.Html, ProEdit.Markdown, ProEdit.Pdf.*, ProEdit.PostScript, ProEdit.Xps, ProEdit.FlowDocument.IO Document import/export, multi-format conversion, and backend-specific PDF/PS/XPS integrations.
Printing ProEdit.Printing, ProEdit.Printing.Documents, ProEdit.Printing.Skia, ProEdit.Printing.System, ProEdit.Printing.Avalonia Print contracts, document print conversion, Skia/system printing, and Avalonia print UI.
Reporting ProEdit.Reporting.* Report model, data, expressions, RDL, serialization, materialization, exports, services, Avalonia designer/viewer, and desktop reporting app.
Collaboration ProEdit.Collaboration.*, ProEdit.RichText.Avalonia.Collaboration, ProEdit.WinUICompat.Collaboration Operation model, snapshot persistence, protocol, transports, relay server, UI state, and editor/control integrations.
UI foundation ProEdit.Ribbon, ProEdit.Ribbon.Avalonia Ribbon model and Avalonia ribbon controls/themes.
Automation and extensibility ProEdit.Vba, ProEdit.Vba.Runtime, ProEdit.Macros, ProEdit.Mcp.*, ProEdit.Proofing.GrammarApi.Plugin Macro execution, VBA host/runtime services, MCP integration, and grammar proofing extension point.
Compatibility ProEdit.WinUICompat, ProEdit.WinUICompat.Uno, ProEdit.WinUICompat.App WinUI/Uno compatible rich text APIs and sample host.

NuGet Packages

The table lists packable library projects in this repository. Desktop/sample hosts such as ProEdit.Word.App, ProEdit.Reporting.App, ProEdit.FlowDocument.App, and ProEdit.WinUICompat.App are source-built applications and are intentionally not listed as packages.

Area Package NuGet Purpose
Core ProEdit.Primitives NuGet Shared primitive types for geometry and document infrastructure.
Core ProEdit.Documents NuGet Core document object model.
Core ProEdit.Documents.Data NuGet Document data binding and reporting data integration.
Core ProEdit.Documents.Rtf NuGet RTF parsing and serialization.
Layout ProEdit.Layout NuGet Pagination and document layout engine.
Rendering ProEdit.Rendering NuGet Rendering abstractions and composition contracts.
Rendering ProEdit.Rendering.Skia NuGet Skia-backed renderer.
FlowDocument ProEdit.FlowDocument NuGet Avalonia-friendly FlowDocument object model.
FlowDocument ProEdit.FlowDocument.Documents NuGet Conversion between FlowDocument and core documents.
FlowDocument ProEdit.FlowDocument.Avalonia NuGet Avalonia FlowDocumentView control.
FlowDocument ProEdit.FlowDocument.IO NuGet Multi-format FlowDocument/document conversion services.
Rich Text ProEdit.RichText.Avalonia NuGet Editable Avalonia rich text control.
Rich Text ProEdit.RichText.Avalonia.Collaboration NuGet Collaboration integration for the Avalonia rich text control.
Shared Controls ProEdit.Controls.Skia NuGet Shared Skia document host and framework-neutral control contracts.
Shared Controls ProEdit.Controls.Skia.Avalonia NuGet Avalonia read-only viewer and editable document controls.
Shared Controls ProEdit.Controls.Skia.Uno NuGet Uno Platform read-only viewer and editable document controls.
Shared Controls ProEdit.Controls.Skia.Maui NuGet .NET MAUI read-only viewer and editable document controls.
Editing ProEdit.Editing NuGet Editing, selection, clipboard, proofing, and command services.
Word ProEdit.Word.Editor NuGet Word-processing editor engine.
Word ProEdit.Word.Avalonia NuGet Avalonia editor UI and resources.
Ribbon ProEdit.Ribbon NuGet Ribbon model and command abstractions.
Ribbon ProEdit.Ribbon.Avalonia NuGet Avalonia ribbon controls and theme resources.
Formats ProEdit.OpenXml NuGet Open XML/DOCX import and export.
Formats ProEdit.Html NuGet HTML import/export helpers.
Formats ProEdit.Markdown NuGet Markdown import/export helpers.
Formats ProEdit.Pdf NuGet PDF domain abstractions.
Formats ProEdit.Pdf.Documents NuGet PDF integration with the document model.
Formats ProEdit.Pdf.PdfPig NuGet PDF parsing via PdfPig.
Formats ProEdit.Pdf.PdfSharp NuGet PDF generation via PDFsharp.
Formats ProEdit.PostScript NuGet PostScript/EPS conversion support.
Formats ProEdit.Xps NuGet XPS/OXPS conversion support.
Printing ProEdit.Printing NuGet Printing contracts and shared models.
Printing ProEdit.Printing.Documents NuGet Document-to-print conversion.
Printing ProEdit.Printing.Skia NuGet Skia print pipeline.
Printing ProEdit.Printing.System NuGet System print integration.
Printing ProEdit.Printing.Avalonia NuGet Avalonia print UI.
Collaboration ProEdit.Collaboration NuGet Collaboration operation model, engine, persistence, and snapshots.
Collaboration ProEdit.Collaboration.Protocol NuGet Collaboration wire protocol types and codecs.
Collaboration ProEdit.Collaboration.Transports NuGet Local, shared-file, loopback, and WebSocket transport implementations.
Collaboration ProEdit.Collaboration.Server NuGet WebSocket relay server components.
Collaboration ProEdit.Collaboration.UI NuGet Collaboration UI state and view models.
Reporting ProEdit.Reporting.Core NuGet Report definitions, items, parameters, diagnostics, and execution contracts.
Reporting ProEdit.Reporting.Data NuGet Report data sources, data sets, and runtime data access.
Reporting ProEdit.Reporting.Expressions NuGet Report expression evaluation.
Reporting ProEdit.Reporting.Materialization NuGet Materialized report generation.
Reporting ProEdit.Reporting.DocumentComposition NuGet Report-to-document composition.
Reporting ProEdit.Reporting.Export NuGet Report export to document and page formats.
Reporting ProEdit.Reporting.Rdl NuGet RDL/SSRS report serialization support.
Reporting ProEdit.Reporting.Serialization NuGet JSON report serialization.
Reporting ProEdit.Reporting.Service NuGet Report repository, execution, scheduling, and service orchestration.
Reporting ProEdit.Reporting.Avalonia.Viewer NuGet Avalonia report viewer and preview surface.
Reporting ProEdit.Reporting.Avalonia.Designer NuGet Avalonia report designer and authoring panes.
Automation ProEdit.Vba NuGet VBA-style automation abstractions.
Automation ProEdit.Vba.Runtime NuGet VBA runtime support.
Automation ProEdit.Macros NuGet Macro orchestration.
MCP ProEdit.Mcp NuGet Model Context Protocol server, tools, and resources.
MCP ProEdit.Mcp.Documents NuGet MCP document tools for content controls and mail merge workflows.
MCP ProEdit.Mcp.Reporting NuGet MCP reporting tools, exports, and connector workflows.
Proofing ProEdit.Proofing.GrammarApi.Plugin NuGet Grammar API proofing plugin.
Compatibility ProEdit.WinUICompat NuGet WinUI-style rich text compatibility layer.
Compatibility ProEdit.WinUICompat.Uno NuGet Uno integration for WinUI compatibility APIs.
Compatibility ProEdit.WinUICompat.Collaboration NuGet Collaboration integration for WinUI/Uno compatibility controls.

Installation

Install only the packages needed by the host application. For example, an Avalonia editor host typically starts with:

dotnet add package ProEdit.Word.Avalonia
dotnet add package ProEdit.RichText.Avalonia
dotnet add package ProEdit.OpenXml

A reporting host typically starts with:

dotnet add package ProEdit.Reporting.Avalonia.Viewer
dotnet add package ProEdit.Reporting.Service
dotnet add package ProEdit.Reporting.Export

Smaller embedded document hosts can use the shared Skia controls:

dotnet add package ProEdit.Controls.Skia.Avalonia
dotnet add package ProEdit.Controls.Skia.Uno
dotnet add package ProEdit.Controls.Skia.Maui

Build From Source

Prerequisites:

  • .NET SDK 10.0.100 or newer compatible SDK, as defined in global.json.
  • Optional Uno and MAUI workloads for WinUI/Uno compatibility projects and the MAUI shared-control sample on clean machines:
dotnet workload install wasm-tools wasm-experimental maui-android
# On macOS, use the full MAUI workload when building iOS or Mac Catalyst heads.
dotnet workload install wasm-tools wasm-experimental maui

Build and test the full solution:

dotnet restore ProEdit.slnx
dotnet build ProEdit.slnx
dotnet test ProEdit.slnx

Run the primary desktop applications:

dotnet run --project src/ProEdit.Word.App/ProEdit.Word.App.csproj
dotnet run --project src/ProEdit.Reporting.App/ProEdit.Reporting.App.csproj
dotnet run --project src/ProEdit.FlowDocument.App/ProEdit.FlowDocument.App.csproj

Run the shared control samples:

dotnet run --project samples/ProEdit.Controls.Skia.Avalonia.Sample/ProEdit.Controls.Skia.Avalonia.Sample.csproj
dotnet run --project samples/ProEdit.Controls.Skia.Uno.Sample/ProEdit.Controls.Skia.Uno.Sample.csproj
dotnet build -f net10.0-maccatalyst samples/ProEdit.Controls.Skia.Maui.Sample/ProEdit.Controls.Skia.Maui.Sample.csproj

Run benchmarks:

dotnet run -c Release --project benchmarks/ProEdit.Layout.Benchmarks/ProEdit.Layout.Benchmarks.csproj

Build and serve documentation:

dotnet tool restore
./build-docs.sh
./serve-docs.sh

On Windows:

dotnet tool restore
./build-docs.ps1
./serve-docs.ps1

Development Quality Bar

  • Directory.Build.props centralizes .NET 10, nullable reference types, implicit usings, package metadata, symbol packages, repository metadata, and MIT licensing.
  • CI builds and tests on Ubuntu, Windows, and macOS, then packs NuGet artifacts.
  • The test suite covers document model behavior, layout, FlowDocument conversion, rich text editing, Open XML, Markdown, HTML, PDF integration, printing, reporting, collaboration, VBA runtime, WinUI compatibility, and Avalonia headless UI surfaces.
  • BenchmarkDotNet coverage exists for layout and large-document synchronization paths.
  • DocFX documentation is built from the repository and deployed through the docs workflow.

Documentation

License

ProEdit is licensed under the MIT License.

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 ProEdit.Pdf.Documents:

Package Downloads
ProEdit.Word.Avalonia

Avalonia UI for the ProEdit Word editor.

ProEdit.PostScript

EPS/PostScript conversion services for ProEdit.

ProEdit.FlowDocument.IO

Reusable FlowDocument file conversion services for DOCX, Markdown, RTF, PDF, EPS, PostScript, XPS, and OXPS formats.

ProEdit.Xps

XPS/OXPS conversion services for ProEdit.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 26 6/29/2026