Skip to content

vtfk/azf-pdf-generator

Repository files navigation

Tests Coverage Status js-standard-style

azf-pdf-generator

Mikrotjeneste som genererer PDF- eller PDF/A-dokumenter basert på predefinerte maler og returnerer de som base64.

Dokuemtdefinisjoner

Dokumentdefinisjoner (logo, skrifttype og sånt shait) finner du her: ./lib/document-definitions/README.md

API-endepunkter

POST /generate - PDF

Se tilgjengelige systemer og maler i listen nedenfor.

Feltet language er standard satt til nb (bokmål) om ikke annet er definert.
Andre tillatte verdier er nn (nynorsk) og en (engelsk)

Forespørsel:

{
  "system": "minelev",
  "template": "varsel-fag",
  "language": "nb",
  "data": {
    ... template fields ...
  }
}

Respons:

{
  "data": {
    "system": "minelev",
    "template": "varsel-fag",
    "language": "nb",
    "type": "",
    "version": "",
    "data": {
      ... template fields ...
    },
    "base64": "...base64-pdf..."
  }
}

POST /generate - PDF/A

Se tilgjengelige systemer og maler i listen nedenfor.

Feltet language er standard satt til nb (bokmål) om ikke annet er definert.
Andre tillatte verdier er nn (nynorsk) og en (engelsk)

Feltet type og version gis med for å sette PDF/A til f.eks versjon 2B.
Dersom type og/eller version ikke er satt genereres standard PDF.
Se tillatte verdier i listen under

Forespørsel:

{
  "system": "minelev",
  "template": "varsel-fag",
  "language": "nb",
  "type": "2",
  "version": "B",
  "data": {
    ... template fields ...
  }
}

Respons:

{
  "data": {
    "system": "minelev",
    "template": "varsel-fag",
    "language": "nb",
    "type": "2",
    "version": "B",
    "data": {
      ... template fields ...
    },
    "base64": "...base64-pdf..."
  }
}

POST /generatev2

Dette endepunktet er opprettet for å kunne sende mal inn sammen med requesten
Endepunktet har også støtte for å bruke maler som ligger lagret på APIet.

  • Send inn template med requesten:
    Påkrevde properties: template
  • Bruk template som er lagret på APIet:
    Påkrevde properties: system, templateId

Annet enn dette så fungerer endepunktet likt som /generate

Maler

Et system kan ha mange maler, her er en beskrivelse av alle de forskjellige dokumentmalene som er tilgjengelige for bruk i API-en.

System Template Languages Description
minelev varsel-fag nb, nn data skal være dokumentet fra MinElev documents.
Format tilgjengelig her.
minelev varsel-orden nb, nn data skal være dokumentet fra MinElev documents.
Format tilgjengelig her.
minelev varsel-atferd nb, nn data skal være dokumentet fra MinElev documents.
Format tilgjengelig her.
minelev samtale nb, nn data skal være dokumentet fra MinElev documents.
Format tilgjengelig her.
minelev ikke-samtale nb, nn data skal være dokumentet fra MinElev documents.
Format tilgjengelig her.
minelev notat nb data skal være dokumentet fra MinElev documents.
Format tilgjengelig her.
minelev bekreftelse-bedrift nb, nn data skal være dokumentet fra MinElev documents.
Format tilgjengelig her.
minelev bekreftelse nb, nn data skal være dokumentet fra MinElev documents.
Format tilgjengelig her.
minelev laereplan nb, nn data skal være dokumentet fra MinElev documents.
Format tilgjengelig her.
minelev tilbakemelding nb, nn data skal være dokumentet fra MinElev documents.
Format tilgjengelig her.
iop hemmelig nb Format tilgjengelig her.
smart motereferat nb, nn, en Format tilgjengelig her.
vigo KONTRAKT-response nb Format tilgjengelig her.

PDFA

PDF/A finnes i flere versjoner. Type 2 med versjon B (ISO 19005-2) er den vanligste for arkivering

Type Version Standard Description
1 A / B ISO 19005-1 Informasjon tilgjengelig her
2 A / B ISO 19005-2 Informasjon tilgjengelig her

Utvikling

  • Klon ned repoet
  • $ npm install

Starte lokal Azure function

Publisere function

For å publisere ny release til Azure, opprett en release i github i master, så publiseres functionen til prod.

Alternativ metode

  • $ az login
  • $ func azure functionapp publish test-func-pdf-api-v1
  • $ func azure functionapp publish prod-func-pdf-api-v1

Lisens

MIT