https://github.com/vtfk/azf-pdf-generator
Azure function PDF generator
https://github.com/vtfk/azf-pdf-generator
pdf pdf-a
Last synced: 6 months ago
JSON representation
Azure function PDF generator
- Host: GitHub
- URL: https://github.com/vtfk/azf-pdf-generator
- Owner: vtfk
- License: mit
- Created: 2020-11-30T09:18:06.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-09-15T19:08:12.000Z (8 months ago)
- Last Synced: 2024-09-15T20:26:59.852Z (8 months ago)
- Topics: pdf, pdf-a
- Language: JavaScript
- Homepage: https://api.vtfk.dev/pdf/v1/generate
- Size: 1.76 MB
- Stars: 0
- Watchers: 4
- Forks: 2
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README

[](https://coveralls.io/github/vtfk/azf-pdf-generator?branch=main)
[](https://github.com/feross/standard)# 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](./lib/document-definitions/README.md)## API-endepunkter
### POST /generate - PDF
Se [tilgjengelige systemer og maler](#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:
```json
{
"system": "minelev",
"template": "varsel-fag",
"language": "nb",
"data": {
... template fields ...
}
}
```Respons:
```json
{
"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](#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](#pdfa) i listen underForespørsel:
```json
{
"system": "minelev",
"template": "varsel-fag",
"language": "nb",
"type": "2",
"version": "B",
"data": {
... template fields ...
}
}
```Respons:
```json
{
"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.](https://github.com/vtfk/minelev-api/blob/main/docs/postDocument.md#fag) |
| minelev | varsel-orden | nb, nn | `data` skal være dokumentet fra MinElev documents.
[Format tilgjengelig her.](https://github.com/vtfk/minelev-api/blob/main/docs/postDocument.md#orden) |
| minelev | varsel-atferd | nb, nn | `data` skal være dokumentet fra MinElev documents.
[Format tilgjengelig her.](https://github.com/vtfk/minelev-api/blob/main/docs/postDocument.md#atferd) |
| minelev | samtale | nb, nn | `data` skal være dokumentet fra MinElev documents.
[Format tilgjengelig her.](https://github.com/vtfk/minelev-api/blob/main/docs/postDocument.md#samtale-1) |
| minelev | ikke-samtale | nb, nn | `data` skal være dokumentet fra MinElev documents.
[Format tilgjengelig her.](https://github.com/vtfk/minelev-api/blob/main/docs/postDocument.md#ikke-samtale) |
| minelev | notat | nb | `data` skal være dokumentet fra MinElev documents.
[Format tilgjengelig her.](https://github.com/vtfk/minelev-api/blob/main/docs/postDocument.md#notat-1) |
| minelev | bekreftelse-bedrift | nb, nn | `data` skal være dokumentet fra MinElev documents.
[Format tilgjengelig her.](https://github.com/vtfk/minelev-api/blob/main/docs/postDocument.md#yff-bekreftelse-bedrift) |
| minelev | bekreftelse | nb, nn | `data` skal være dokumentet fra MinElev documents.
[Format tilgjengelig her.](https://github.com/vtfk/minelev-api/blob/main/docs/postDocument.md#yff-bekreftelse) |
| minelev | laereplan | nb, nn | `data` skal være dokumentet fra MinElev documents.
[Format tilgjengelig her.](https://github.com/vtfk/minelev-api/blob/main/docs/postDocument.md#yff-lokalplan-maal) |
| minelev | tilbakemelding | nb, nn | `data` skal være dokumentet fra MinElev documents.
[Format tilgjengelig her.](https://github.com/vtfk/minelev-api/blob/main/docs/postDocument.md#yff-tilbakemelding) |
| iop | hemmelig | nb | [Format tilgjengelig her.](https://github.com/vtfk/azf-pdf-generator/blob/main/docs/templates.md#iop-hemmelig) |
| smart | motereferat | nb, nn, en | [Format tilgjengelig her.](https://github.com/vtfk/azf-pdf-generator/blob/main/docs/templates.md#smart-motereferat) |
| vigo | KONTRAKT-response | nb | [Format tilgjengelig her.](https://github.com/vtfk/azf-pdf-generator/blob/main/docs/templates.md#vigo-DOKUMENTTYPE-response) |## 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](https://en.wikipedia.org/wiki/PDF/A#pdf/a-1) |
| 2 | A / B | ISO 19005-2 | [Informasjon tilgjengelig her](https://en.wikipedia.org/wiki/PDF/A#pdf/a-2) |## Utvikling
- Klon ned repoet
- `$ npm install`### Starte lokal Azure function
- Pass på at du har siste versjon av [azure-functions-core-tools](https://www.npmjs.com/package/azure-functions-core-tools) installert
- `$ func start`## 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](/LICENSE.md)