Parchment.Morph 6.2.3

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

Parchment.Morph

Resolves Parchment's table-of-contents and page-reference fields by laying the document out with Morph.

A page number is a product of layout, so ordinarily a generated document leaves those fields for Word to compute — which costs the reader a prompt on open and shows placeholder text until they accept it. This measures the document as it is built and writes the numbers in, so the file opens with the values already in place.

var store = new TemplateStore
{
    PageNumbers = new MorphPageNumberResolver()
};
store.RegisterMarkdownTemplate<ReportModel>("report", markdown, styleSource);

The template asks for the fields the same way it always does:

Contents {.TOCHeading}

[TOC]{levels=1}

# Summary {#summary}

The summary is on page [](#summary).

Two things to weigh. It costs a layout pass per render — pages are measured rather than drawn, but the document is still laid out in full. And Morph is a very close approximation of Word's layout rather than Word itself, so a document the two paginate differently ends up with page numbers that are wrong and, because nothing is left marked for update, look authoritative. The fields survive, so a reader can still refresh them; nobody refreshes numbers that look right.

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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
6.2.3 27 8/8/2026
6.2.2 35 8/8/2026
6.2.1 34 8/8/2026
6.2.0 36 8/7/2026
6.1.0 39 8/6/2026
6.0.0 41 8/6/2026
5.0.0 40 8/6/2026
4.3.0 31 8/5/2026
4.2.1 35 8/5/2026
4.2.0 40 8/5/2026
4.1.1 41 8/5/2026
4.1.0 41 8/5/2026