Marca d'água em PDF
Colocar marca d'água em PDF aplica um texto atravessado em todas as páginas — CONFIDENCIAL, RASCUNHO, AMOSTRA ou o nome de quem vai receber a cópia. É o jeito mais direto de marcar a versão do documento e desestimular o repasse indevido. A chamada de API custa US$ 0,002 por documento.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
Um texto, todas as páginas, uma chamada
Você envia o PDF e o texto da marca; o serviço aplica em todas as páginas, com transparência, e devolve o arquivo marcado. Não importa se são 3 páginas ou 200: a operação é uma só e leva segundos. O texto é livre — do clássico CONFIDENCIAL ao "Cópia de avaliação — validade 30 dias" — e o original fica preservado, sem marca.
Marcar a versão evita assinatura errada
Minuta circulando sem identificação é acidente esperando para acontecer: alguém imprime, assina e cria um contrato que não era para existir. Um RASCUNHO atravessado em cada página elimina a ambiguidade — ninguém confunde a versão de discussão com a final. O mesmo vale para AMOSTRA em material de venda e para "Sujeito a alteração" em tabelas de preço: a marca diz, em cada página, qual é o status daquele documento.
Cópia com nome inibe o repasse
Quando cada cópia sai marcada com o nome de quem a recebeu — "Cópia de Ana Paula Ferreira" —, repassar o arquivo deixa de ser anônimo. É dissuasão simples e eficaz para propostas, e-books, relatórios pagos e material de curso. Em lote, o seu sistema gera uma cópia personalizada por destinatário: mesma chamada, texto diferente, custo de US$ 0,002 cada.
Preço no volume
US$ 0,002 por documento marcado: 500 cópias personalizadas custam US$ 1,00. Limites publicados de 25 MB e 200 páginas por arquivo. Sem mensalidade e sem pacote mínimo — o custo aparece apenas quando você gera as cópias, e o preço em dólar americano está publicado nesta página, igual para todo mundo. Marcar cada proposta que sai da empresa custa menos que o clique de enviar o e-mail.
Casos de uso
Proposta comercial confidencial
A TecnoSul Soluções Digitais ME marca CONFIDENCIAL em cada proposta antes de enviar. Se o documento aparecer onde não devia, a marca deixa claro que ele não era público.
E-book com o nome do comprador
Um produtor de curso online entrega cada apostila marcada com nome e e-mail de quem comprou. As cópias que circulam em grupos de pirataria passam a apontar para a origem — e o vazamento despenca.
Minuta que ninguém assina por engano
O jurídico marca "RASCUNHO — NÃO ASSINAR" em toda minuta que sai para discussão. A versão final, limpa, só é gerada depois da aprovação formal.
Material de treinamento interno
O RH distribui apostilas marcadas com "Uso interno" e o nome do colaborador. O material continua circulando fácil por WhatsApp e e-mail — mas com dono identificado em cada página.
Perguntas frequentes
Dá para remover a marca d'água depois?
A marca desestimula e identifica, mas não é criptografia: quem precisa de proteção forte deve combiná-la com senha no arquivo e controle de acesso. Para o objetivo dela — marcar versão e inibir repasse — cumpre bem o papel.
Posso personalizar o texto por destinatário?
Pode — é o uso mais valioso. Em lote, seu sistema faz uma chamada por cópia, trocando o texto: nome, e-mail, CPF, o que fizer sentido.
A marca atrapalha a leitura do documento?
Não: o texto é aplicado com transparência, atravessado na página, visível sem cobrir o conteúdo.
Quanto custa marcar 500 cópias?
500 × US$ 0,002 = US$ 1,00. Preço fixo por documento, em dólar americano, publicado nesta página.
Nome e e-mail na marca e a LGPD?
Os dados enviados são usados exclusivamente para gerar aquele documento e não ficam retidos. O tratamento se limita à finalidade — exatamente o que a LGPD pede.
Qual o limite de arquivo?
25 MB e 200 páginas por documento, limites publicados.
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/watermark-text \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf"}'const res = await fetch("https://api.kit.forhosting.com/pdf/watermark-text", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/watermark-text",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/watermark-text", 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"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/watermark-text", 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"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.watermark_text",
"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. |
413 | input_too_large | A entrada passou do tamanho máximo desta tarefa. Confira os limites publicados. |