Rendering reale
Le pagine vengono elaborate da Chromium con supporto a CSS, web font, immagini, media query di stampa e layout complessi.
Node.js · Express · Playwright
PDF Renderer è un servizio centralizzato che genera documenti PDF partendo da pagine web autorizzate. Ogni progetto può avere regole, stili di stampa e impostazioni di esportazione indipendenti.
https://pdf.bre.ve.it/generate
?url=https://example.com/documento
&filename=scheda-prodotto
Il progetto
Il servizio utilizza un browser Chromium controllato da Playwright per aprire le pagine, applicare le regole di stampa e produrre un PDF coerente con il layout del progetto.
Le pagine vengono elaborate da Chromium con supporto a CSS, web font, immagini, media query di stampa e layout complessi.
Ogni dominio dispone di whitelist, percorsi autorizzati, CSS di stampa, selettori e impostazioni PDF dedicate.
I documenti già generati vengono conservati temporaneamente per ridurre i tempi di risposta e il carico sul server.
Il renderer accetta esclusivamente domini, protocolli e percorsi presenti nella configurazione del progetto.
Utilizzo di base
La pagina da convertire viene passata al servizio tramite il
parametro url. Il dominio deve essere registrato
e il percorso deve essere autorizzato.
L’endpoint /health restituisce lo stato del
servizio e l’elenco dei progetti caricati.
GET https://pdf.bre.ve.it/health
Prima della generazione è possibile controllare che l’URL sia autorizzato e verificare se esiste già un PDF in cache.
GET https://pdf.bre.ve.it/check?url=https%3A%2F%2Fexample.com%2Fdocumento
{
"ok": true,
"project": "example.com",
"cached": false
}
L’endpoint /generate restituisce direttamente
il documento con contenuto application/pdf.
GET https://pdf.bre.ve.it/generate
?url=https%3A%2F%2Fexample.com%2Fdocumento
&filename=scheda-prodotto
Parametri
| Parametro | Obbligatorio | Descrizione |
|---|---|---|
url |
Sì | URL completo della pagina web da convertire. Deve appartenere a un progetto configurato. |
filename |
No |
Nome assegnato al documento restituito. L’estensione
.pdf viene aggiunta automaticamente.
|
refresh |
No |
Impostato a 1, ignora temporaneamente la cache
e forza una nuova generazione.
|
Il parametro refresh=1 dovrebbe essere utilizzato
soltanto quando il contenuto della pagina è cambiato e serve
rigenerare immediatamente il documento.
Stato del server
Il servizio conserva temporaneamente i PDF generati. I file più vecchi vengono eliminati automaticamente in base alla durata della cache configurata per ciascun progetto.
I valori vengono calcolati al caricamento della pagina e riguardano l’intero filesystem che ospita il servizio.
Flusso di rendering
Dominio, protocollo e percorso vengono controllati.
Chromium apre la pagina richiesta in modalità headless.
Vengono caricati font, immagini e regole CSS di stampa.
Playwright produce il PDF secondo la configurazione.
Il file viene conservato e restituito al client.