Comparaisons

gPdf vs Puppeteer

Comparaison directe : l'API JSON vers PDF rendue à l'edge de gPdf face au modèle Puppeteer, qui exécute Chromium sans interface graphique côté serveur. Latence, prix, environnement d'exécution et cas d'usage où chaque approche gagne.

En bref

Puppeteer est un outil général d'automatisation de navigateur qui peut aussi produire des PDF. gPdf est un moteur de génération PDF qui tourne à l'edge en moins de 10 ms. Si votre charge est constituée de documents structurés (factures, étiquettes, relevés) à volume de production, gPdf offre une latence 50 à 100 fois plus basse et un coût 10 à 20 fois inférieur. Si vous devez convertir des pages web arbitraires déjà rendues ou produire des PDF qui doivent ressembler à une capture fidèle du HTML existant, Puppeteer reste le bon outil.

Côte à côte

Critère gPdf Puppeteer Avantage
p50 de génération (facture A4 d'une page)
Les deux mesures utilisent la même entrée sur 1 000 invocations.
3 ms 312 ms gPdf
Démarrage à froid ~12 ms (première requête vers un isolate neuf) 1,5 à 2,5 s (démarrage de Chromium) gPdf
Environnement d'exécution
Puppeteer nécessite un binaire navigateur de 200 à 800 Mo ; gPdf est livré comme module WASM d'environ 2 Mo.
Isolates V8 de Cloudflare Workers Processus Node.js persistant + conteneur Chromium gPdf
Présence à l'edge Plus de 300 PoP Cloudflare Les régions où vous déployez le conteneur, généralement 3 à 6 gPdf
Conformité PDF/A PDF/A-1b · 2b · 3b · 4 sélectionnable par requête Non pris en charge nativement ; nécessite post-traitement avec Ghostscript ou veraPDF gPdf
Facture électronique (Factur-X / ZUGFeRD) API native ; intègre le XML CII dans PDF/A-3b Non pris en charge ; exige une étape de pipeline séparée gPdf
Codes-barres vectoriels
Puppeteer peut imprimer ce que la page dessine, mais la géométrie du code, les zones silencieuses et le format pour imprimante thermique restent à la charge de l'application.
Plus de 30 symbologies intégrées (QR, GS1-128, PDF417, DataMatrix, ...) Dépend d'une bibliothèque dans la page, du choix SVG/Canvas et du dimensionnement d'impression gPdf
Polices CJK NotoSans CJK intégré ; secours automatique de glyphes Les polices installées dans le conteneur ; nécessite une configuration du système d'exploitation gPdf
Fidélité HTML/CSS Sans objet - gPdf reçoit du JSON, pas du HTML Excellent. Rend n'importe quelle page web. Puppeteer
Meilleur choix pour convertir le web en PDF façon capture Non Oui Puppeteer
Prix public pour 100 000 documents d'une page
Puppeteer est gratuit comme bibliothèque. La partie payante est le service Chromium que vous construisez autour.
5 USD/mois ; le plan Basic inclut 100 000 pages Pas de licence ; vous payez hébergement, stockage, supervision et temps de développement gPdf
Coût de propriété en production API hébergée à l'edge, parcours visuel dans gPdf Studio, modèles, polices, primitives de codes-barres, parcours PDF/A et facture électronique Conteneurs Chromium, pools préchauffés, capacité régionale, modèles HTML, polices, réessais et observabilité gPdf
Déterminisme (même entrée -> mêmes octets) Oui, sortie identique octet par octet entre isolates Non ; le hinting de polices et la rastérisation Chromium peuvent varier selon les versions gPdf

Lequel choisir

Choisir gPdf si
  • Vous générez des documents structurés (factures, étiquettes d'expédition, relevés, fiches de paie, tickets) à n'importe quel volume.
  • Vous avez besoin d'une génération en moins de 10 ms pour un parcours interactif, par exemple une prévisualisation avant envoi.
  • Vous avez besoin de PDF/A pour l'archivage ou de facture électronique dans l'UE avec Factur-X / ZUGFeRD.
  • Vous voulez cesser de gérer la pression mémoire de Chromium, les pools préchauffés ou les cascades d'expirations de délai au démarrage à froid.
  • Vous voulez des PDF déterministes, identiques octet par octet, pour tests ou audit.
  • Vous générez à l'edge et avez besoin de plus de 300 emplacements, pas seulement 3 à 6 régions.
Choisir Puppeteer si
  • Vous convertissez des pages web arbitraires et dynamiques : landing pages, articles, captures marketing.
  • La source de référence de votre document est du HTML/CSS qui se rend déjà correctement dans un navigateur, et vous ne voulez pas la réécrire en JSON.
  • Vous générez des visualisations JavaScript riches, comme graphiques ou tableaux de bord, qui nécessitent un vrai navigateur.
  • Votre volume est faible (moins de 1 000 générations/jour) et latence ou coût par document ne sont pas importants.
  • Vous avez besoin d'une correspondance pixel par pixel entre le DOM écran et le PDF pour raisons légales ou forensiques.
Fonctionnalités

gPdf est une API JSON vers PDF à l'edge, conçue pour les factures, documents, étiquettes d'expédition, codes-barres, PDF/A et factures électroniques à fort volume. Génération de PDF en quelques millisecondes sur une infrastructure edge mondiale — optimisée pour une production documentaire prévisible. Tarification au niveau infrastructure, assez basse pour remplacer la construction et l'exploitation de votre propre infrastructure PDF.

Fonctionnalités

Puppeteer excelle quand le produit est une page web

Puppeteer pilote un vrai navigateur Chromium. C’est sa force principale. Si la source de référence est une page HTML existante, un tableau de bord avec graphiques JavaScript, une capture légale d’une application web déjà rendue ou un export façon capture d’écran, Puppeteer est souvent la bonne décision produit.

La question produit est de savoir si votre PDF est réellement une page web ou un document métier structuré. Les factures, étiquettes, relevés, reçus, tickets et formulaires viennent généralement de données, pas d’un DOM vivant. Pour ces usages, exécuter un navigateur complet peut être plus d’architecture que le document n’en demande.

Même artefact, périmètre produit différent

Puppeteer transforme du HTML en PDF imprimé via Chromium. L’application garde les modèles HTML, les règles CSS d’impression, l’installation des polices, l’environnement du navigateur, la capacité d’exécution, les réessais et le déploiement régional.

gPdf transforme directement du JSON structuré en PDF. L’application envoie un DocumentRequest ou template_id + data ; le générateur à l’edge se charge de la mise en page, des polices intégrées, des primitives de codes-barres, des profils PDF/A et de l’empaquetage de facture électronique. Il n’y a ni processus navigateur, ni cascade CSS, ni conteneur Chromium à garder chaud.

Adéquation produit : capture web vs génération documentaire

Choisissez Puppeteer quand le document doit ressembler exactement à une page web existante ou quand JavaScript côté client produit l’état visuel final. Cela inclut instantanés de pages web, tableaux de bord dynamiques, rapports très dépendants du DOM et cas où réécrire la mise en page en JSON ajouterait plus de risque qu’elle n’en retirerait.

Choisissez gPdf quand le produit est la génération documentaire : étiquette, facture, ticket, relevé, certificat, reçu ou dossier de conformité qui doit être généré de la même façon à partir de données propres.

Temps de développement : déboguer l’impression HTML vs modèles pilotés par API

Puppeteer démarre vite quand le HTML existe déjà. Le temps de développement arrive ensuite : CSS d’impression, comportement des sauts de page, installation des polices dans les conteneurs, cas limites des en-têtes et pieds de page, taille des codes-barres et dérive entre versions du navigateur.

gPdf démarre depuis un modèle structuré. Les équipes peuvent écrire du JSON directement, utiliser l’IA pour rédiger des mises en page conformes au schéma, ou utiliser gPdf Studio pour ajouter et déplacer visuellement textes, tableaux, images, formes, en-têtes, pieds de page et codes-barres. Une fois le modèle enregistré, les appels de production peuvent rester en template_id + data.

Modèle tarifaire : bibliothèque gratuite vs flotte de navigateurs exploitée

Puppeteer n’a pas de licence. Cela ne rend pas gratuit un service PDF Puppeteer en production.

La surface de coût est le service autour de Chromium :

  • Environnement conteneur ou sans serveur pour le binaire du navigateur.
  • Pools préchauffés ou files d’attente pour absorber les démarrages à froid.
  • Marge mémoire pour pages, polices, images et octets PDF.
  • Déploiement régional si entrepôts ou clients sont mondiaux.
  • Supervision, réessais, mises à jour navigateur et correctifs de sécurité.

gPdf facture directement le périmètre de génération PDF. Le plan Basic démarre à 5 USD/mois pour 100 000 pages, et le calcul public par page démarre à 0,00005 USD par page. Il n’y a pas de frais par siège, pas de frais séparés test/prod et aucune flotte Chromium à exploiter.

La génération à l’edge change la forme de la latence et du coût

Avec Puppeteer, le navigateur vit généralement là où vous l’hébergez. Si l’entrepôt, le client ou le traitement serveur sont loin de cette région, le chemin de génération inclut la latence réseau plus le travail du navigateur. Ajouter des régions signifie dupliquer le service Chromium, le pipeline de déploiement, la supervision et le plan de capacité.

gPdf tourne sur les isolates V8 de Cloudflare Workers. Pour les PDF structurés, le générateur est assez petit pour s’exécuter près de l’appelant au lieu de centraliser chaque génération dans une seule région. L’effet métier n’est pas seulement un meilleur p50 ; c’est retirer une flotte régionale Chromium du produit.

Capacités produit qui décident souvent la comparaison

Pour les documents opérationnels, la liste de fonctionnalités compte autant que la vitesse brute :

  • Éléments natifs de codes-barres pour étiquettes, tickets et documents d’entrepôt.
  • Secours intégré de polices CJK et multilingues.
  • Profils PDF/A pour les besoins d’archivage.
  • Empaquetage de facture électronique Factur-X/ZUGFeRD.
  • PDF protégés par mot de passe et contrôles de métadonnées sur les plans supérieurs.
  • Itération visuelle de mise en page avec gPdf Studio.

Puppeteer peut couvrir beaucoup de ces besoins avec du code de page, de la configuration navigateur ou du post-traitement. La question est de savoir si votre équipe veut posséder cet ensemble.

Quand Puppeteer reste la bonne réponse

Il existe une catégorie où gPdf ne concurrence pas Puppeteer : la conversion arbitraire de HTML vers PDF. Si le document est déjà rendu, si la source de référence de conception est le HTML et si vous avez besoin d’un vrai navigateur pour exécuter JavaScript ou égaler le DOM, Puppeteer reste le bon outil.

Si la charge est faible et que la latence n’est pas importante, le coût opérationnel peut aussi être acceptable. Quelques exports internes par jour ne justifient pas de réécrire du HTML stable en JSON.

Forme d’une migration

Pour les équipes qui déplacent une charge de factures ou d’étiquettes de Puppeteer vers gPdf, la migration ressemble souvent à ceci :

- // 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());

Le travail n’est pas l’appel API ; c’est créer le modèle une fois. Ensuite, chaque génération est un seul POST HTTPS.

Scénarios liés de génération PDF

Si vous comparez Puppeteer et gPdf, vous voudrez probablement aussi examiner quand choisir une API JSON-to-PDF, comment fonctionnent les modèles PDF, ce qui change pour une API de PDF de facture ou une API d’étiquettes d’expédition, et quand les codes-barres GS1, PDF/A ou Factur-X doivent être des capacités natives.

FAQ

Puppeteer est-il gratuit ?

Puppeteer est gratuit comme bibliothèque. En production, le coût est le service navigateur : conteneurs, mémoire, démarrages à froid, capacité régionale, supervision, réessais et maintenance.

gPdf peut-il générer des PDF depuis des pages HTML arbitraires ?

Non. gPdf est natif JSON. Si votre source de référence est du HTML arbitraire ou une page web vivante, Puppeteer convient mieux.

Pourquoi comparer Studio à Puppeteer ?

Parce que beaucoup d’équipes utilisent HTML en partie parce que les équipes conception et développement peuvent voir le résultat. gPdf Studio donne aux modèles PDF structurés une surface d’édition visuelle sans transformer l’environnement d’exécution en navigateur.

Voir aussi