Un PDF dall’API, senza browser

GET /api/v1/documents/:id.pdf impagina un documento come PDF sul server, per uno script o un lavoro di integrazione continua che non ha un browser da cui stampare. L’applicazione continua a usare «Stampa o salva come PDF» per quello — è la resa esatta del browser, e questo non la sostituisce.

GET /api/v1/documents/:id.pdf, con una chiave API, restituisce un PDF impaginato di un documento salvato. È pensato per il caso in cui non c’è alcun browser: un lavoro pianificato, un passaggio di integrazione continua che allega un rapporto a una release, uno script che spedisce un riepilogo settimanale.

Perché esiste separato dalla stampa

Gran parte degli strumenti da Markdown a PDF è un Chrome headless con il trench. Dà una resa esatta e costa un browser: diverse centinaia di megabyte di dipendenze, una sandbox in cui tenerlo, un avvio per ogni richiesta e un tetto di memoria che un documento lungo raggiunge prima di una persona. Niente di tutto questo entra in una funzione serverless, e un servizio che avvia in silenzio un browser per ogni richiesta è lento e costoso proprio nel caso che avrebbe potuto non essere né l’uno né l’altro.

Qui il documento viene impaginato direttamente — titoli, paragrafi, elenchi, tabelle, blocchi di codice e linee — senza alcun browser lungo il percorso. Parte subito e finisce in millisecondi.

Che cosa non è

Non è una copia pixel per pixel dell’anteprima. Il comando Stampa o salva come PDF dell’applicazione usa ancora la resa propria del browser, che è esatta, e questo non è cambiato: se vuoi la pagina così come la vedi, stampala. Se vuoi un PDF da una macchina, chiedilo.

Come si usa

curl -H "Authorization: Bearer tp_live_…" \
  https://transformpipe.com/api/v1/documents/<id>.pdf -o report.pdf

Lo stesso documento è disponibile come .docx, .html e .md cambiando l’estensione: un documento salvato è quindi quattro formati senza una seconda conversione.

Da leggere: le strade da Markdown al PDF e convertire documenti con un’API.