Addaw, anar a la pàgina d'inici Donar

Lliçó 9 de 10 · 12 min de lectura · Revisada el 26/10/2026

PDF generats per sistemes: certificats, factures i justificants etiquetats

Estàs llegint una lliçó oberta. Matricula't per fer els tests i els exercicis, desar el teu progrés i aconseguir el certificat.

Matricula-m'hi · nivell 6 (119 €)

En una administració o una gran empresa, la majoria dels PDF no els escriu una persona a Word: els genera un sistema. Justificants de registre, certificats d'empadronament, notificacions, rebuts, factures, bitllets electrònics o extractes surten a milers cada dia d'un gestor d'expedients, un ERP o una plataforma de pagament. Cap d'ells no es pot remeiar a mà. Aquesta lliçó explica com aconseguir que neixin etiquetats, quines rutes tècniques hi ha i com controlar-ne la qualitat a escala.

Per què aquí no serveix remeiar

El remeiament a Acrobat que has vist en aquest curs funciona per a documents que es publiquen una vegada. Amb els documents generats fallen les tres premisses:

  • Volum: un ajuntament mitjà pot emetre desenes de milers de justificants l'any. Cadascun és un fitxer diferent.
  • Temps real: el certificat es genera quan la persona el demana i es baixa en segons. No hi ha cap moment intermedi per corregir-lo.
  • Signatura electrònica: molts d'aquests documents se signen (habitualment amb signatura PAdES, la signatura avançada pròpia del PDF) o porten un segell d'òrgan. Modificar el fitxer després de signar-lo n'invalida la signatura.

