SolarBlazorDocs.Pdf
10.0.0
dotnet add package SolarBlazorDocs.Pdf --version 10.0.0
NuGet\Install-Package SolarBlazorDocs.Pdf -Version 10.0.0
<PackageReference Include="SolarBlazorDocs.Pdf" Version="10.0.0" />
<PackageVersion Include="SolarBlazorDocs.Pdf" Version="10.0.0" />
<PackageReference Include="SolarBlazorDocs.Pdf" />
paket add SolarBlazorDocs.Pdf --version 10.0.0
#r "nuget: SolarBlazorDocs.Pdf, 10.0.0"
#:package SolarBlazorDocs.Pdf@10.0.0
#addin nuget:?package=SolarBlazorDocs.Pdf&version=10.0.0
#tool nuget:?package=SolarBlazorDocs.Pdf&version=10.0.0
SolarBlazorDocs.Pdf
Motor de conversión a PDF para SolarBlazorDocs, basado en PuppeteerSharp (Chromium headless). Ofrece fidelidad total con CSS moderno (flexbox, grid, fuentes web, saltos de página, encabezados/pies).
Requiere el paquete núcleo SolarBlazorDocs.Abstractions (se instala como dependencia).
Instalación
dotnet add package SolarBlazorDocs.Pdf
Registro
using SolarBlazorDocs.Extensions;
builder.Services.AddSolarBlazorDocs(docs =>
{
docs.AddPuppeteerEngine();
});
AddPuppeteerEngine registra el motor (nombre puppeteer, el valor por defecto de PdfRenderOptions.Engine) y un proveedor de navegador reutilizable como singleton.
Uso
byte[] pdf = await docs.ComponentToPdfAsync<Factura>(parametros, new PdfRenderOptions
{
Format = PageFormat.A4,
Orientation = PageOrientation.Landscape,
Margins = PageMargins.Uniform("2cm"),
Culture = "es-ES",
HeaderHtml = "<div style='font-size:10px;width:100%;text-align:center'>Mi empresa</div>",
FooterHtml = "<div style='font-size:10px;width:100%;text-align:center'>" +
"Pág <span class='pageNumber'></span> de <span class='totalPages'></span></div>"
});
Las clases pageNumber / totalPages en el encabezado/pie son sustituidas por Chromium.
Configuración del motor
docs.AddPuppeteerEngine(o =>
{
// Usar un navegador ya instalado (evita la descarga de Chromium):
o.ExecutablePath = @"C:\Program Files\Google\Chrome\Application\chrome.exe";
// Descargar Chromium automáticamente si no hay ninguno (por defecto true):
o.DownloadBrowserIfMissing = true;
// Directorio de caché de descarga (opcional):
o.CacheDirectory = "/ruta/cache";
// Argumentos de arranque (en contenedores Linux suele hacer falta --no-sandbox):
o.LaunchArgs = ["--no-sandbox"];
// Tiempo máximo de carga del HTML (ms):
o.NavigationTimeoutMs = 30_000;
});
Comportamiento
- La primera generación descarga Chromium (si no se indica
ExecutablePath); puede tardar. Las siguientes reutilizan el mismo navegador (arranque perezoso y protegido por semáforo). - El motor mapea
PdfRenderOptions(formato, orientación, márgenes, escala, encabezado/pie, rango de páginas) a las opciones de PuppeteerSharp.
Requisitos
- .NET 10
- Chromium (descarga automática o
ExecutablePatha un navegador del sistema).
Contenido del paquete
PuppeteerPdfEngine— implementación deIPdfEngine(nombrepuppeteer).IPuppeteerBrowserProvider/PuppeteerBrowserProvider— ciclo de vida del navegador.PuppeteerEngineOptions— configuración del motor.AddPuppeteerEngine(...)— extensión de registro sobreSolarBlazorDocsBuilder.
| Product | Versions 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. |
-
net10.0
- PuppeteerSharp (>= 20.2.2)
- SolarBlazorDocs.Abstractions (>= 10.0.0)
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 |
|---|---|---|
| 10.0.0 | 123 | 7/25/2026 |