Lyo.Web.WebRenderer 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Lyo.Web.WebRenderer --version 1.0.0
                    
NuGet\Install-Package Lyo.Web.WebRenderer -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="Lyo.Web.WebRenderer" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Lyo.Web.WebRenderer" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Lyo.Web.WebRenderer" />
                    
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 Lyo.Web.WebRenderer --version 1.0.0
                    
#r "nuget: Lyo.Web.WebRenderer, 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 Lyo.Web.WebRenderer@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=Lyo.Web.WebRenderer&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Lyo.Web.WebRenderer&version=1.0.0
                    
Install as a Cake Tool

Lyo.Web.WebRenderer

Server-side rendering of Razor components and HTML→PDF conversion. Razor rendering uses Microsoft.AspNetCore.Components.Web.HtmlRenderer; PDF conversion is driven by PuppeteerSharp against a locally-installed Chromium/Chrome browser.

Examples

DI registration (Extensions.cs)

services.AddWebRendererServiceFromConfiguration(builder.Configuration);

Surface (IWebRendererService)

The service exposes three families of operations plus three observability events.

Surface (IWebRendererService) — Render Razor components

Method (sync + Async overloads) Result
RenderToHtml<T>(parameterDictionary?) HTML string for component T : IComponent.
RenderToHtml<T, TOptions>(options) HTML string passing a strongly-typed options object as the Options parameter.
RenderToHtmlBytes<T>(parameterDictionary?) UTF-8 bytes (records size metric).
RenderToHtmlBytes<T, TOptions>(options) Same, with typed options.
RenderToFile<T>(filePath, parameterDictionary?) Writes HTML to disk at filePath.
RenderToFile<T, TOptions>(filePath, options) Same, with typed options.

Surface (IWebRendererService) — HTML → PDF conversion

Method (sync + Async overloads) Result
ConvertHtmlToPdf(string htmlContent) PDF bytes from an HTML string.
ConvertHtmlToPdf(byte[] htmlBytes) PDF bytes from already-encoded HTML.
ConvertHtmlToPdfFromFile(string htmlFilePath) PDF bytes from an HTML file on disk.
ConvertHtmlToPdfFile(string htmlContent, string pdfFilePath) Writes PDF to pdfFilePath.
ConvertHtmlToPdfFile(byte[] htmlBytes, string pdfFilePath) Same, from bytes.
ConvertHtmlFileToPdfFile(string htmlFilePath, string? pdfFilePath = null) End-to-end file → file (PDF path defaults to <htmlFilePath>.pdf when null).

The current interface only exposes Razor render and HTML→PDF; there is no in-process screenshot API. For raw screenshots, use PuppeteerSharp directly through BrowserExePath.

Surface (IWebRendererService) — Events

ComponentRendered, ComponentRenderedToBytes, ComponentSavedToFile fire after the corresponding render operations and carry the resulting payload plus parameter and options snapshots — useful for downstream archival or diffing.

Options (WebRenderOptions)

Configuration section: WebRenderOptions.

Property Default Description
BrowserExePath Utilities.DetectBrowserPath(SupportedBrowser.Chrome) Path to the Chromium/Chrome executable used by PuppeteerSharp for HTML→PDF.
EnableMetrics false When true and an IMetrics is registered, records timers/counters/gauges (see below).

When EnableMetrics is false (default) the service uses NullMetrics.Instance, so registering IMetrics is optional.

Metrics emitted (see Constants.cs) include webrenderer.render_to_html(.bytes|_to_file).{duration,success,failure,size_bytes} and webrenderer.convert_html_to_pdf.{duration,success,failure,size_bytes,input_size_bytes}, tagged with component_type / operation.

DI registration (Extensions.cs)

This binds WebRenderOptions from WebRenderOptions (default section name) and registers: - A scoped Microsoft.AspNetCore.Components.Web.HtmlRenderer (resolved with the host’s IServiceProvider and ILoggerFactory). - A scoped IWebRendererServiceWebRendererService, optionally consuming registered ILogger<WebRendererService> and IMetrics. Pass configSectionName to the extension if you need a non-default section name. There is currently no inline-options overload — register WebRenderOptions yourself before calling the extension if you need to bypass configuration.

Dependencies

Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).

  • Lyo.Exceptions — (direct, lyo)
  • Lyo.Metrics — (direct, lyo)
  • Microsoft.AspNetCore.Components.Web 10.0.5 — (direct, microsoft)
  • Microsoft.Extensions.Configuration 10.0.5 — (direct, microsoft)
  • Microsoft.Extensions.Configuration.Binder 10.0.5 — (direct, microsoft)
  • Microsoft.Extensions.DependencyInjection.Abstractions 10.0.5 — (direct, microsoft)
  • Microsoft.Extensions.Logging.Abstractions 10.0.5 — (direct, microsoft)
  • PuppeteerSharp 24.0.0 — (direct, third-party)
  • Microsoft.Extensions.Options.ConfigurationExtensions 10.0.5 — (transitive, microsoft)
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 (2)

Showing the top 2 NuGet packages that depend on Lyo.Web.WebRenderer:

Package Downloads
Lyo.Pdf.Web.Components

Reusable Blazor components for PDF workbenches, annotation helpers, and HTML to PDF workflows.

Lyo.Reporting.Web

Blazor report viewer, business templates, and HTML/PDF report renderers for Lyo Reporting.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.9 0 8/22/2026
1.0.6 39 8/20/2026
1.0.4 64 8/20/2026
1.0.3 50 8/19/2026
1.0.2 60 8/19/2026
1.0.1 89 8/18/2026
1.0.0 107 8/16/2026