MgSoftDev.KnowledgeHub.Pdf 1.0.0

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

MgSoftDev.KnowledgeHub.Pdf

Exportación a PDF para MgSoftDev.KnowledgeHub, impresa por Chromium a través de Playwright.

Convierte una página publicada —o una rama entera, como un manual— en un PDF con portada, índice y marcadores navegables. Como lo imprime un navegador de verdad, sale exactamente como se ve en el lector, con tu CSS incluido, y no hay ningún mapeador HTML que mantener: lo que produzca el editor mañana se renderiza solo.

Registro

services.AddKnowledgeHubPdf();

Regístralo donde corre el core, el mismo contenedor que AddKnowledgeHubCore. En WPF y Blazor Server es el mismo; en WASM va en el servidor de la API, no en el cliente. Sin registrarlo, el botón de exportar no aparece.

El paquete arrastra Microsoft.Playwright: 195 MB de nupkg, una vez por máquina en la caché de NuGet.

De dónde sale el navegador

services.AddKnowledgeHubPdf(o => o.BrowserSource = PdfBrowserSource.Auto);
Modo Qué hace En tu app
Auto (defecto) Edge instalado → copia empaquetada → caché. Recuerda el que funcionó. según el que use
SystemBrowser El Edge ya instalado. No descarga nada. ~100 MB (driver)
BundledWithApp Dentro de la carpeta de la app; entra en el MSI. Sin internet. ~370 MB
PlaywrightCache %LOCALAPPDATA%\ms-playwright, tras playwright install. ~100 MB
DownloadOnDemand Lo instala en la primera exportación. ~100 MB

Usar Edge te ahorra los 265 MB del navegador, pero no los ~100 MB del driver de Playwright. El paquete trae un .props que fija PlaywrightPlatform a tu sistema: sin él serían 548 MB, porque se copiaría el driver de las cinco plataformas.

Si no hay ningún navegador, la exportación se rechaza con un mensaje que dice cuál falta — nunca una excepción cruda.

Temas, portada, cabecera y pie

services.AddKnowledgeHubPdf(o =>
{
    // Se lee en CADA exportación: una empresa cambia su tema dejando el archivo junto al
    // ejecutable, sin recompilar.
    o.CssFilePath = Path.Combine(AppContext.BaseDirectory, "pdf-tema.css");
    o.LogoFilePath = Path.Combine(AppContext.BaseDirectory, "logo.png");

    o.Cover = new PdfTemplate { Html = "{{Logo}}<h1>{{Title}}</h1><div>{{GeneratedAt}}</div>" };
    o.Footer = new PdfTemplate { Html = "…<span class=\"pageNumber\"></span>…" };
});

Portada, cabecera y pie admiten Html (plantilla con {{Title}}, {{GeneratedAt}}, {{GeneratedBy}}, {{SectionCount}}, {{Logo}}, {{LogoSrc}}), FilePath o Factory.

Cabecera y pie se renderizan en un contexto aislado: no les llega el CSS del documento, las imágenes solo cargan como data URI ({{LogoSrc}}) y los estilos deben ir en línea. Si el margen es menor que la cabecera, esta se superpone al contenido sin avisar: deja ~22 mm si lleva imagen.

Marcadores

EmbedOutline (activado) mete el esquema navegable. Activa también TaggedPdf, porque Chromium construye el esquema desde la estructura etiquetada y por su cuenta la opción se ignora en silencio. Cuesta ~19% más de tamaño.

El índice lleva enlaces internos pero no números de página: Chromium no sabe dónde cae cada sección hasta maquetar, y no hay segunda pasada.

Memoria

El navegador no queda residente: se abre, imprime y se cierra en cada exportación, con las llamadas serializadas y un tope de tiempo (TimeoutSeconds, 60 s). Exportar es ocasional y una app de escritorio no debería sostener 200-300 MB por un botón que quizá nadie pulse.

Ver la guía §8.2 para el permiso de descarga, el MSBuild que empaqueta el navegador y los ejemplos completos.

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
1.0.0 36 9/13/2026
0.23.0-preview.1 35 9/13/2026
0.22.0-preview.1 57 9/1/2026
0.21.0-preview.1 55 9/1/2026
0.20.0-preview.1 64 8/27/2026
0.19.4-preview.1 70 8/25/2026
0.19.3-preview.1 73 8/15/2026
0.19.2-preview.1 67 8/15/2026
0.19.1-preview.1 63 8/15/2026
0.19.0-preview.1 64 8/15/2026
0.18.0-preview.1 72 8/14/2026
0.17.0-preview.1 67 8/14/2026
0.16.0-preview.1 64 8/13/2026
0.15.0-preview.1 65 8/13/2026
0.14.0-preview.1 62 8/13/2026
0.13.0-preview.1 70 8/13/2026
0.12.0-preview.1 72 8/12/2026
0.11.0-preview.1 68 8/11/2026