Formål
At kunne generere webtilgængelige PDF’er på en ensartet måde, i alle forretningsdomæner, ud fra HTML.
Arkitektur
Der oprettes en isoleret container, der kun har til opgave at tage imod HTML og sende en PDF tilbage
Det er et .NET-projekt, der anvender https://github.com/hardkoded/puppeteer-sharp til at starte en Chromium-instans op med den givne HTML, og ud fra det bliver en PDF genereret.
Integrationsdesign
Der udstilles et Swagger-spec samt en autogenereret klient, som publiceres til NuGet. Individuelle løsninger kan kalde PDF-generator-containeren gennem den autogenererede klient med HMTL, og få en tilsvarende PDF retur.
Implementationsperspektiv
Containerisering
TODO RSVO
Puppeteer
Der anvendes puppeteer-sharp til at starte en Chromium-instans og derfra generere PDF’er
https://github.com/hardkoded/puppeteer-sharp
Følgende features i Puppeteer anvendes, der sikrer at PDF’er er opmærket:
https://github.com/puppeteer/puppeteer/pull/5337
https://github.com/puppeteer/puppeteer/issues/7509
Swagger
TODO RSVO
Udeståender
Logning
Er der logningskrav?
Performancemonitorering
Servicen skal understøtte performancemonitorering, og bør load-testes inden produktionssætning.