iText é excelente quando o produto precisa de um SDK PDF
iText é um SDK PDF maduro. Isso importa. Se o produto manipula PDFs existentes, assina documentos, preenche formulários, une arquivos, implementa fluxos PDF de nicho ou precisa de controle Java/.NET profundo sobre objetos PDF de baixo nível, iText costuma ser o nível correto de propriedade.
A pergunta para equipes de logística é diferente: você precisa de um SDK PDF ou precisa que etiquetas, faturas, recibos e documentos operacionais sejam gerados com confiabilidade todos os dias? Para geração estruturada de documentos, comprar ou adotar uma biblioteca é só o primeiro item. Você ainda constrói o serviço ao redor dela.
Mesma família de documentos, fronteira de produto diferente
Com iText, a aplicação possui a integração com o SDK. Isso geralmente significa serviços Java ou .NET, configuração de fontes, configuração de códigos de barras, parâmetros PDF/A, implantação, monitoramento, planejamento de capacidade e plantão para falhas de geração.
Com gPdf, a aplicação envia JSON ou template_id + data por HTTPS. O gerador, a implantação edge, as fontes integradas, as primitivas de códigos de barras, a saída protegida por senha, os controles de metadados, os perfis PDF/A, o empacotamento Factur-X/ZUGFeRD e o fluxo visual de concepção fazem parte da fronteira do serviço.
Encaixe de produto: controle PDF baixo nível vs documentos de negócio gerados
Escolha iText quando a camada PDF é parte central do produto: arquivos de tecnologia jurídica, plataformas de assinatura eletrônica, sistemas de gestão documental, ferramentas de reparo/manipulação de PDF ou sistemas Java/.NET embarcados que não podem chamar uma API externa.
Escolha gPdf quando o produto não é um editor PDF. Logística, e-commerce, ERP, fintech, bilheteria e back-office normalmente precisam de PDF previsíveis a partir de dados estruturados. Nesses casos, o melhor produto muitas vezes não é o SDK mais programável, mas o caminho confiável mais curto entre dados e documento final.
Tempo de desenvolvimento: implementação SDK vs modelo por API
Uma medição típica de “zero até uma etiqueta térmica que realmente escaneia em uma Zebra ZT411”:
Caminho iText — Java; simplificado, pois o código real ainda adiciona build, registro de fontes, testes de leitura e pipeline de 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();
Tempo típico até o primeiro sucesso, de mvn init até uma etiqueta que escaneia corretamente: 2 a 5 dias de engenharia.
Caminho gPdf — qualquer linguagem; o exemplo abaixo usa 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
Tempo típico até o primeiro sucesso: cerca de 5 minutos, incluindo ler o exemplo JSON e imprimir o PDF na mesma Zebra ZT411.
A diferença não é talento de engenharia. É onde fica a fronteira do produto. Com iText, sua equipe constrói o serviço de etiquetas. Com gPdf, o serviço de etiquetas é o produto que você chama.
Studio e mudanças de modelo
Logística é um dos raros domínios em que a especificação do documento muda por decisão externa à sua equipe. A UPS revisa uma regra de codificação SSCC. A SF Express adiciona um dígito verificador. A FedEx publica uma nova diagramação de bloco HAZMAT. A pilha escolhida precisa absorver a mudança.
Com iText: um desenvolvedor lê o boletim da transportadora, altera código Java/.NET, roda testes unitários e de integração, gera o serviço, implanta em staging, implanta em produção e avança por regiões. Durante a janela de implantação gradual, armazéns ainda podem imprimir o formato antigo.
Com gPdf: edite o JSON do modelo no código ou use gPdf Studio para ajustar visualmente a diagramação, adicionando e arrastando elementos. O gerador em si não se move; apenas o modelo muda. Se a mudança da transportadora estiver em um formato de código de barras já suportado pelo gPdf, a integração de produção pode continuar template_id + data.
Modelo de preço: licença vs preço por página de infraestrutura
A decisão de preço do iText não é apenas “custo da biblioteca”. O iText publica um caminho AGPL e caminhos de licenciamento comercial. O caminho AGPL pode não ter custo para uso open source compatível, mas traz obrigações de divulgação de código. O licenciamento comercial libera equipes dessas restrições AGPL, e o iText descreve opções de assinatura e OEM como baseadas em cotação ou volume.
gPdf precifica diretamente o serviço de geração. O preço público começa em 5 USD/mês para 100.000 páginas no Basic, com a mesma matemática publicada por página usada na página de preços e nos pontos de consulta legíveis por máquina.
Para os volumes que equipes de logística normalmente perguntam:
| Volume mensal | Preço de lista gPdf | Efetivo por 1.000 etiquetas |
|---|---|---|
| 100.000 etiquetas | 5 USD | 0,050 USD |
| 1 milhão de etiquetas | 50 USD pela matemática pública por página | 0,050 USD |
| 10 milhões de etiquetas | 500 USD pela matemática pública por página | 0,050 USD |
| 100 milhões+ de etiquetas | Consulte para preço enterprise | — |
A coluna de preço de lista é a parte fácil. A parte mais difícil está no restante da conta: caminho de licença/conformidade, ambiente de execução do serviço, alta disponibilidade, horas de engenharia, implantação regional, manutenção de especificações de transportadoras e suporte.
Esse detalhamento completo de TCO, incluindo estimativas de meses de engenharia por faixa de volume, intervalos de custo de infraestrutura e a curva de como um serviço baseado em SDK absorve custo operacional conforme o volume cresce, está na análise longa:
→ TCO de etiquetas de envio: iText vs gPdf de 100.000 a 100 milhões de páginas/mês
Geração no edge e custo operacional
iText pode ser extremamente rápido dentro do processo. O custo operacional é onde o gerador vive. Se um armazém na Europa chama um serviço de etiquetas em uma região dos EUA, a geração dentro da JVM pode ser rápida e ainda assim parecer lenta para o usuário. Implantação multi-região resolve isso, mas a equipe passa a possuir implantação, monitoramento, capacidade e avanço por região.
gPdf move o serviço de geração para o edge da Cloudflare. Em cargas de etiquetas e faturas, o valor do produto não é apenas p50 de geração; é evitar rodar um serviço PDF ao lado de cada armazém, integração de transportadora ou servidor regional.
Custo de conformidade e qualidade documental
iText tem capacidades PDF profundas, incluindo fluxos que gPdf não tenta substituir. É exatamente por isso que iText é forte para equipes que precisam de controle de baixo nível.
Para geração de documentos de negócio, gPdf transforma em capacidades de produto os requisitos comuns de saída: fontes CJK, códigos de barras vetoriais, perfis PDF/A, empacotamento Factur-X/ZUGFeRD, metadados, saída protegida por senha e geração por modelo. A comparação de custo deve incluir quanto disso sua equipe quer montar e testar dentro do próprio serviço.
Quando iText ainda é a resposta certa
Uma comparação que finge que o concorrente nunca ganha é panfleto de marketing. iText continua sendo a melhor escolha quando:
- Você manipula PDF, não apenas gera. Assinatura, preenchimento de formulários, divisão e edições por página: gPdf gera novos PDF a partir de JSON e fica fora desses fluxos.
- Sua pilha é orientada a Java/.NET. Se o restante dos serviços roda na JVM e adicionar uma dependência HTTP de saída parece regressão, iText mantém tudo dentro do processo.
- Você roda isolado ou estritamente offline. HTTPS de saída é o formato errado para alguns ambientes de armazém ou governo. iText roda em qualquer lugar onde uma JVM rode.
- Ferramentas PDF são o produto. Se você é fornecedor de PDF, plataforma de assinatura eletrônica ou arquivo jurídico, possuir o SDK é o nível certo de controle. gPdf é feito para equipes cujo produto é logística, faturamento ou comércio — não PDF em si.
- Você precisa de cobertura PDF de nicho (formulários XFA, manipuladores avançados de assinatura digital, perfis de atestação) que gPdf não entrega.
Para “preciso de uma etiqueta escaneável em uma encomenda e tenho um milhão de encomendas por mês”, gPdf é o caminho com menos atrito. Para “preciso manipular um PDF jurídico existente dentro do meu servidor Java”, iText é a resposta.
Cenários relacionados de geração de PDF
Equipes que comparam iText e gPdf normalmente decidem se devem continuar operando um SDK PDF Java/.NET ou tratar a geração de etiquetas como infraestrutura de API. Para etiquetas operacionais, comece pela API de etiquetas de envio e pela API de códigos de barras GS1. Para documentos estruturados, as comparações úteis são API de PDF de fatura, API Factur-X, API ZUGFeRD, API PDF/A e API de JSON para PDF.
FAQ
iText é gratuito?
iText tem um caminho AGPL para uso open source compatível e licenciamento comercial para equipes que não podem ou não querem cumprir as obrigações da AGPL.
gPdf substitui iText?
Não. gPdf é um serviço de geração PDF para novos documentos estruturados. iText continua mais forte em manipulação profunda de PDF, assinatura, preenchimento de formulários, divisão e controle SDK de baixo nível.
Por que comparar preço se o preço do iText é sob cotação?
Porque compradores ainda precisam de um modelo de TCO. A comparação deve incluir caminho de licença/conformidade, infraestrutura, tempo de engenharia, suporte e operação regional, não apenas a linha do SDK.
Formato da migração
Para equipes que movem geração de etiquetas do iText para gPdf, o diff fica aproximadamente assim:
- // 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());
Depois da migração, o serviço Java de etiquetas vira uma única chamada fetch a partir da linguagem que já coordena os pedidos. A JVM sai do caminho das etiquetas; mudanças de transportadoras deixam de ser evento de implantação; o plantão para de ser acionado por falta de memória no gerador de etiquetas.
Veja também
- TCO de etiquetas de envio: iText vs gPdf de 100.000 a 100 milhões de páginas/mês — cálculo de custo, meses de engenharia e faixas de infraestrutura.
- API de etiquetas de envio — dados de requisição, números p99 e cálculo de Black Friday.
- Referência da JSON Render API — endpoints, formato da requisição e modelo de segurança.
- Códigos de barras GS1-128 a 0,1 mm de precisão em JSON — detalhe de geometria dos códigos de barras.