Node.js · Express · Playwright

Pagine web trasformate in PDF pronti per la stampa.

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.

GET /generate
https://pdf.bre.ve.it/generate
  ?url=https://example.com/documento
  &filename=scheda-prodotto
PDF generato application/pdf

Il progetto

Un unico renderer per più siti e applicazioni.

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.

01

Rendering reale

Le pagine vengono elaborate da Chromium con supporto a CSS, web font, immagini, media query di stampa e layout complessi.

02

Configurazione multiprogetto

Ogni dominio dispone di whitelist, percorsi autorizzati, CSS di stampa, selettori e impostazioni PDF dedicate.

03

Cache automatica

I documenti già generati vengono conservati temporaneamente per ridurre i tempi di risposta e il carico sul server.

04

Accesso controllato

Il renderer accetta esclusivamente domini, protocolli e percorsi presenti nella configurazione del progetto.

Utilizzo di base

Generare un documento.

La pagina da convertire viene passata al servizio tramite il parametro url. Il dominio deve essere registrato e il percorso deve essere autorizzato.

1

Controlla la disponibilità

L’endpoint /health restituisce lo stato del servizio e l’elenco dei progetti caricati.

Richiesta
GET https://pdf.bre.ve.it/health
2

Verifica una pagina

Prima della generazione è possibile controllare che l’URL sia autorizzato e verificare se esiste già un PDF in cache.

Richiesta
GET https://pdf.bre.ve.it/check?url=https%3A%2F%2Fexample.com%2Fdocumento
Risposta
{
  "ok": true,
  "project": "example.com",
  "cached": false
}
3

Genera il PDF

L’endpoint /generate restituisce direttamente il documento con contenuto application/pdf.

Richiesta
GET https://pdf.bre.ve.it/generate
  ?url=https%3A%2F%2Fexample.com%2Fdocumento
  &filename=scheda-prodotto

Parametri

Opzioni disponibili.

Parametro Obbligatorio Descrizione
url 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

Utilizzo dello spazio.

Il servizio conserva temporaneamente i PDF generati. I file più vecchi vengono eliminati automaticamente in base alla durata della cache configurata per ciascun progetto.

Disco utilizzato 34%
Server operativo
Utilizzato 12.7 GB
Disponibile 22.9 GB
Capacità totale 37.2 GB
Cache PDF 0 B

I valori vengono calcolati al caricamento della pagina e riguardano l’intero filesystem che ospita il servizio.

Flusso di rendering

Dal browser al documento finale.

  1. 01
    Validazione

    Dominio, protocollo e percorso vengono controllati.

  2. 02
    Caricamento

    Chromium apre la pagina richiesta in modalità headless.

  3. 03
    Preparazione

    Vengono caricati font, immagini e regole CSS di stampa.

  4. 04
    Generazione

    Playwright produce il PDF secondo la configurazione.

  5. 05
    Cache

    Il file viene conservato e restituito al client.