Eliminar páginas de un PDF
La API Eliminar Páginas PDF recibe un documento y la lista de páginas que quiere quitar, y devuelve un PDF reconstruido sin exactamente esas páginas y con todo lo demás intacto. Es un solo POST que resuelve lo tedioso: el conteo de páginas, los rangos, la cuenta inversa desde el final y la preservación de la estructura del documento. Úsela cuando un escaneo en blanco, una carátula, una hoja de firmas o un anexo confidencial deba desaparecer antes de que el archivo siga su curso.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
El problema que resuelve
Casi todo flujo documental automatizado termina topándose con un PDF que arrastra páginas que nadie debería ver: una hoja separadora escaneada, una carátula duplicada, una página de aprobación interna o las cláusulas de rigor que inflan una factura. Hacerlo a mano no escala más allá de los primeros archivos, y la mayoría de las librerías le obligan a incrustar un motor pesado de PDF en su servicio y a vigilar su memoria. Este endpoint existe para que quitar páginas sea una sola llamada con precio predecible. Está pensado para quien automatiza flujos de contratos, áreas contables que depuran documentos de proveedores y cualquiera que reciba PDF que no generó.
Cómo se comporta la llamada
Hace POST a /pdf/remove-pages con el documento y las páginas a eliminar, y recibe de inmediato un task_id en lugar de esperar con una conexión abierta. El trabajo corre en nuestra red global y el archivo terminado llega de dos formas: un webhook firmado que registra (lo recomendado, porque su sistema reacciona apenas el resultado está listo) o un enlace firmado válido durante 24 horas. La numeración empieza en uno, puede combinar páginas sueltas y rangos, y los índices negativos cuentan desde el final, así que quitar la última hoja no le obliga a saber cuántas hay.
Lo que permanece intacto
El PDF es el estándar de maquetación fija desde que Adobe lo publicó en 1993 y lo cedió a la ISO en 2008, y esa longevidad explica que los archivos acumulen sobras: pasan por escáneres, combinaciones de correspondencia y exportadores que van pegando sus propias páginas. Cuando eliminamos páginas reconstruimos el documento en vez de vaciar su contenido, por lo que el resultado sí ocupa menos y las páginas borradas no dejan residuo recuperable. Los marcadores y las fuentes embebidas de las páginas que conserva se trasladan, así que cualquier lector ve un PDF bien formado.
Cómo encaja en su automatización
Como la respuesta es un task_id y el resultado llega por webhook, esto se inserta con limpieza entre otros pasos sin bloquear a un worker. Un patrón habitual es: dividir un documento, decidir qué páginas son ruido, llamar a este endpoint y reenviar el archivo recortado al almacenamiento o a la firma electrónica. No hay plan gratuito; el acceso requiere saldo prepago, y una llamada sin saldo responde 402. Esa barrera mantiene la cola rápida y sin abusos. Se factura por página a un precio publicado de $0.002 por solicitud, una tarea fallida nunca se cobra, y las entradas y salidas se eliminan tras la ventana de retención sin usarse jamás para entrenar nada.
Qué puede hacer con ella
Quitar hojas separadoras de escáner
Los flujos de digitalización masiva insertan páginas separadoras en blanco o con código de barras entre documentos. Tras dividir un lote, llame a la API para eliminar esos marcadores y que los archivos guardados tengan solo contenido real.
Ocultar un anexo antes de compartir
Una propuesta en PDF lleva el desglose interno de costos en sus tres últimas páginas. Elimínelas por programa antes de que la versión salga al cliente, sin abrir ningún editor.
Depurar facturas para contabilidad
Las facturas de proveedores suelen venir con páginas de términos y condiciones que rompen la extracción OCR de partidas. Quítelas primero para que su sistema contable ingiera solo la factura.
Eliminar carátulas y hojas de firma
Los contratos firmados regresan con una carta de presentación añadida y una hoja de firmas aparte. Recórtelas para mantener un archivo ordenado y uniforme entre miles de acuerdos.
Preguntas frecuentes
¿Cómo elimino páginas de un PDF con una API?
Haga POST del archivo y una lista de números de página a /pdf/remove-pages. Recibe un task_id y el PDF reconstruido llega por webhook firmado o por un enlace firmado de 24 horas. La numeración empieza en uno y puede mezclar páginas sueltas con rangos.
¿La API para eliminar páginas de un PDF es gratis?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Puedo quitar un rango de páginas en una sola llamada?
Sí. Puede enviar páginas sueltas y rangos juntos en la misma solicitud, así que borrar las páginas 2, 5 y de la 7 a la 12 a la vez es una única llamada y no varias.
¿Cómo elimino la última página sin saber cuántas hay?
Use un índice negativo. Los números negativos cuentan desde el final, así que -1 apunta a la última página sin importar la extensión del documento.
¿Quitar páginas altera el resto del documento?
No. Las páginas que conserva mantienen su contenido, sus fuentes embebidas y sus marcadores. Reconstruimos el archivo en torno a las páginas restantes, así que el resultado es un PDF más liviano y bien formado.
¿Se pueden recuperar del resultado las páginas eliminadas?
No. El documento se reconstruye sin las páginas quitadas en lugar de solo ocultarlas, por lo que en el archivo final no queda ningún dato de ellas.
¿Puedo procesar PDF de forma masiva?
Sí. Cada documento es una solicitud asíncrona que devuelve un task_id, así que puede lanzar muchas en paralelo y dejar que los webhooks reporten cada resultado al terminar, sin mantener conexiones abiertas.
¿Qué pasa con mi archivo después de procesarlo?
Las entradas y salidas se eliminan tras la ventana de retención y nunca se usan para entrenar nada. Los resultados se entregan solo por webhooks firmados o enlaces firmados que caducan en 24 horas.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/pdf/remove-pages \
-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/remove-pages", {
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/remove-pages",
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/remove-pages", 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/remove-pages", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"pdf": "https://ejemplo.com/documento.pdf"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.remove_pages",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 25 |
max_pages | 200 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
413 | input_too_large | El archivo supera el límite de tamaño. |