Puppeteer è eccellente quando il prodotto è una pagina web
Puppeteer pilota un vero browser Chromium. Questo è il suo superpotere. Se la fonte di riferimento è una pagina HTML esistente, un pannello con grafici JavaScript, un’istantanea legale di un’app web renderizzata o un’esportazione in stile cattura, Puppeteer è spesso la scelta di prodotto giusta.
La domanda di prodotto è se il vostro PDF sia davvero una pagina web, oppure un documento aziendale strutturato. Fatture, etichette, estratti, ricevute, ticket e moduli di solito nascono da dati, non da un DOM vivo. Per questi flussi, avviare un intero browser può essere più architettura di quanta il documento richieda.
Stesso artefatto, confine di prodotto diverso
Puppeteer trasforma HTML in un PDF stampato tramite Chromium. L’applicazione assume modelli HTML, regole CSS di stampa, installazione font, ambiente browser, capacità dei worker, tentativi e distribuzione regionale.
gPdf trasforma JSON strutturato direttamente in PDF. L’applicazione invia un DocumentRequest o template_id + data; il generatore sull’edge assume esecuzione dell’impaginazione, font inclusi, primitive per codici a barre, profili PDF/A e pacchetto di fattura elettronica. Non c’è processo browser, non c’è cascata CSS e non c’è container Chromium da tenere caldo.
Adattamento di prodotto: cattura web vs generazione documentale
Scegliete Puppeteer quando il documento deve assomigliare esattamente a una pagina web esistente o quando JavaScript lato client produce lo stato visivo finale. Questo include archivi web, pannelli dinamici, report pesanti sul DOM e flussi in cui riscrivere l’impaginazione come JSON creerebbe più rischio di quanto ne toglierebbe.
Scegliete gPdf quando il prodotto è generazione documentale: etichetta, fattura, ticket, estratto, certificato, ricevuta o pacchetto di conformità generato ogni volta nello stesso modo da dati puliti.
Tempo di sviluppo: debug HTML di stampa vs modelli API
Puppeteer parte rapidamente quando l’HTML esiste già. Il tempo di sviluppo appare dopo: CSS di stampa, comportamento dei salti pagina, installazione font dentro i container, casi limite di intestazioni e piè di pagina, dimensionamento dei codici a barre e deriva tra versioni del browser.
gPdf parte da un modello strutturato. I team possono scrivere JSON direttamente, usare IA per abbozzare impaginazioni valide rispetto allo schema, oppure usare gPdf Studio per aggiungere e trascinare visivamente testo, tabelle, immagini, forme, intestazioni, piè di pagina e codici a barre. Una volta salvato il modello, le chiamate di produzione possono restare template_id + data.
Modello di prezzo: libreria gratuita vs flotta browser gestita
Puppeteer non ha costo di licenza. Questo non rende gratuito un servizio PDF Puppeteer in produzione.
La superficie di costo è il servizio intorno a Chromium:
- Ambiente container o serverless per il binario browser.
- Pool caldi o code per assorbire gli avvii a freddo.
- Margine memoria per pagine, font, immagini e byte PDF.
- Distribuzione regionale se magazzini o clienti sono globali.
- Monitoraggio, tentativi, aggiornamenti browser e patch di sicurezza.
gPdf applica il prezzo direttamente alla superficie di generazione PDF. Il piano Basic parte da 5 USD/mese per 100.000 pagine, e il calcolo pubblico per pagina parte da 0,00005 USD per pagina. Non ci sono postazioni, costi separati per ambienti test/prod o pool Chromium da gestire.
La generazione sull’edge cambia il profilo di latenza e costo
Con Puppeteer, il browser vive di solito dove lo ospitate. Se il magazzino, il cliente o il job server è lontano da quella regione, il percorso di generazione include latenza di rete più il lavoro del browser. Aggiungere regioni significa duplicare servizio browser, pipeline di rilascio, monitoraggio e piano di capacità.
gPdf gira su isolati V8 di Cloudflare Workers. Per PDF strutturati, il generatore è abbastanza piccolo da girare vicino al chiamante invece di centralizzare ogni generazione in una sola regione. L’effetto aziendale non è solo un p50 più basso; è togliere dal prodotto una flotta Chromium regionale.
Funzionalità che di solito decidono il confronto
Per documenti operativi, la lista funzionalità conta quanto la velocità grezza:
- Elementi codice a barre nativi per etichette, ticket e documenti di magazzino.
- Sostituzione font CJK e multilingue inclusa.
- Profili PDF/A per flussi di archivio.
- Pacchetto fattura elettronica Factur-X/ZUGFeRD.
- PDF protetti da password e controlli metadati nei piani superiori.
- Iterazione visiva dell’impaginazione tramite gPdf Studio.
Puppeteer può supportare molte di queste cose tramite codice pagina, configurazione browser o post-elaborazione. La domanda è se il vostro team vuole possedere quell’insieme tecnico.
Quando Puppeteer resta la scelta giusta
C’è una categoria in cui gPdf non compete: conversione arbitraria da HTML a PDF. Se il documento è già renderizzato, la fonte di riferimento visiva è HTML e serve un browser reale per eseguire JavaScript o riprodurre il DOM, Puppeteer resta lo strumento corretto.
Se il carico è piccolo e la latenza non è importante, anche il costo operativo può essere accettabile. Poche esportazioni interne al giorno non giustificano riscrivere HTML stabile come JSON.
Forma della migrazione
Per i team che spostano un carico di fatture o etichette da Puppeteer a gPdf, la migrazione di solito assomiglia a questa:
- // Before: render an HTML template through Chromium
- const browser = await puppeteer.launch({ headless: 'new' });
- const page = await browser.newPage();
- await page.setContent(invoiceHtml);
- const pdf = await page.pdf({ format: 'A4' });
+ // After: POST the structured DocumentRequest
+ const res = await fetch('https://api.gpdf.com/api/v1/template-render', {
+ method: 'POST',
+ headers: { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' },
+ body: JSON.stringify({ template_id: 'invoice-v2', data }),
+ });
+ const pdf = Buffer.from(await res.arrayBuffer());
Il lavoro non è la chiamata API: è creare il modello una volta. Dopo, ogni generazione è un singolo POST HTTPS.
Scenari correlati di generazione PDF
I team che confrontano Puppeteer e gPdf di solito stanno decidendo se il documento debba restare una pagina web oppure diventare un contratto PDF strutturato. Per i carichi operativi, partite da API da JSON a PDF, API PDF per fatture ed etichette di spedizione. Per la parte architetturale, leggete perché la generazione PDF sull’edge conta oltre 10.000 fatture/giorno. Per archivio e fattura elettronica, vedere PDF/A e Factur-X spiegati agli ingegneri.
FAQ
Puppeteer è gratuito?
Puppeteer è gratuito come libreria. In produzione, il costo è il servizio browser: container, memoria, avvii a freddo, capacità regionale, monitoraggio, tentativi e manutenzione.
gPdf genera pagine HTML arbitrarie?
No. gPdf è nativo JSON. Se la vostra fonte di riferimento è HTML arbitrario o una pagina web viva, Puppeteer è la scelta migliore.
Perché confrontare Studio con Puppeteer?
Perché molti team usano HTML anche perché designer e sviluppatori possono vedere il risultato. gPdf Studio dà ai modelli PDF strutturati una superficie di modifica visiva senza trasformare l’ambiente di esecuzione in un browser.
Vedi anche
- Riferimento API gPdf completo — forma della richiesta, errori e superfici API.
- Perché la generazione PDF sull’edge conta oltre 10.000 fatture/giorno — calcolo dettagliato della latenza.
- PDF/A e Factur-X spiegati agli ingegneri — rilevante se i mandati UE sulla fattura elettronica si applicano al vostro carico.