# API de Geração de PDF & Documentos — Descrição da Zylalabs
**Cole e cole o texto abaixo no campo "Descrição Longa" da Zylalabs:**
---
## Visão Geral
A API de Geração de PDF & Documentos é uma API REST de nível de produção que converte HTML, URLs e dados estruturados em documentos PDF perfeitos em pixels. Construída para desenvolvedores que precisam automatizar fluxos de trabalho de documentos — faturas, recibos, relatórios, contratos, painéis — sem gerenciar mecanismos de navegador, servidores Chromium ou infraestrutura de renderização
Impulsionada pela ProdaDoc, esta API gerencia todo o pipeline de PDF: geração, mesclagem e extração de metadados, tudo por meio de simples endpoints de entrada em JSON e saída em PDF
## Principais Recursos
**Conversão de HTML para PDF**
Envie qualquer string HTML — com suporte total a CSS, incluindo Flexbox, Grid, fontes personalizadas e consultas de mídia de impressão — e receba um PDF de qualidade de produção em milissegundos. Perfeito para converter modelos de e-mail, painéis e documentos personalizados em PDFs para download
**Conversão de URL para PDF**
Converta qualquer página da web publicamente acessível em um documento PDF. A API renderiza a página completa, incluindo conteúdo gerado por JavaScript, tornando-a ideal para arquivar páginas da web, gerar instantâneas de conformidade ou criar cópias offline de conteúdo da web
**Geração de PDF Baseada em Modelo**
Gere documentos profissionais a partir de modelos pré-construídos enviando dados estruturados em JSON. Os modelos disponíveis incluem:
- **Modelo de Fatura** — Itens, cálculo de impostos, marca da empresa, termos de pagamento e detalhes do cliente
- **Modelo de Recibo** — Registros de transação com método de pagamento, ID da transação e compras detalhadas
- **Modelo de Relatório** — Relatórios de negócios com múltiplas seções, incluindo resumo executivo, seções de dados, conclusões e marcações confidenciais
**Mesclagem de PDF**
Combine de 2 a 20 documentos PDF separados em um único arquivo mesclado com uma chamada de API. Essencial para montar pacotes de contratos, combinar relatórios de várias páginas ou agrupar documentos relacionados para entrega
**Extração de Metadados de PDF**
Extraia informações detalhadas de qualquer arquivo PDF, incluindo contagem de páginas, dimensões individuais de página (largura e altura) e propriedades do documento. Útil para validação, catalogação e pré-processamento de arquivos PDF em fluxos de trabalho automatizados
## Endpoints da API
| Método | Endpoint | Descrição |
|--------|----------|-------------|
| GET | /health | Verificação de saúde e status da API (sem autenticação necessária) |
| POST | /api/v1/pdf/from-html | Gere um PDF a partir de uma string HTML |
| POST | /api/v1/pdf/from-url | Gere um PDF a partir de uma URL de página da web |
| POST | /api/v1/pdf/from-template | Gere um PDF a partir de um modelo pré-construído com dados dinâmicos |
| POST | /api/v1/pdf/merge | Mescle vários arquivos PDF em um documento |
| POST | /api/v1/pdf/metadata | Extraia contagem de páginas e dimensões de um PDF |
## Opções de Personalização
Todo endpoint de geração de PDF suporta ampla personalização:
- **Formato da Página:** A3, A4, A5, Carta, Legal
- **Orientação:** Retrato ou Paisagem
- **Margens:** Margens personalizadas superior, direita, inferior e esquerda em milímetros
- **Escala:** Ajuste a escala do conteúdo de 10% a 200%
- **Impressão de Fundo:** Incluir ou excluir cores e imagens de fundo CSS
- **Cabeçalhos e Rodapés:** Modelos de cabeçalho e rodapé HTML personalizados com números de página
## Casos de Uso Comuns
**Plataformas SaaS** — Gere automaticamente faturas mensais, relatórios de uso e exporte dados de usuários como arquivos PDF para download diretamente do back-end do seu aplicativo
**E-commerce e Varejo** — Imprima recibos de compras detalhados com detalhes do método de pagamento (cartão de crédito, PayPal, M-Pesa, transferência bancária) e identificadores de transação para registros de clientes
**Serviços Jurídicos e Financeiros** — Mescle várias páginas de contrato, NDAs, termos de serviço e documentos de emenda em um único PDF agrupado para assinaturas de clientes
**Freelancers e Agências** — Crie faturas com a marca da empresa, logotipo, termos de pagamento e cobrança de itens em segundos, sem qualquer software de design
**Saúde e Médico** — Gere relatórios de pacientes, resumos de alta e confirmações de consultas como documentos PDF seguros
**Educação** — Produza certificados, históricos e relatórios de avaliação a partir de registros de dados de alunos
**Imobiliária** — Gere folhas de listagem de propriedades, contratos de aluguel e relatórios de inspeção a partir de dados estruturados
## Segurança
Esta API passou por uma auditoria de segurança abrangente de 28 pontos cobrindo:
- Validação de entrada em todos os endpoints usando validação de esquema rigorosa
- Proteção contra SSRF (Server-Side Request Forgery) bloqueando acesso a localhost, IPs privados e endpoints de metadados em nuvem
- Prevenção contra XSS com escape de entidade HTML em todos os modelos
- Autenticação de chave de API à prova de temporização para evitar ataques de temporização
- Limitação de taxa por chave de API para prevenir abusos
- Cabeçalhos de segurança incluindo HSTS, Política de Segurança de Conteúdo e X-Frame-Options
- Não há armazenamento de PDFs gerados — os documentos são retornados imediatamente e nunca persistidos
## Exemplo de Integração
Gere um PDF de fatura com uma única solicitação HTTP:
```
POST /api/v1/pdf/from-template
Content-Type: application/json
x-api-key: SUA_CHAVE_API
{
"template": "invoice",
"data": {
"companyName": "Sua Empresa",
"clientName": "Nome do Cliente",
"invoiceNumber": "INV-001",
"items": [
{
"description": "Serviços de Consulta",
"quantity": 10,
"unitPrice": 150,
"amount": 1500
}
],
"total": 1500,
"currency": "USD"
}
}
```
Resposta: Arquivo PDF binário bruto (tipo de conteúdo application/pdf)
## Desempenho
- Tempo médio de resposta: Menos de 400 milissegundos para HTML para PDF
- Manipulação de solicitações simultâneas com uma pool de navegadores gerenciada
- Padrão de disjuntor para recuperação automática de falhas
- Rastreamento de ID de solicitação em cada chamada de API para observabilidade de ponta a ponta
## Tratamento de Erros
Todos os erros retornam respostas JSON estruturadas com:
- Um código de erro legível por máquina (VALIDATION_ERROR, UNAUTHORIZED, RATE_LIMITED, etc.)
- Uma mensagem de erro legível por humanos explicando o que deu errado
- Uma bandeira de repetição indicando se a solicitação pode ser repetida
Nenhum rastreamento de pilha ou detalhes internos do servidor são expostos aos consumidores da API
Verifique o status da API e o tempo de atividade Adicione ?deep=true para testar o mecanismo de renderização de PDF e obter estatísticas de uso de memória Não é necessária autenticação
Check-up de Saúde - Recursos do endpoint
| Objeto | Descrição |
|---|
{"status":"healthy","timestamp":"2026-03-13T14:10:46.756Z","uptime":154731,"version":"1.0.0"}
curl --location --request GET 'https://zylalabs.com/api/12011/html+to+pdf+generation+api/22873/health+check' --header 'Authorization: Bearer YOUR_API_KEY'
Analisa um documento PDF e extrai metadados detalhados incluindo título, autor, assunto, criador, produtor, data de criação, data de modificação, número total de páginas e dimensões individuais das páginas (largura e altura em pontos). Envie o PDF como uma string codificada em base64. Tamanho máximo: 50MB. A resposta é JSON
Extrair metadados de PDF - Recursos do endpoint
| Objeto | Descrição |
|---|---|
Corpo da requisição |
[Obrigatório] Json |
{"metadata":{"title":null,"author":null,"subject":null,"creator":"pdf-lib (https://github.com/Hopding/pdf-lib)","producer":"pdf-lib (https://github.com/Hopding/pdf-lib)","creationDate":"2026-03-13T14:13:21.000Z","modificationDate":"2026-03-13T14:13:21.000Z","pageCount":1,"pages":[{"index":0,"width":72,"height":72}]},"requestId":"ded7bd08-06c3-451d-8767-87516d81b086"}
curl --location --request POST 'https://zylalabs.com/api/12011/html+to+pdf+generation+api/22878/extract+pdf+metadata' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{
"pdf": "JVBERi0xLjcKCjEgMCBvYmogICUKPDwvVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCgoyIDAgb2JqCjw8L1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPj4KZW5kb2JqCgozIDAgb2JqCjw8L1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA3MiA3Ml0KPj4KZW5kb2JqCgp4cmVmCjAgNAowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMTAgMDAwMDAgbiAKMDAwMDAwMDA2MCAwMDAwMCBuIAowMDAwMDAwMTE2IDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6ZSA0Ci9Sb290IDEgMCBSCj4+CnN0YXJ0eHJlZgoxNzMKJSVFT0YK"
}'
| Cabeçalho | Descrição |
|---|---|
Authorization
|
[Obrigatório] Deve ser Bearer access_key. Veja "Sua chave de acesso à API" acima quando você estiver inscrito. |
Sem compromisso de longo prazo. Faça upgrade, downgrade ou cancele a qualquer momento. O teste gratuito inclui até 50 requisições.
Cada ponto de extremidade retorna tipos de dados específicos: os pontos de extremidade de HTML para PDF, URL para PDF e geração de PDF a partir de modelo retornam arquivos PDF binários. O ponto de extremidade de mesclagem de PDF também retorna um arquivo PDF binário. O ponto de extremidade de extração de metadados retorna um objeto JSON contendo metadados detalhados sobre o PDF, incluindo título, autor e número de páginas
Os campos chave na resposta de extração de metadados incluem "título", "autor", "assunto", "criador", "produtor", "dataDeCriação", "dataDeModificação" e "contagemDePáginas". As dimensões de cada página também estão incluídas no array "páginas"
O endpoint HTML para PDF aceita parâmetros como "html" (o conteúdo HTML), "filename" (o nome do arquivo PDF desejado) e "options" para personalização, incluindo "format" (A3, A4, etc.), "landscape" (verdadeiro/falso), "printBackground" (verdadeiro/falso) e configurações de "margin"
Os dados de resposta para o endpoint de mesclagem de PDF estão organizados como um arquivo PDF binário O documento mesclado contém todas as páginas dos PDFs de entrada na ordem em que foram fornecidos garantindo uma combinação contínua de documentos
O endpoint de extração de metadados de PDF fornece informações como o título do documento, autor, assunto, criador, produtor, datas de criação e modificação, contagem total de páginas e dimensões individuais das páginas, permitindo uma análise abrangente do documento
Os usuários podem personalizar suas solicitações enviando dados JSON estruturados que incluem campos específicos relevantes para o modelo escolhido (fatura, recibo ou relatório) Cada modelo permite a entrada de dados dinâmicos, como itens de linha para faturas ou detalhes da transação para recibos
Casos de uso típicos incluem gerar faturas para download a partir de modelos HTML arquivar páginas da web como PDFs para conformidade e criar relatórios ou painéis que precisam ser compartilhados em um formato portátil
Os usuários podem salvar a resposta binária em PDF diretamente em um arquivo com a extensão .pdf Isso permite um fácil compartilhamento impressão ou arquivamento de documentos gerados através da API garantindo que eles mantenham a formatação e qualidade pretendidas
O endpoint de conversão de HTML para PDF aceita um tamanho máximo de HTML de 5MB Para a mesclagem de PDFs cada arquivo PDF deve ter um tamanho máximo de 50MB O endpoint de extração de metadados também aceita PDFs de até 50MB
Os usuários podem personalizar a aparência dos PDFs ajustando parâmetros como "formato" (A3, A4, etc.), "orientação" (retrato ou paisagem), "margens" (superior, inferior, etc.) e "impressão de fundo" (incluir ou excluir cores e imagens de fundo)
Se a solicitação falhar a API retornará uma resposta JSON estruturada com um código de erro uma mensagem explicativa e uma bandeira de repetição que indica se a solicitação pode ser repetida
Para garantir a renderização correta os usuários devem enviar HTML válido e bem estruturado incluindo CSS compatível A API suporta Flexbox Grid e fontes personalizadas permitindo uma formatação precisa
Os modelos disponíveis incluem fatura com itens de linha e detalhes de pagamento recibo com registros de transação e relatório com seções múltiplas e resumo executivo permitindo a criação de documentos profissionais
Os usuários podem mesclar de 2 a 20 PDFs enviando cada arquivo como uma string codificada em base64 A API retornará um único PDF que contém todas as páginas dos documentos de entrada na ordem fornecida
Para processar uma URL a página deve ser publicamente acessível A API renderiza completamente a página incluindo conteúdo gerado por JavaScript mas bloqueia URLs que acessam localhost ou IPs privados por motivos de segurança
O Zyla API Hub é como uma grande loja de APIs, onde você pode encontrar milhares delas em um só lugar. Também oferecemos suporte dedicado e monitoramento em tempo real de todas as APIs. Após se cadastrar, você pode escolher quais APIs deseja usar. Lembre-se apenas de que cada API precisa de sua própria assinatura. Mas se você se inscrever em várias, usará a mesma chave para todas elas, facilitando as coisas para você.
Os preços são listados em USD (Dólar Americano), EUR (Euro), CAD (Dólar Canadense), AUD (Dólar Australiano) e GBP (Libra Esterlina). Aceitamos todos os principais cartões de débito e crédito. Nosso sistema de pagamento usa a mais recente tecnologia de segurança e é operado pela Stripe, uma das empresas de pagamento mais confiáveis do mundo. Se tiver problemas para pagar com cartão, entre em contato conosco em [email protected]
Além disso, se você já tiver uma assinatura ativa em qualquer uma dessas moedas (USD, EUR, CAD, AUD, GBP), essa moeda será mantida para assinaturas subsequentes. Você pode alterar a moeda a qualquer momento, desde que não tenha assinaturas ativas.
A moeda local exibida na página de preços é baseada no país do seu endereço IP e é fornecida apenas como referência. Os preços reais são em USD (Dólar Americano). Ao efetuar o pagamento, a cobrança aparecerá no extrato do seu cartão em USD, mesmo que você veja o valor equivalente em sua moeda local em nosso site. Isso significa que você não pode pagar diretamente com sua moeda local.
Ocasionalmente, o banco pode recusar a cobrança devido às configurações de proteção contra fraude. Sugerimos contatar seu banco inicialmente para verificar se estão bloqueando nossas cobranças. Você também pode acessar o Portal de Cobrança e alterar o cartão associado para realizar o pagamento. Se isso não funcionar e precisar de mais ajuda, entre em contato com nossa equipe em [email protected]
Os preços são determinados por uma assinatura recorrente mensal ou anual, dependendo do plano escolhido.
As chamadas de API são descontadas do seu plano com base nas requisições bem-sucedidas. Cada plano possui um número específico de chamadas por mês. Apenas chamadas bem-sucedidas, indicadas por uma resposta com Status 200, serão contabilizadas, garantindo que falhas não afetem sua cota mensal.
O Zyla API Hub funciona com um sistema de assinatura mensal recorrente. Seu ciclo de cobrança começa no dia em que você compra um dos planos pagos e será renovado no mesmo dia do mês seguinte. Portanto, cancele sua assinatura com antecedência se quiser evitar cobranças futuras.
Para fazer upgrade do seu plano atual, acesse a página de preços da API e selecione o novo plano desejado. O upgrade é instantâneo, permitindo aproveitar imediatamente os recursos do novo plano. Observe que as chamadas restantes do plano anterior não serão transferidas; você será cobrado pelo valor integral do novo plano.
Para verificar quantas chamadas de API restam para o mês atual, consulte o campo 'X-Zyla-API-Calls-Monthly-Remaining' no cabeçalho da resposta. Por exemplo, se seu plano permite 1.000 requisições por mês e você usou 100, este campo no cabeçalho da resposta indicará 900 chamadas restantes.
Para ver o número máximo de requisições de API que seu plano permite, verifique o cabeçalho de resposta 'X-Zyla-RateLimit-Limit'. Por exemplo, se seu plano inclui 1.000 requisições por mês, este cabeçalho exibirá 1.000.
O cabeçalho 'X-Zyla-RateLimit-Reset' mostra o número de segundos até seu limite de taxa ser redefinido. Isso informa quando sua contagem de requisições começará do zero. Por exemplo, se exibir 3.600, significa que restam 3.600 segundos até o limite ser redefinido.
Sim, você pode cancelar seu plano a qualquer momento acessando sua conta e selecionando a opção de cancelamento na página de Cobrança. Observe que upgrades, downgrades e cancelamentos têm efeito imediato. Além disso, após o cancelamento, você não terá mais acesso ao serviço, mesmo que ainda tenha chamadas restantes na sua cota.
Você pode nos contatar via chat para receber assistência imediata. Estamos online de 8h às 17h (EST). Se nos contatar após esse horário, retornaremos o mais rápido possível. Além disso, você pode enviar um e-mail para [email protected]
Para oferecer a oportunidade de experimentar nossas APIs sem compromisso, oferecemos um teste gratuito de 7 dias que permite realizar até 50 chamadas de API sem custo. Esse teste pode ser usado apenas uma vez; recomendamos aplicá-lo à API que mais interessa. Embora a maioria das APIs ofereça teste gratuito, algumas podem não oferecer. O teste termina após 7 dias ou quando você atingir 50 requisições, o que ocorrer primeiro. Se atingir o limite, será necessário "Iniciar seu plano pago" para continuar. Você encontra esse botão no perfil em Assinatura -> Escolha a API -> aba Preços. Se não cancelar até o 7º dia, sua assinatura será cobrada automaticamente, liberando todas as chamadas do plano.
Após 7 dias, será cobrado o valor total do plano ao qual você estava inscrito durante o teste. Portanto, é importante cancelar antes do término do período. Solicitações de reembolso por esquecimento de cancelamento não são aceitas.
Ao assinar um teste gratuito de API, você pode fazer até 50 chamadas. Se desejar fazer chamadas adicionais além desse limite, a API solicitará que você "Inicie seu plano pago". Você encontra o botão no perfil em Assinatura -> Escolha a API -> aba Preços.
As Ordens de Pagamento são processadas entre os dias 20 e 30 de cada mês. Se você enviar sua solicitação antes do dia 20, seu pagamento será processado dentro desse período.
Nível de serviço:
89%
Tempo de resposta:
4.622ms
Nível de serviço:
100%
Tempo de resposta:
0ms
Nível de serviço:
91%
Tempo de resposta:
2.513ms
Nível de serviço:
100%
Tempo de resposta:
68ms
Nível de serviço:
100%
Tempo de resposta:
0ms
Nível de serviço:
100%
Tempo de resposta:
1.366ms
Nível de serviço:
100%
Tempo de resposta:
652ms
Nível de serviço:
100%
Tempo de resposta:
18ms
Nível de serviço:
100%
Tempo de resposta:
4.368ms
Nível de serviço:
100%
Tempo de resposta:
5.418ms
Nível de serviço:
100%
Tempo de resposta:
642ms
Nível de serviço:
100%
Tempo de resposta:
599ms
Nível de serviço:
100%
Tempo de resposta:
0ms
Nível de serviço:
100%
Tempo de resposta:
302ms
Nível de serviço:
100%
Tempo de resposta:
4.013ms
Nível de serviço:
100%
Tempo de resposta:
522ms
Nível de serviço:
100%
Tempo de resposta:
451ms
Nível de serviço:
100%
Tempo de resposta:
0ms
Nível de serviço:
100%
Tempo de resposta:
527ms
Nível de serviço:
100%
Tempo de resposta:
0ms