Guides de migration · .NET
Remplacer wkhtmltopdf par pdfkiln dans Rotativa
Rotativa et Rotativa.AspNetCore rendent les vues Razor en lançant wkhtmltopdf.exe depuis un dossier de l’application : mettez-y les programmes de pdfkiln.
1. Installer pdfkiln
Depuis la dernière version : le programme d’installation, qui installe dans C:\Program Files\wkhtmltopdf, ou le zip pdfkiln-<version>-windows-x64.zip, organisé comme l’ancien programme d’installation (wkhtmltopdf\bin\wkhtmltopdf.exe). Désinstallez wkhtmltopdf d’abord.
2. Brancher Rotativa sur pdfkiln
Copiez le contenu du dossier wkhtmltopdf\bin de l’archive (les programmes et le dossier chromium\ à côté d’eux) dans le dossier Rotativa de l’application, en général wwwroot\Rotativa avec Rotativa.AspNetCore.
3. Vérifier
wkhtmltopdf --version
# wkhtmltopdf 0.12.6 (with patched qt), pdfkiln 1.0.3, Chromium 156.0.8078.73
La réponse commence comme celle de wkhtmltopdf 0.12.6 : les bibliothèques qui lisent la version continuent de fonctionner.
Ce qu’attend Rotativa, et ce que fait pdfkiln
- Dans IIS, la conversion tourne sous l’identité du pool d’applications, avec ou sans son profil.
- Windows Server demande l’Expérience de bureau : sous Server Core, Chromium s’arrête au démarrage, et pdfkiln le dit.
- Les programmes ne sont pas encore signés : SmartScreen avertit sur le programme d’installation ouvert depuis l’Explorateur, pas sur un programme que lance IIS. Vérifiez l’archive avec le
SHA256SUMSde la version. - DinkToPdf appelle la bibliothèque C
libwkhtmltox, que pdfkiln ne fournit pas : une ligne de commande ne peut pas la remplacer.
Testé
Testé avec le pilote de Rotativa.AspNetCore, et dans IIS sous l’identité du pool d’applications, sur Windows Server 2025 avec l’Expérience de bureau.
Un rendu diffère ? Ouvrez un ticket avec le HTML et les deux PDF : github.com/Jamalofski/pdfkiln/issues. Les différences connues sont listées dans le README.