iText est excellent quand le produit a besoin d’un SDK PDF
iText est un SDK PDF mature. Cela compte. Si votre produit manipule des PDF existants, signe des documents, remplit des formulaires, fusionne des fichiers, implémente des traitements PDF de niche ou exige un contrôle Java/.NET profond sur des objets PDF bas niveau, iText est souvent le bon niveau de propriété.
La question produit pour les équipes logistiques est différente : avez-vous besoin d’un SDK PDF, ou avez-vous besoin que des étiquettes, factures, reçus et documents opérationnels soient générés de façon fiable chaque jour ? Pour la génération de documents structurés, acheter ou adopter une bibliothèque n’est que la première ligne. Vous devez encore construire le service autour.
Même famille documentaire, périmètre produit différent
Avec iText, l’application possède l’intégration du SDK. Cela signifie généralement services Java ou .NET, configuration de polices, configuration de codes-barres, paramètres PDF/A, déploiement, supervision, planification de capacité et chemin d’astreinte pour les échecs de génération.
Avec gPdf, l’application envoie du JSON ou template_id + data en HTTPS. Le générateur, le déploiement à l’edge, les polices intégrées, les primitives de codes-barres, la sortie protégée par mot de passe, les contrôles de métadonnées, les profils PDF/A, l’empaquetage Factur-X/ZUGFeRD et le parcours visuel de conception font partie du périmètre du service.
Cas d’usage produit : contrôle PDF bas niveau vs documents métier générés
Choisissez iText quand la couche PDF fait partie du cœur du produit : solutions d’archivage legaltech, plateformes de signature électronique, systèmes de gestion documentaire, outils de réparation ou manipulation PDF, ou systèmes Java/.NET embarqués qui ne peuvent pas appeler une API externe.
Choisissez gPdf quand le produit n’est pas un éditeur PDF. Logistique, e-commerce, ERP, fintech, billetterie et back-office ont souvent besoin de PDF prévisibles à partir de données structurées. Dans ces cas, le meilleur produit n’est pas toujours le SDK le plus programmable ; c’est le chemin fiable le plus court entre données et document fini.
Temps de développement : implémentation SDK vs modèle API
Mesure typique de “zéro à une étiquette thermique qui scanne réellement sur Zebra ZT411” :
Chemin iText : Java ; simplifié, car le vrai code ajoute configuration de build, enregistrement de polices, harnais de test de scan et pipeline CI :
PdfWriter writer = new PdfWriter("label.pdf");
PdfDocument pdf = new PdfDocument(writer);
PageSize labelSize = new PageSize(288, 432); // 4×6 in @ 72 dpi
Document doc = new Document(pdf, labelSize);
// Address block, sender block, carton ID, service code…
// (15–25 more lines positioning text and configuring Barcode128 with
// GS1 Application Identifiers, fonts, FNC1 framing, then a JUnit test
// that loads the PDF and validates the barcode renders at 203 dpi)
Barcode128 code = new Barcode128(pdf);
code.setCode("(01)00012345678905(21)SN12345");
code.setCodeType(Barcode128.CODE128);
// … position, sizing, human-readable interpretation line …
doc.close();
Temps typique jusqu’au premier succès, de mvn init à une étiquette qui se scanne proprement : 2 à 5 jours d’ingénierie.
Chemin gPdf : n’importe quel langage ; l’exemple ci-dessous utilise curl :
curl -X POST https://api.gpdf.com/api/v1/pdf/render \
-H "Authorization: Bearer $GPDF_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"pages": [{
"size": "label_4_6_in",
"elements": [
{ "type": "text", "x": 4, "y": 12,
"content": "Acme Distribution Centre\n1200 Logistics Pkwy\nMemphis TN 38116" },
{ "type": "barcode", "format": "gs1_128",
"content": "(01)00012345678905(21)SN12345",
"x": 4, "y": 60, "width": 92, "height": 22,
"barcode_text": { "enabled": true, "position": "bottom" }
}
]
}]
}' -o label.pdf
Temps typique jusqu’au premier succès : environ 5 minutes, y compris la lecture de l’exemple JSON et l’impression du PDF sur la même Zebra ZT411.
L’écart ne vient pas du talent d’ingénierie. Il vient de l’endroit où se situe la frontière produit. Avec iText, votre équipe construit le service d’étiquettes. Avec gPdf, le service d’étiquettes est le produit que vous appelez.
Studio et changements de modèles
La logistique est l’un de ces rares domaines où la spécification du document change depuis l’extérieur de votre équipe. UPS révise une règle d’encodage SSCC. SF Express ajoute un chiffre de contrôle. FedEx publie un nouveau bloc HAZMAT. Quelle que soit la pile de génération choisie, elle doit absorber le changement.
Avec iText, un développeur lit le bulletin transporteur, modifie du code Java/.NET, exécute les tests unitaires et d’intégration, construit le service, déploie en staging, déploie en production et déroule le changement par région. Pendant la fenêtre de déploiement, certains entrepôts peuvent encore imprimer l’ancien format.
Avec gPdf, vous modifiez le JSON du modèle dans le code ou utilisez gPdf Studio pour ajuster visuellement la mise en page en ajoutant et déplaçant des éléments. Le générateur ne bouge pas ; seul le modèle change. Si le changement transporteur touche un format de code-barres déjà pris en charge par gPdf, l’intégration de production peut rester template_id + data.
Modèle tarifaire : chemin de licence vs prix par page d’infrastructure
La décision tarifaire iText n’est pas seulement “coût de bibliothèque”. iText publie une voie AGPL et des voies de licence commerciale. La voie AGPL peut être gratuite pour un usage open source compatible, mais elle comporte des obligations de divulgation du code source. La licence commerciale libère les équipes de ces contraintes AGPL, et iText décrit des options d’abonnement et OEM sur devis ou au volume.
gPdf facture directement le service de génération. Le prix public démarre à 5 USD/mois pour 100 000 pages sur Basic, avec la même formule publique par page que celle utilisée sur la page de tarifs et dans les surfaces tarifaires lisibles par machine.
Pour les volumes que les équipes logistiques demandent le plus souvent :
| Volume mensuel | Prix catalogue gPdf | Coût effectif par 1 000 étiquettes |
|---|---|---|
| 100 000 étiquettes | 5 USD | 0,050 USD |
| 1 million d’étiquettes | 50 USD selon la formule publique par page | 0,050 USD |
| 10 millions d’étiquettes | 500 USD selon la formule publique par page | 0,050 USD |
| 100 millions+ d’étiquettes | Prix Enterprise sur demande | - |
La colonne prix catalogue est la partie simple. Le reste de la facture est plus difficile : chemin de licence et conformité, environnement d’exécution du service, empreinte HA, heures d’ingénierie, déploiements régionaux, maintenance des spécifications transporteur et support.
Le détail TCO complet, avec estimations de mois-ingénieur par niveau de volume, fourchettes de coûts d’infrastructure et courbe montrant comment un service basé sur SDK absorbe le coût opérationnel à mesure que le volume augmente, se trouve dans l’analyse longue :
→ TCO des étiquettes d’expédition 2026 : iText vs Puppeteer vs gPdf Edge API
Génération à l’edge et coût d’exploitation
iText peut être extrêmement rapide dans le processus. Le coût opérationnel apparaît là où vit le générateur. Si un entrepôt en Europe appelle un service d’étiquettes dans une région des États-Unis, la génération dans la JVM peut être rapide et pourtant sembler lente du point de vue utilisateur. Le déploiement multi-région corrige cela, mais l’équipe possède alors le déploiement, la supervision, la capacité et le déploiement progressif dans chaque région.
gPdf déplace le service de génération vers l’edge Cloudflare. Pour les étiquettes et factures, la valeur produit n’est pas seulement le p50 de génération ; c’est de ne pas devoir exploiter un service PDF à côté de chaque entrepôt, intégration transporteur ou serveur régional.
Coût de conformité et qualité documentaire
iText possède des capacités PDF profondes, y compris des traitements que gPdf ne cherche pas à remplacer. C’est précisément pourquoi iText est fort pour les équipes qui ont besoin de contrôle bas niveau.
Pour la génération de documents métier, gPdf productise les exigences de sortie courantes : polices CJK, codes-barres vectoriels, profils PDF/A, paquets Factur-X/ZUGFeRD, métadonnées, sortie protégée par mot de passe et génération pilotée par modèles. La comparaison de coûts doit inclure la part de tout cela que votre équipe veut assembler et tester dans son propre service.
Quand iText reste la bonne réponse
Une comparaison où le concurrent ne gagne jamais est du marketing creux. iText reste préférable quand :
- Vous manipulez des PDF, pas seulement vous en générez. Signature, remplissage de formulaires, division, éditions de pages : gPdf génère de nouveaux PDF depuis JSON et reste en dehors de ces usages.
- Votre pile est Java/.NET-first. Si le reste de vos services tourne déjà sur la JVM et qu’ajouter une dépendance HTTP sortante ressemble à une régression, iText garde tout dans le processus.
- Vous opérez en réseau isolé ou strictement hors ligne. HTTPS sortant est la mauvaise forme pour certains déploiements d’entrepôt ou de secteur public. iText tourne partout où une JVM tourne.
- L’outillage PDF est votre produit. Si vous êtes fournisseur PDF, plateforme de signature électronique ou solution d’archivage legaltech, posséder le SDK est le bon niveau de contrôle. gPdf est construit pour des équipes dont le produit est la logistique, la facturation ou le commerce, pas les PDF eux-mêmes.
- Vous avez besoin d’une couverture PDF de niche, comme formulaires XFA, gestionnaires avancés de signatures numériques ou profils d’attestation que gPdf ne livre pas.
Pour “j’ai besoin d’une étiquette scannable sur un colis et j’ai un million de colis par mois”, gPdf a moins de friction. Pour “je dois manipuler un PDF juridique existant dans mon serveur Java”, la réponse est iText.
Scénarios liés de génération PDF
Les équipes qui comparent iText et gPdf décident souvent si elles doivent continuer à exploiter un SDK PDF Java/.NET ou traiter la génération d’étiquettes comme une infrastructure API. Pour les étiquettes opérationnelles, commencez par l’API d’étiquettes d’expédition et l’API de codes-barres GS1. Pour les documents structurés, les comparaisons utiles sont API de PDF de facture, API Factur-X, API ZUGFeRD, API PDF/A et API JSON-to-PDF.
FAQ
iText est-il gratuit ?
iText propose un chemin AGPL pour l’open source compatible et des licences commerciales pour les équipes qui ne peuvent pas ou ne veulent pas respecter les obligations AGPL.
gPdf remplace-t-il iText ?
Non. gPdf est un service de génération PDF pour nouveaux documents structurés. iText reste plus fort pour la manipulation PDF profonde, la signature, le remplissage de formulaires, la division de fichiers et le contrôle SDK bas niveau.
Pourquoi comparer le prix si iText est sur devis ?
Parce que les acheteurs ont tout de même besoin d’un modèle TCO. La comparaison doit inclure chemin de licence/conformité, infrastructure, temps d’ingénierie, assistance et opérations régionales, pas seulement la ligne SDK.
Forme de migration
Pour les équipes qui déplacent la génération d’étiquettes depuis iText vers gPdf, le diff ressemble à ceci :
- // Before: a Java label-rendering service
- PdfWriter writer = new PdfWriter(out);
- PdfDocument pdf = new PdfDocument(writer);
- Document doc = new Document(pdf, new PageSize(288, 432));
- // 20–40 lines wiring fonts, positions, Barcode128 with GS1 AIs
- doc.close();
+ // After: HTTPS POST the structured DocumentRequest from any language
+ const res = await fetch('https://api.gpdf.com/api/v1/pdf/render', {
+ method: 'POST',
+ headers: { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' },
+ body: JSON.stringify(labelDocumentRequest),
+ });
+ const pdf = Buffer.from(await res.arrayBuffer());
Une fois la bascule faite, le service Java d’étiquettes se réduit à un appel fetch depuis le langage qui orchestre déjà les commandes. La JVM disparaît du chemin de génération d’étiquettes ; les changements de spécification transporteur cessent d’être des événements de déploiement ; l’astreinte ne reçoit plus d’alertes OOM de génération d’étiquettes.
Voir aussi
- TCO des étiquettes d’expédition 2026 : iText vs Puppeteer vs gPdf Edge API - calcul long du coût, mois-ingénieur, fourchettes infra.
- API d’étiquettes d’expédition - exemples de corps de requête, chiffres p99, calcul Black Friday.
- Référence JSON Render API - points de terminaison, forme de requête et modèle de sécurité.
- Codes-barres GS1-128 à 0,1 mm de précision en JSON - détail de géométrie des codes-barres.