Definir metadados PDF
Um título digitado com espaços sobrando volta como Quarterly Report, e as palavras-chave Finance e finance viram uma só, com a primeira grafia. Organize as propriedades de um PDF antes que ele entre em um acervo ou sistema editorial; o arquivo não é alterado. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
Defina metadados de PDF com segurança antes que um documento entre em um arquivo, sistema editorial ou fluxo de entrega. Esta capacidade verifica se a entrada PDF usa uma representação compatível, exige um título relevante e não vazio e normaliza autor, assunto e palavras-chave em um objeto consistente. Ela remove espaços acidentais, reduz espaços repetidos, elimina palavras-chave vazias e retira duplicatas preservando a primeira grafia útil. O resultado é determinístico e pronto para um gravador de PDF posterior, sem acesso à rede nem alterações dependentes do estado de execução.
Prepare um PDF válido e um objeto de metadados
A capacidade valida a representação, mas não baixa uma URL remota nem reescreve os bytes do documento. Coloque as propriedades propostas dentro do objeto de metadados. O título é obrigatório porque um título vazio impede a identificação do arquivo em resultados de busca, acervos, abas do navegador e sistemas de gestão documental.
Autor, assunto e palavras-chave são opcionais. Cada propriedade escalar deve ser uma string; as palavras-chave podem ser uma matriz de strings ou uma string separada por vírgulas ou ponto e vírgula. Manter esse formato explícito facilita o diagnóstico de falhas antes que os valores cheguem à etapa de gravação do PDF.
Isso também separa o transporte de entrada dos dados descritivos, permitindo que os mesmos metadados normalizados sejam registrados, revisados, comparados ou enviados a outra capacidade sem nova extração.
Entenda exatamente como a normalização funciona
A normalização de texto é propositalmente conservadora. Os espaços no início e no fim são removidos, e qualquer sequência interna de espaços, tabulações ou quebras de linha vira um único espaço comum. Maiúsculas e minúsculas, pontuação, acentos e redação significativa permanecem inalterados.
Se um autor ou assunto opcional ficar vazio depois do corte, o campo será omitido da saída em vez de retornar nulo ou um marcador vazio. As palavras-chave recebem o mesmo tratamento de espaços. Entradas vazias são descartadas e duplicatas são comparadas sem diferenciar maiúsculas de minúsculas, portanto “Relatório Anual” e “relatório anual” geram uma só palavra-chave, preservando a grafia da primeira ocorrência.
A ordem também segue a primeira ocorrência útil, mantendo resultados previsíveis para testes e caches posteriores. O título obedece às mesmas regras, mas não pode desaparecer: valor ausente, não textual ou composto somente por espaços retorna um erro de entrada inválida.
Use o resultado normalizado em um fluxo documental seguro
A resposta devolve a representação PDF validada com um objeto de metadados que contém o título normalizado obrigatório e apenas os campos opcionais que tenham conteúdo útil. Esta é uma etapa de preparação e validação, não um editor binário de PDF. Um gravador posterior pode usar a resposta, definir os campos correspondentes de informações PDF ou XMP e aplicar regras próprias de assinatura, criptografia, retenção e serialização de bytes.
Essa divisão ajuda quando os metadados vêm de formulários, planilhas, sistemas de conteúdo ou exportações automáticas: rejeite cedo os registros malformados, revise os valores limpos separadamente e só execute o processamento documental caro para registros aprovados. Também é útil em migrações em massa, nas quais espaços inconsistentes e palavras-chave repetidas geram filtros de busca ruidosos em milhares de documentos. Como esta capacidade não solicita a rede nem armazena estado, ela funciona de forma consistente em navegador e servidor, produzindo o mesmo contrato normalizado em ambos.
Casos de uso
Validar formulários editoriais
Verifique títulos fornecidos por editores e normalize campos descritivos opcionais antes que um trabalho grave o PDF final.
Limpar migrações de acervos
Remova inconsistências de espaços e palavras-chave duplicadas ao preparar registros antigos para um novo acervo.
Proteger a geração automática de PDFs
Interrompa relatórios sem título antes do início de uma etapa cara de renderização ou gravação de metadados.
Perguntas frequentes
Esta capacidade modifica os bytes do PDF?
Não. Ela valida a representação PDF e devolve metadados normalizados para um gravador de PDF posterior.
Quais campos de metadados são compatíveis?
Título, autor, assunto e palavras-chave. O título é obrigatório; os demais campos são opcionais.
As palavras-chave podem ser enviadas em uma string?
Sim. A string é dividida por vírgulas ou ponto e vírgula. Você também pode fornecer uma matriz de strings.
Como as palavras-chave duplicadas são tratadas?
As duplicatas são removidas sem diferenciar maiúsculas após normalizar espaços, preservando a primeira grafia e a ordem.
O que acontece se o título estiver vazio?
O registro é recusado. O título é obrigatório porque um título em branco não serve para identificar o arquivo em buscas, acervos ou abas do navegador, e um título só com espaços também conta como vazio.
Ferramentas relacionadas
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/set-metadata \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf","metadata":{"title":"Quarterly Report","author":"Ada Lovelace","subject":"Operations","keywords":["finance","quarterly report"]}}'const res = await fetch("https://api.kit.forhosting.com/pdf/set-metadata", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf",
"metadata": {
"title": "Quarterly Report",
"author": "Ada Lovelace",
"subject": "Operations",
"keywords": [
"finance",
"quarterly report"
]
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/set-metadata",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf",
"metadata": {
"title": "Quarterly Report",
"author": "Ada Lovelace",
"subject": "Operations",
"keywords": [
"finance",
"quarterly report"
]
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/set-metadata", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf","metadata":{"title":"Quarterly Report","author":"Ada Lovelace","subject":"Operations","keywords":["finance","quarterly report"]}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf","metadata":{"title":"Quarterly Report","author":"Ada Lovelace","subject":"Operations","keywords":["finance","quarterly report"]}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/set-metadata", 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
{
"pdf": "https://ejemplo.com/documento.pdf",
"metadata": {
"title": "Quarterly Report",
"author": "Ada Lovelace",
"subject": "Operations",
"keywords": [
"finance",
"quarterly report"
]
}
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.set_metadata",
"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_mb | 25 |
max_pages | 200 |
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. |
Notas técnicas
Prepare um PDF válido e um objeto de metadados
Envie o PDF em um dos formatos compatíveis: um URI de dados PDF em base64, uma string bruta iniciada pela assinatura PDF, uma URL HTTPS cujo caminho identifique um PDF ou uma referência de upload do kit.
Entenda exatamente como a normalização funciona
Nenhum relógio, valor aleatório, serviço externo ou estado específico do ambiente participa dessas decisões; assim, entradas JSON idênticas sempre produzem saídas idênticas.
Use o resultado normalizado em um fluxo documental seguro
As chamadas custam US$ 0,002 por item, portanto o custo cresce de modo previsível com o número de registros validados.
Perguntas técnicas
O que acontece quando o título contém somente espaços?
A solicitação falha com um erro invalid_input, pois a normalização deixaria o título vazio.
Quanto custa uma solicitação?
Cada item validado custa US$ 0,002, sem sobretaxa de rede ou modelo.