::
Mi permetto di aggiungere un esperimento che ho fatto con questa versione web: ovvero usarlo da riga di comando.
`#!/usr/bin/env bash
percorso_pdf='path/to/pdf' # DA CAMBIARE!!
id_profilo='3a' # per altri profili visitare:
# https://dev.verapdf-rest.duallab.com/api/profiles/ids
curl -sL “https://dev.verapdf-rest.duallab.com/api/validate/${id_profilo}/” \
-H 'Accept: application/json' \
-H “X-File-Size: $(shell stat –printf='%s' “${percorso_pdf}”)” \
-F file=”@${percorso_pdf}” \
-F sha1Hex=”$(shell sha1sum “${percorso_pdf}” | cut -d ' ' -f 1)” \
-H 'DNT: 1' \
-H 'Cache-Control: no-cache' \
-H 'Sec-GPC: 1' | jq -r '.report.jobs[].validationResult[].compliant'
`
Oltre a [font=”monospace”]curl[/font] è richiesto jq (disponibile in molte repo delle distro più comuni di Linux) per estrarre il risultato della verifica, altrimenti eliminando la pipe (barra verticale) e il comando alla sua destra nell’ultima riga si ottiene il risultato della validazione in JSON.
È anche possibile cambiare il formato dell’output, basta sostituire [font=”monospace”]application/json[/font] con [font=”monospace”]application/xml[/font] o [font=”monospace”]text/html[/font].
Così facendo si può usare questa versione web per tipo-comporre e verificare la conformità dei documenti anche in un runner GitLab o GitHub. Avendo la possibilità di mettere a disposizione una “nightly-build” del proprio documento (conforme a uno standard) ad ogni commit fatto su una repo o a ogni pull request accettata.
Se siete curiosi, qui trovate il codice Java che risponde alla rotta [font=”monospace”]api/validate/${id_profilo}/[/font].