Extraia a primeira e a última página de um PDF
Informe que um PDF tem 12 páginas e receba as páginas 1 e 12, nessa ordem, prontas para formar um arquivo de duas páginas. Serve para manter a capa e a folha de assinaturas de relatórios longos sem calcular a última página. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Quantidade de páginas
- 12
- Contagem de páginas
- 2
- Quantidade de páginas de origem
- 12
- Páginas extraídas
- 1, 12
- Tipo de conteúdo
- application/pdf
O extrator da primeira e da última página de PDF transforma o total conhecido de páginas em uma instrução de extração exata e determinística. Informe esse total para identificar a página 1 e a página final, retornando um manifesto de PDF com duas páginas, nome de arquivo estável e tipo de mídia. O documento precisa ter pelo menos duas páginas, pois um arquivo de página única não possui dois limites distintos. O resultado é útil quando outra etapa já conhece o total e precisa de uma seleção inequívoca para uma operação posterior.
Mantenha as duas páginas que delimitam o documento
PDFs longos costumam concentrar informações importantes em extremos opostos. A primeira página pode trazer capa, título, identificação da conta, período do relatório ou referência de envio; a última pode conter assinaturas, aprovações, totais, anexos ou protocolos. Esta capacidade representa a operação comum de preservar as duas páginas de limite sem exigir que você calcule separadamente o número final.
Ao informar o total, o resultado identifica a página de origem 1 e a página cujo número corresponde a esse total. O manifesto sempre descreve um PDF de duas páginas na ordem original: primeiro a inicial e depois a final. Ele também fornece o tipo de mídia PDF e um nome previsível para download, facilitando o envio a um fluxo que produza arquivos.
O documento original não é modificado. Como a seleção depende apenas da posição, o conteúdo das páginas escolhidas não é inspecionado, classificado, resumido nem reinterpretado.
Entenda a validação e a numeração das páginas
A numeração começa em um, como nas ferramentas comuns de PDF: a página inicial é 1, e não 0. Frações, textos numéricos, valores ausentes, listas e objetos são recusados em vez de convertidos silenciosamente. Essa regra impede que uma solicitação pareça válida quando os metadados de origem estão incorretos.
Um PDF de uma página também é recusado, pois sua primeira e última páginas são a mesma, enquanto esta capacidade promete dois limites distintos. Em um documento de 2 páginas, a seleção é 1 e 2; em um de 300, é 1 e 300. A saída informa o total original e o novo total de 2, evitando que o código seguinte tenha de adivinhar qual número descreve cada documento.
Os números das páginas selecionadas também aparecem explicitamente para que registros, interfaces e etapas posteriores expliquem exatamente o que foi solicitado.
Use o manifesto com segurança em um fluxo automatizado
Esta capacidade é determinística e limitada por intenção. Ela não acessa a rede, não lê segredos, não armazena documentos e não usa horário atual nem valor aleatório. Assim, o mesmo total válido sempre produz o mesmo manifesto.
Separar a seleção da transferência é útil em ferramentas de navegador, filas e sistemas de auditoria nos quais o acesso ao arquivo e as regras operam em etapas diferentes. Confirme que o total pertence ao mesmo PDF recebido pela etapa de cópia; uma contagem desatualizada poderia indicar uma página além do fim de uma versão nova. A resposta nunca altera a origem; defina separadamente a retenção do arquivo resultante.
Casos de uso
Prepare a capa e a página de assinaturas
Selecione a capa inicial e a página final de assinaturas de um contrato para criar um arquivo compacto de revisão.
Arquive os limites de um relatório
Registre a página de título e a certificação final de um relatório longo sem calcular a última posição no código.
Monte um fluxo de processamento de PDF
Transforme o total de páginas em uma seleção explícita de duas páginas para um copiador de PDF posterior.
Perguntas frequentes
Por que PDFs de uma página são recusados?
Em um PDF de uma página, a primeira e a última são iguais. Esta capacidade exige duas páginas de origem distintas.
O PDF original é alterado?
Não. A resposta descreve de forma determinística um PDF novo de duas páginas e mantém a origem intacta.
Posso enviar o total como texto?
Textos numéricos e frações são recusados para evitar ambiguidades.
Para que serve ficar só com a primeira e a última página?
PDFs longos costumam concentrar as informações principais nas pontas. A primeira página costuma trazer a capa, o título, a conta ou o período do relatório, e a última as assinaturas, aprovações, totais ou carimbos de protocolo.
Ele lê o que está escrito nessas páginas?
Não. A escolha se baseia só na posição das páginas, então o conteúdo delas nunca é examinado, classificado nem resumido. A seleção é a mesma, seja qual for o conteúdo.
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/first-last-page-extract \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"page_count":12}'const res = await fetch("https://api.kit.forhosting.com/pdf/first-last-page-extract", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"page_count": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/first-last-page-extract",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"page_count": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/first-last-page-extract", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"page_count":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"page_count":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/first-last-page-extract", 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
{
"page_count": 12
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.first_last_page_extract",
"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
Entenda a validação e a numeração das páginas
O valor `page_count` deve ser um número inteiro finito e ter no mínimo 2.
Use o manifesto com segurança em um fluxo automatizado
Um fluxo típico obtém uma contagem confiável durante a inspeção do PDF, chama esta capacidade para definir os limites e entrega `extracted_pages` ao componente que copia essas páginas dos bytes de origem para um PDF novo. A automação por API custa US$ 0,002 por solicitação, e a lógica pura também pode rodar no navegador.
Perguntas técnicas
Quanto custa a solicitação de API?
Cada solicitação de API custa US$ 0,002. A lógica determinística também pode ser executada no navegador.
A numeração começa em zero ou em um?
Ela começa em um. A primeira página é 1, e a última equivale a `page_count`.