La conseqüència és clara: l'accessibilitat ha de ser a la plantilla i al motor de generació. I com que el generador sol ser un producte o un desenvolupament contractat, el requisit ha de constar al plec o al contracte, tal com es tracta al curs de contractació pública accessible del nivell 5: «els documents PDF generats pel sistema seran conformes amb el capítol 10 de l'EN 301 549 v3.2.1 (PDF, s'obre en una finestra nova) i estaran etiquetats conforme a PDF/UA-1».

Punt clau

En documents generats es valida la plantilla, no cada document. Una plantilla ben construïda produeix milers de PDF accessibles; una plantilla defectuosa produeix milers de PDF inaccessibles. Cada canvi de plantilla o de versió del motor exigeix repetir la validació.

Rutes tècniques per generar PDF etiquetat

No tots els motors de generació etiqueten, i els que ho fan solen necessitar que s'activi una opció. Les rutes més comunes:

RutaExemplesQuè cal vigilar
HTML i CSS a PDFChromium sense interfície (Puppeteer i Playwright tenen opcions tagged i outline), WeasyPrint (variant PDF/UA), Prince (perfil PDF/UA-1)La qualitat depèn de la semàntica de l'HTML; cal comprovar com es tracten les capçaleres i els peus
XSL-FOApache FOP, amb el seu mode d'accessibilitat i el perfil PDF/UA-1Cal declarar els rols i el text alternatiu a la plantilla FO
Biblioteques de programacióiText i d'altres amb API d'etiquetatgeL'etiquetatge es programa: si el codi no el demana, no existeix
Generadors d'informesJasperReports i similars amb exportació etiquetadaSol requerir propietats per element; els valors per defecte no etiqueten
LaTeXProjecte d'etiquetatge de LaTeX, activable amb \DocumentMetadataEn evolució; alguns paquets encara no l'admeten

Les opcions concretes canvien entre versions: consulta sempre la documentació de la versió que facis servir i, sobretot, valida el resultat. Que un motor «admeti PDF/UA» vol dir que el pot produir si la plantilla aporta la informació necessària; no que converteixi en accessible qualsevol entrada.

La plantilla semàntica: el PDF hereta el que li dones

Amb la ruta d'HTML a PDF, que avui és la més estesa en desenvolupaments web, el principi és el mateix que amb Word: el PDF hereta l'estructura de l'origen. Un justificant construït amb div i classes d'estil produirà un PDF sense encapçalaments ni taules.

Error freqüent

Plantilla que es veu bé i genera un PDF sense estructura:

<html>
<head><title>plantilla_v2</title></head>
<body>
  <div class="titulo">Justificant de registre</div>
  <div class="fila"><span class="neg">Núm.</span> 2026/018734</div>
  <img src="qr.png">
</body>
</html>

Exemple

La mateixa plantilla amb semàntica, idioma, títol i alternativa del codi QR:

<html lang="ca">
<head><title>Justificant de registre 2026/018734</title></head>
<body>
  <h1>Justificant de registre</h1>
  <p><strong>Número de registre:</strong> 2026/018734</p>
  <h2>Documents presentats</h2>
  <table>
    <thead><tr><th scope="col">Document</th><th scope="col">Pàgines</th></tr></thead>
    ...
  </table>
  <img src="qr.png" alt="Codi QR per verificar aquest justificant a la seu electrònica">
  <p>Codi segur de verificació: 4XK2-P9QM-77TR</p>
</body>
</html>

La llista mínima per a la plantilla: lang a l'element arrel, un title descriptiu que inclogui la dada variable que identifica el document, encapçalaments reals, taules de dades amb th i scope, text alternatiu a les imatges informatives i res d'informació transmesa només amb contingut generat per CSS (::before, ::after), que molts motors no traslladen bé a l'estructura.

Casos típics de l'administració electrònica

Codi segur de verificació i QR

Els documents de les administracions espanyoles solen portar un codi segur de verificació (CSV) i un codi QR per comprovar-ne l'autenticitat a la seu electrònica. Sovint el CSV s'imprimeix en vertical al marge. Aquest text és contingut real (la persona el necessita per verificar el document), així que no ha de ser un artefacte: ha d'estar etiquetat i col·locat en l'ordre de lectura, normalment al final. El QR és una figura amb un alt que n'expliqui la funció, acompanyada de l'adreça de verificació en text.

Segells, signatures i escuts

L'escut de la capçalera que es repeteix a cada pàgina és un artefacte. La representació visual de la signatura («Signat per… el…») ha d'existir també com a text llegible: una imatge d'un segell sense text no informa de qui signa ni quan.

Documents bilingües

A les comunitats amb llengua cooficial és habitual el document a dues columnes o a dos blocs, en castellà i en català, gallec, basc o valencià. Cada part ha de portar el seu idioma (atribut lang a la plantilla, /Lang al PDF) per complir el 3.1.2 Idioma de les parts, i l'ordre de lectura ha de recórrer un idioma complet abans de l'altre, no saltar línia a línia entre columnes.

Factures i rebuts

La taula de conceptes d'una factura és una taula de dades: capçaleres de columna, imports amb la seva unitat i totals identificats com a tals. Recorda que en la facturació electrònica al sector públic el document amb valor fiscal és el fitxer estructurat (Facturae, en XML); el PDF és una representació per a persones, i és precisament aquesta representació la que ha de ser accessible.

Metadades i ordre del procés

El motor ha de produir, o un pas posterior hi ha d'afegir: títol a l'XMP amb DisplayDocTitle activat, idioma del document, fonts incrustades amb mapa Unicode i l'identificador pdfuaid:part només si es valida la conformitat. L'ordre del procés importa:

  1. Generar el PDF etiquetat des de la plantilla.
  2. Completar les metadades si el motor no ho fa.
  3. Validar (en proves, no a cada emissió).
  4. Signar o segellar. Després de la signatura, el document ja no es toca.

Control de qualitat a escala

La validació de plantilles encaixa bé en la integració contínua. Amb veraPDF, que vas veure a la lliçó de validació, pots comprovar per línia d'ordres un lot de documents de mostra cada vegada que canvia la plantilla:

verapdf --flavour ua1 muestras/*.pdf

El lot de mostra ha d'incloure els casos extrems: noms molt llargs, una taula que salta de pàgina, un document d'una sola línia i un altre de vint pàgines, caràcters especials (ñ, accents, «ç», «l·l») i, si escau, la versió bilingüe. Complementa la validació automàtica amb una revisió manual i amb lector de pantalla de cada plantilla, com vas veure a la lliçó sobre proves amb tecnologies de suport. Cap eina no detecta que l'alt del QR diu «imatge» o que el CSV ha quedat com a artefacte.

Prova-ho tu

Baixa un justificant o un certificat de qualsevol seu electrònica que hagis fet servir (registre, padró, un pagament de taxes). Obre'l a PAC o a Acrobat i respon: té etiquetes?, quin títol mostra?, el CSV és text etiquetat o artefacte?, el QR té alt? En cinc minuts sabràs si aquesta plantilla es va dissenyar pensant en l'accessibilitat.

Resum

  • Els PDF generats per sistemes no es poden remeiar: el volum, el temps real i la signatura obliguen a fer-los accessibles a la plantilla i al motor.
  • Hi ha motors que etiqueten (HTML a PDF, XSL-FO, biblioteques, generadors d'informes), però gairebé sempre cal activar-ho i donar-los una plantilla semàntica.
  • El CSV, el QR, les signatures visibles i els documents bilingües són contingut que s'ha d'etiquetar, descriure i ordenar bé.
  • Primer es genera i es valida, després se signa; després de la signatura el fitxer no es modifica.
  • Valida cada plantilla amb un lot de mostres en integració contínua (veraPDF) i amb revisió humana a cada canvi.

Portes 7 lliçons d'aquest curs: que no es perdin

Crea el teu compte i desa el que ja has llegit i segueix el curs amb tot:

  • El test d'aquesta lliçó (3 preguntes) per comprovar el que has après
  • Exercicis pràctics amb pàgines reals
  • El teu progrés desat: continues on ho vas deixar, des de qualsevol dispositiu
  • Constància del curs amb les hores i certificat del nivell 6 quan aprovis l'examen

Entres amb el teu compte de Google o només amb el teu correu electrònic. No cal contrasenya.

Matricula-m'hi · nivell 6 (119 €)