Pixata.AspNetCore.Pdf.WkHtmlToPdf
1.0.3
dotnet add package Pixata.AspNetCore.Pdf.WkHtmlToPdf --version 1.0.3
NuGet\Install-Package Pixata.AspNetCore.Pdf.WkHtmlToPdf -Version 1.0.3
<PackageReference Include="Pixata.AspNetCore.Pdf.WkHtmlToPdf" Version="1.0.3" />
<PackageVersion Include="Pixata.AspNetCore.Pdf.WkHtmlToPdf" Version="1.0.3" />
<PackageReference Include="Pixata.AspNetCore.Pdf.WkHtmlToPdf" />
paket add Pixata.AspNetCore.Pdf.WkHtmlToPdf --version 1.0.3
#r "nuget: Pixata.AspNetCore.Pdf.WkHtmlToPdf, 1.0.3"
#:package Pixata.AspNetCore.Pdf.WkHtmlToPdf@1.0.3
#addin nuget:?package=Pixata.AspNetCore.Pdf.WkHtmlToPdf&version=1.0.3
#tool nuget:?package=Pixata.AspNetCore.Pdf.WkHtmlToPdf&version=1.0.3
Pixata.AspNetCore.Pdf.WkHtmlToPdf 

Obsolete
This package exists so that apps that used the PDF generation in Pixata.AspNetCore before v2.0.0 can upgrade without changing their templates straight away. wkhtmltopdf was archived in January 2023 and does not get any new fixes, security fixes included. It is built on an old QtWebKit, with known server-side request forgery and local file read problems when it renders HTML that contains anything user-supplied. It is recommended to move to Pixata.AspNetCore.Pdf.Playwright as this provides for a much better level of conversion, and depends on external packages that will be maintained and updated.
Version 1.0.3 changes the
[Obsolete]messages to recommend only Pixata.AspNetCore.Pdf.Playwright. No other changes.
Version 1.0.2 changes the package description to recommend Pixata.AspNetCore.Pdf.Playwright. No other changes.
Version 1.0.1 updates the
[Obsolete]messages to mention Pixata.AspNetCore.Pdf.Playwright as well as Pixata.AspNetCore.Pdf.Telerik. No other changes.
A PDF converter for the DocumentTemplateHelper in Pixata.AspNetCore, using wkhtmltopdf (through Haukcode.WkHtmlToPdfDotNet). This is the converter that Pixata.AspNetCore used before v2.0.0.
Setup
This package is a converter for the DocumentTemplateHelper in Pixata.AspNetCore, so you register both. In Program.cs...
builder.Services.AddPixataAspNetCore<Program>();
builder.Services.AddPixataWkHtmlToPdf();
The first line registers DocumentTemplateHelper (along with the HtmlRenderer and IHttpContextAccessor it needs), which renders a Blazor component to HTML, and then hands the HTML to the converter registered by the second line to turn it into a PDF.
The type parameter can be any type in your app. It's only used to find your FluentValidation validators for Pixata.AspNetCore's validation endpoint filter, which is registered at the same time. Program is always there, so it's the easiest choice. If you don't use the validation filter, the non-generic builder.Services.AddPixataAspNetCore() registers everything else. See registering services for how to opt out of the parts you don't want.
Templates are given a BaseUrl parameter for linking to images and style sheets on your site. You don't need to set it, as the helper takes it from the scheme and host of the current request, so it is right in development, test and live without any changes. If you create PDFs from an interactive Blazor Server component or a background service, where there is no current request, see the base URL in the Pixata.AspNetCore.Pdf.Playwright readme for how to pick it up from the first request instead.
The second line registers the wkhtmltopdf IConverter (as a factory, so the native library isn't loaded until a PDF is generated), and a PdfConverterInterface that uses it. Both are marked [Obsolete], so you'll get a warning when you call it.
Before v2.0.0, PDFs were always A4Plus. PdfOptions now defaults to A4, so pass new PdfOptions { PaperSize = PdfPaperSize.A4Plus } to CreatePdfFromTemplate if you need the old size.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- Haukcode.WkHtmlToPdfDotNet (>= 1.5.95)
- Pixata.AspNetCore (>= 2.3.1)
-
net8.0
- Haukcode.WkHtmlToPdfDotNet (>= 1.5.95)
- Pixata.AspNetCore (>= 2.3.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.