html2pdf-service
Small REST API that renders HTML into PDF documents using an embedded Chromium (CefSharp), used by the supplier-confirmations flow.
Health score
0 to 100 across seven weighted factors; nothing is hidden. Green is 75 and above, amber 50 to 74, red below 50. How scoring works.
Facts
| Languages | csharp |
| Frameworks | ASP.NET Core 3.1 |
| Runtimes | .NET Core 3.1 (win-x64) |
| Tests / CI | none / CI in place |
| Last commit | 2020-03-11 |
| Owner | Owner unknown (mapping to be curated) |
| Domain | Platform services (system generated; curate in repo-owners.json to override) |
| Product area | Shared platform |
| Hosted | On-prem Deployed to our own machines
|
| Releases | 1 release pipeline(s): \finance\supplier-confirmations\html2pdf service CI |
| Integration | rest |
| Source | Open in Azure DevOps |
Risk flags
Each flag links to its glossary definition.
Dependencies in context
Entanglement
loose No binding mechanisms apply: this system needs no untangling work.
Depends on / used by
Migration playbooks
Generated from this repo's assessment data: what is feasible, what blocks it, and the steps in order. Ratings: green means actionable now, amber means sequence other work first, red means blocked, grey means not applicable.
ZDD adoption
Not applicableNot a deployed service (libraries, database definitions, desktop apps) or a retirement candidate not worth the investment. Retirement or consolidation candidate; do not invest in ZDD adoption.
SQL Server exit
Not applicableNo SQL Server dependency is recorded for this repo. Nothing to migrate.
Containerisation
Retire insteadThis repo is a retirement or consolidation candidate; containerising it would be investment in something we intend to switch off.
Recommended actions
Review html2pdf-service for retirement
Dormant (last commit 2020-03-11) yet still release-linked, and nothing depends on it. Confirm remaining use, then retire and disarm its pipeline.
Impact: Shrinks the estate before the expensive work begins
proposedAssessment notes
html2pdf-service
Purpose
Single-endpoint web API (POST /api/v1/pdfs/from-html) that converts submitted HTML into a PDF via CefSharp.OffScreen (headless Chromium 79). Released under the finance supplier-confirmations folder, so it most likely renders supplier confirmation documents.
Tech stack
C# on ASP.NET Core 3.1, pinned to win-x64 because CefSharp requires native Windows Chromium binaries. Serilog for logging. Command-handler pattern with one controller and one command (CreatePdfFromHtml).
Deployment
One release pipeline (\finance\supplier-confirmations\html2pdf service CI) fed by the html2pdf-service CI build (azure-pipelines.yml using shared templates v0.9.4, custom publish step for the x64 runtime). Nine appsettings environment files (qa, training, preproduction, production, live, etc.) but they contain only logging config.
Dependencies
No internal TC NuGet packages and no calls to other estate services. External packages: CefSharp.OffScreen 79.1.360, Serilog.
Data stores
None; stateless request/response service.
Integration points
Inbound REST only. No message bus, no outbound HTTP clients.
Code health
No test projects. CI exists but last commit was 2020-03-11 — dormant for over six years.
Modernisation risks
.NET Core 3.1 is long past end of life and Chromium 79 (2019) carries known CVEs, a real concern for a service rendering arbitrary HTML. Windows-only native dependency blocks containerisation on Linux. A rewrite on modern .NET with Playwright/Puppeteer (or a managed PDF library) would be small and low risk given the single endpoint.