Verifique as fontes incorporadas em um PDF
Um PDF pode parecer correto no computador em que foi criado e mudar ao ser aberto, impresso ou processado em outro sistema quando alguma fonte não está incorporada.
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
Esta verificação recebe o inventário produzido por uma ferramenta de inspeção, incluindo o indicador de incorporação de cada item, e entrega um resumo claro. Ela também lista todas as fontes que exigem atenção, facilitando a automação da análise de pré-impressão.
Por que incorporar fontes torna o PDF portátil
Um PDF descreve o layout da página e as fontes usadas para desenhar o texto. Quando o programa da fonte ou um subconjunto permitido está incorporado, o visualizador ou a impressora consegue reproduzir os caracteres de modo consistente. Se ele estiver ausente, o sistema receptor pode procurar uma fonte local substituta, com formas, larguras ou cobertura linguística diferentes. Isso pode alterar quebras de linha, símbolos e paginação. Por essa razão, gráficas e equipes de arquivo verificam a incorporação. Esta capacidade avalia nomes e indicadores já extraídos e aplica uma regra uniforme, sem examinar diretamente os bytes do PDF.
Como enviar a lista e interpretar o resultado
Forneça pelo menos um registro com nome preenchido e valor booleano embedded. Use true somente quando a ferramenta de origem confirmar a incorporação e false quando indicar ausência. A verificação mantém a ordem, conta todos os registros e devolve separadamente os nomes não incorporados. all_embedded só será true se todos os indicadores forem true. Prefixos de subconjunto e duplicatas são preservados, pois podem representar recursos distintos. Uma lista vazia, um nome inválido ou um indicador que não seja booleano é rejeitado, evitando que uma extração incompleta produza uma conclusão enganosa.
Inclua a verificação em uma análise completa
Execute a verificação logo após extrair o inventário e antes de aprovar o PDF para impressão, distribuição ou arquivo. Se all_embedded for false, use not_embedded_fonts para montar um relatório de correção. O autor pode exportar novamente com as fontes originais, escolher fontes cuja licença permita incorporação ou converter texto artístico em contornos quando adequado. Depois, extraia um inventário novo. A incorporação é apenas uma parte da pré-impressão: talvez você também precise avaliar cores, resolução, sangria, caixas de página, transparência, criptografia e padrão PDF. Esta capacidade não determina licenças, presença de glifos nem pesquisa em texto contornado.
Casos de uso
Analise um arquivo para impressão
Rejeite um documento quando o inventário extraído contiver qualquer recurso de fonte não incorporado.
Proteja a portabilidade do documento
Verifique relatórios, manuais e formulários antes da distribuição para reduzir substituições tipográficas.
Adicione uma barreira de qualidade
Transforme metadados de fontes de uma inspeção existente em um resultado determinista para automação.
Perguntas frequentes
Esta capacidade abre ou analisa o arquivo PDF?
Não. Ela verifica uma lista de fontes e indicadores fornecidos por uma ferramenta de inspeção ou pré-impressão.
O que acontece quando a lista de fontes está vazia?
A solicitação falha por entrada inválida, pois uma extração vazia não sustenta uma conclusão confiável.
Nomes de subconjuntos são considerados incorporados automaticamente?
Não. Os nomes são apenas rótulos; o resultado segue o indicador booleano explícito de cada registro.
Os nomes de fontes duplicados são removidos?
Não. Cada registro é contado e cada ocorrência não incorporada permanece na ordem de entrada.
Todas as fontes incorporadas garantem que o PDF está pronto para impressão?
Não. Isso confirma apenas os indicadores fornecidos; outras verificações de impressão ainda podem ser necessárias.
Quanto custa a solicitação API?
Cada solicitação custa US$ 0,002. A versão no navegador usa a mesma lógica determinista.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/pdf/font-embedding-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"fonts":[{"name":"Helvetica","embedded":false},{"name":"ABCDEE+SourceSansPro-Regular","embedded":true},{"name":"TimesNewRomanPSMT","embedded":false}]}'const res = await fetch("https://api.kit.forhosting.com/pdf/font-embedding-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"fonts": [
{
"name": "Helvetica",
"embedded": false
},
{
"name": "ABCDEE+SourceSansPro-Regular",
"embedded": true
},
{
"name": "TimesNewRomanPSMT",
"embedded": false
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/font-embedding-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"fonts": [
{
"name": "Helvetica",
"embedded": false
},
{
"name": "ABCDEE+SourceSansPro-Regular",
"embedded": true
},
{
"name": "TimesNewRomanPSMT",
"embedded": false
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/font-embedding-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"fonts":[{"name":"Helvetica","embedded":false},{"name":"ABCDEE+SourceSansPro-Regular","embedded":true},{"name":"TimesNewRomanPSMT","embedded":false}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"fonts":[{"name":"Helvetica","embedded":false},{"name":"ABCDEE+SourceSansPro-Regular","embedded":true},{"name":"TimesNewRomanPSMT","embedded":false}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/font-embedding-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"fonts": [
{
"name": "Helvetica",
"embedded": false
},
{
"name": "ABCDEE+SourceSansPro-Regular",
"embedded": true
},
{
"name": "TimesNewRomanPSMT",
"embedded": false
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.font_embedding_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_items | 10000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |